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