/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy
""" Module defining global singleton classes. This module raises a RuntimeError if an attempt to reload it is made. In that way the identities of the classes defined here are fixed and will remain so even if numpy itself is reloaded. In particular, a function like the following will still work correctly after numpy is reloaded:: def foo(arg=np._NoValue): if arg is np._NoValue: ... That was not the case when the singleton classes were defined in the numpy ``__init__.py`` file. See gh-7844 for a discussion of the reload problem that motivated this module. """ import enum from ._utils import set_module as _set_module __all__ = ['_NoValue', '_CopyMode'] # Disallow reloading this module so as to preserve the identities of the # classes defined here. if '_is_loaded' in globals(): raise RuntimeError('Reloading numpy._globals is not allowed') _is_loaded = True class _NoValueType: """Special keyword value. The instance of this class may be used as the default value assigned to a keyword if no other obvious default (e.g., `None`) is suitable, Common reasons for using this keyword are: - A new keyword is added to a function, and that function forwards its inputs to another function or method which can be defined outside of NumPy. For example, ``np.std(x)`` calls ``x.std``, so when a ``keepdims`` keyword was added that could only be forwarded if the user explicitly specified ``keepdims``; downstream array libraries may not have added the same keyword, so adding ``x.std(..., keepdims=keepdims)`` unconditionally could have broken previously working code. - A keyword is being deprecated, and a deprecation warning must only be emitted when the keyword is used. """ __instance = None def __new__(cls): # ensure that only one instance exists if not cls.__instance: cls.__instance = super().__new__(cls) return cls.__instance def __repr__(self): return "<no value>" _NoValue = _NoValueType() @_set_module("numpy") class _CopyMode(enum.Enum): """ An enumeration for the copy modes supported by numpy.copy() and numpy.array(). The following three modes are supported, - ALWAYS: This means that a deep copy of the input array will always be taken. - IF_NEEDED: This means that a deep copy of the input array will be taken only if necessary. - NEVER: This means that the deep copy will never be taken. If a copy cannot be avoided then a `ValueError` will be raised. Note that the buffer-protocol could in theory do copies. NumPy currently assumes an object exporting the buffer protocol will never do this. """ ALWAYS = True IF_NEEDED = False NEVER = 2 def __bool__(self): # For backwards compatibility if self == _CopyMode.ALWAYS: return True if self == _CopyMode.IF_NEEDED: return False raise ValueError(f"{self} is neither True nor False.")
.
Edit
..
Edit
LICENSE.txt
Edit
__config__.py
Edit
__init__.cython-30.pxd
Edit
__init__.pxd
Edit
__init__.py
Edit
__init__.pyi
Edit
__pycache__
Edit
_distributor_init.py
Edit
_globals.py
Edit
_pyinstaller
Edit
_pytesttester.py
Edit
_pytesttester.pyi
Edit
_typing
Edit
_utils
Edit
_version.py
Edit
array_api
Edit
compat
Edit
conftest.py
Edit
core
Edit
ctypeslib.py
Edit
ctypeslib.pyi
Edit
distutils
Edit
doc
Edit
dtypes.py
Edit
dtypes.pyi
Edit
exceptions.py
Edit
exceptions.pyi
Edit
f2py
Edit
fft
Edit
lib
Edit
linalg
Edit
ma
Edit
matlib.py
Edit
matrixlib
Edit
polynomial
Edit
py.typed
Edit
random
Edit
setup.py
Edit
testing
Edit
tests
Edit
typing
Edit
version.py
Edit