26 lines
		
	
	
		
			793 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			793 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
 |