25 lines
792 B
Python
25 lines
792 B
Python
from numpy._core import multiarray
|
|
|
|
# these must import without warning or error from numpy.core.multiarray to
|
|
# support old pickle files
|
|
for item in ["_reconstruct", "scalar"]:
|
|
globals()[item] = getattr(multiarray, item)
|
|
|
|
# Pybind11 (in versions <= 2.11.1) imports _ARRAY_API from the multiarray
|
|
# submodule as a part of NumPy initialization, therefore it must be importable
|
|
# without a warning.
|
|
_ARRAY_API = multiarray._ARRAY_API
|
|
|
|
def __getattr__(attr_name):
|
|
from numpy._core import multiarray
|
|
from ._utils import _raise_warning
|
|
ret = getattr(multiarray, attr_name, None)
|
|
if ret is None:
|
|
raise AttributeError(
|
|
f"module 'numpy.core.multiarray' has no attribute {attr_name}")
|
|
_raise_warning(attr_name, "multiarray")
|
|
return ret
|
|
|
|
|
|
del multiarray
|