multiarray.py 792 B

123456789101112131415161718192021222324
  1. from numpy._core import multiarray
  2. # these must import without warning or error from numpy.core.multiarray to
  3. # support old pickle files
  4. for item in ["_reconstruct", "scalar"]:
  5. globals()[item] = getattr(multiarray, item)
  6. # Pybind11 (in versions <= 2.11.1) imports _ARRAY_API from the multiarray
  7. # submodule as a part of NumPy initialization, therefore it must be importable
  8. # without a warning.
  9. _ARRAY_API = multiarray._ARRAY_API
  10. def __getattr__(attr_name):
  11. from numpy._core import multiarray
  12. from ._utils import _raise_warning
  13. ret = getattr(multiarray, attr_name, None)
  14. if ret is None:
  15. raise AttributeError(
  16. f"module 'numpy.core.multiarray' has no attribute {attr_name}")
  17. _raise_warning(attr_name, "multiarray")
  18. return ret
  19. del multiarray