numpy 2.4.0__cp313-cp313t-musllinux_1_2_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- numpy/__config__.py +170 -0
- numpy/__config__.pyi +108 -0
- numpy/__init__.cython-30.pxd +1242 -0
- numpy/__init__.pxd +1155 -0
- numpy/__init__.py +942 -0
- numpy/__init__.pyi +6202 -0
- numpy/_array_api_info.py +346 -0
- numpy/_array_api_info.pyi +206 -0
- numpy/_configtool.py +39 -0
- numpy/_configtool.pyi +1 -0
- numpy/_core/__init__.py +201 -0
- numpy/_core/__init__.pyi +666 -0
- numpy/_core/_add_newdocs.py +7151 -0
- numpy/_core/_add_newdocs.pyi +2 -0
- numpy/_core/_add_newdocs_scalars.py +381 -0
- numpy/_core/_add_newdocs_scalars.pyi +16 -0
- numpy/_core/_asarray.py +130 -0
- numpy/_core/_asarray.pyi +43 -0
- numpy/_core/_dtype.py +366 -0
- numpy/_core/_dtype.pyi +56 -0
- numpy/_core/_dtype_ctypes.py +120 -0
- numpy/_core/_dtype_ctypes.pyi +83 -0
- numpy/_core/_exceptions.py +162 -0
- numpy/_core/_exceptions.pyi +54 -0
- numpy/_core/_internal.py +968 -0
- numpy/_core/_internal.pyi +61 -0
- numpy/_core/_methods.py +252 -0
- numpy/_core/_methods.pyi +22 -0
- numpy/_core/_multiarray_tests.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/_core/_multiarray_umath.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/_core/_operand_flag_tests.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/_core/_rational_tests.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/_core/_simd.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/_core/_simd.pyi +35 -0
- numpy/_core/_string_helpers.py +100 -0
- numpy/_core/_string_helpers.pyi +12 -0
- numpy/_core/_struct_ufunc_tests.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/_core/_type_aliases.py +131 -0
- numpy/_core/_type_aliases.pyi +86 -0
- numpy/_core/_ufunc_config.py +515 -0
- numpy/_core/_ufunc_config.pyi +69 -0
- numpy/_core/_umath_tests.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/_core/_umath_tests.pyi +47 -0
- numpy/_core/arrayprint.py +1779 -0
- numpy/_core/arrayprint.pyi +158 -0
- numpy/_core/cversions.py +13 -0
- numpy/_core/defchararray.py +1414 -0
- numpy/_core/defchararray.pyi +1150 -0
- numpy/_core/einsumfunc.py +1650 -0
- numpy/_core/einsumfunc.pyi +184 -0
- numpy/_core/fromnumeric.py +4233 -0
- numpy/_core/fromnumeric.pyi +1735 -0
- numpy/_core/function_base.py +547 -0
- numpy/_core/function_base.pyi +276 -0
- numpy/_core/getlimits.py +462 -0
- numpy/_core/getlimits.pyi +124 -0
- numpy/_core/include/numpy/__multiarray_api.c +376 -0
- numpy/_core/include/numpy/__multiarray_api.h +1628 -0
- numpy/_core/include/numpy/__ufunc_api.c +55 -0
- numpy/_core/include/numpy/__ufunc_api.h +349 -0
- numpy/_core/include/numpy/_neighborhood_iterator_imp.h +90 -0
- numpy/_core/include/numpy/_numpyconfig.h +33 -0
- numpy/_core/include/numpy/_public_dtype_api_table.h +86 -0
- numpy/_core/include/numpy/arrayobject.h +7 -0
- numpy/_core/include/numpy/arrayscalars.h +198 -0
- numpy/_core/include/numpy/dtype_api.h +547 -0
- numpy/_core/include/numpy/halffloat.h +70 -0
- numpy/_core/include/numpy/ndarrayobject.h +304 -0
- numpy/_core/include/numpy/ndarraytypes.h +1982 -0
- numpy/_core/include/numpy/npy_2_compat.h +249 -0
- numpy/_core/include/numpy/npy_2_complexcompat.h +28 -0
- numpy/_core/include/numpy/npy_3kcompat.h +374 -0
- numpy/_core/include/numpy/npy_common.h +989 -0
- numpy/_core/include/numpy/npy_cpu.h +126 -0
- numpy/_core/include/numpy/npy_endian.h +79 -0
- numpy/_core/include/numpy/npy_math.h +602 -0
- numpy/_core/include/numpy/npy_no_deprecated_api.h +20 -0
- numpy/_core/include/numpy/npy_os.h +42 -0
- numpy/_core/include/numpy/numpyconfig.h +185 -0
- numpy/_core/include/numpy/random/LICENSE.txt +21 -0
- numpy/_core/include/numpy/random/bitgen.h +20 -0
- numpy/_core/include/numpy/random/distributions.h +209 -0
- numpy/_core/include/numpy/random/libdivide.h +2079 -0
- numpy/_core/include/numpy/ufuncobject.h +343 -0
- numpy/_core/include/numpy/utils.h +37 -0
- numpy/_core/lib/libnpymath.a +0 -0
- numpy/_core/lib/npy-pkg-config/mlib.ini +12 -0
- numpy/_core/lib/npy-pkg-config/npymath.ini +20 -0
- numpy/_core/lib/pkgconfig/numpy.pc +7 -0
- numpy/_core/memmap.py +363 -0
- numpy/_core/memmap.pyi +3 -0
- numpy/_core/multiarray.py +1740 -0
- numpy/_core/multiarray.pyi +1316 -0
- numpy/_core/numeric.py +2758 -0
- numpy/_core/numeric.pyi +1276 -0
- numpy/_core/numerictypes.py +633 -0
- numpy/_core/numerictypes.pyi +196 -0
- numpy/_core/overrides.py +188 -0
- numpy/_core/overrides.pyi +47 -0
- numpy/_core/printoptions.py +32 -0
- numpy/_core/printoptions.pyi +28 -0
- numpy/_core/records.py +1088 -0
- numpy/_core/records.pyi +340 -0
- numpy/_core/shape_base.py +996 -0
- numpy/_core/shape_base.pyi +182 -0
- numpy/_core/strings.py +1813 -0
- numpy/_core/strings.pyi +536 -0
- numpy/_core/tests/_locales.py +72 -0
- numpy/_core/tests/_natype.py +144 -0
- numpy/_core/tests/data/astype_copy.pkl +0 -0
- numpy/_core/tests/data/generate_umath_validation_data.cpp +170 -0
- numpy/_core/tests/data/recarray_from_file.fits +0 -0
- numpy/_core/tests/data/umath-validation-set-README.txt +15 -0
- numpy/_core/tests/data/umath-validation-set-arccos.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arccosh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arcsin.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arcsinh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arctan.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arctanh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-cbrt.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-cos.csv +1375 -0
- numpy/_core/tests/data/umath-validation-set-cosh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-exp.csv +412 -0
- numpy/_core/tests/data/umath-validation-set-exp2.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-expm1.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-log.csv +271 -0
- numpy/_core/tests/data/umath-validation-set-log10.csv +1629 -0
- numpy/_core/tests/data/umath-validation-set-log1p.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-log2.csv +1629 -0
- numpy/_core/tests/data/umath-validation-set-sin.csv +1370 -0
- numpy/_core/tests/data/umath-validation-set-sinh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-tan.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-tanh.csv +1429 -0
- numpy/_core/tests/examples/cython/checks.pyx +373 -0
- numpy/_core/tests/examples/cython/meson.build +43 -0
- numpy/_core/tests/examples/cython/setup.py +39 -0
- numpy/_core/tests/examples/limited_api/limited_api1.c +17 -0
- numpy/_core/tests/examples/limited_api/limited_api2.pyx +11 -0
- numpy/_core/tests/examples/limited_api/limited_api_latest.c +19 -0
- numpy/_core/tests/examples/limited_api/meson.build +59 -0
- numpy/_core/tests/examples/limited_api/setup.py +24 -0
- numpy/_core/tests/test__exceptions.py +90 -0
- numpy/_core/tests/test_abc.py +54 -0
- numpy/_core/tests/test_api.py +655 -0
- numpy/_core/tests/test_argparse.py +90 -0
- numpy/_core/tests/test_array_api_info.py +113 -0
- numpy/_core/tests/test_array_coercion.py +928 -0
- numpy/_core/tests/test_array_interface.py +222 -0
- numpy/_core/tests/test_arraymethod.py +84 -0
- numpy/_core/tests/test_arrayobject.py +75 -0
- numpy/_core/tests/test_arrayprint.py +1324 -0
- numpy/_core/tests/test_casting_floatingpoint_errors.py +154 -0
- numpy/_core/tests/test_casting_unittests.py +955 -0
- numpy/_core/tests/test_conversion_utils.py +209 -0
- numpy/_core/tests/test_cpu_dispatcher.py +48 -0
- numpy/_core/tests/test_cpu_features.py +450 -0
- numpy/_core/tests/test_custom_dtypes.py +393 -0
- numpy/_core/tests/test_cython.py +352 -0
- numpy/_core/tests/test_datetime.py +2792 -0
- numpy/_core/tests/test_defchararray.py +858 -0
- numpy/_core/tests/test_deprecations.py +460 -0
- numpy/_core/tests/test_dlpack.py +190 -0
- numpy/_core/tests/test_dtype.py +2110 -0
- numpy/_core/tests/test_einsum.py +1351 -0
- numpy/_core/tests/test_errstate.py +131 -0
- numpy/_core/tests/test_extint128.py +217 -0
- numpy/_core/tests/test_finfo.py +86 -0
- numpy/_core/tests/test_function_base.py +504 -0
- numpy/_core/tests/test_getlimits.py +171 -0
- numpy/_core/tests/test_half.py +593 -0
- numpy/_core/tests/test_hashtable.py +36 -0
- numpy/_core/tests/test_indexerrors.py +122 -0
- numpy/_core/tests/test_indexing.py +1692 -0
- numpy/_core/tests/test_item_selection.py +167 -0
- numpy/_core/tests/test_limited_api.py +102 -0
- numpy/_core/tests/test_longdouble.py +370 -0
- numpy/_core/tests/test_mem_overlap.py +933 -0
- numpy/_core/tests/test_mem_policy.py +453 -0
- numpy/_core/tests/test_memmap.py +248 -0
- numpy/_core/tests/test_multiarray.py +11008 -0
- numpy/_core/tests/test_multiprocessing.py +55 -0
- numpy/_core/tests/test_multithreading.py +353 -0
- numpy/_core/tests/test_nditer.py +3533 -0
- numpy/_core/tests/test_nep50_promotions.py +287 -0
- numpy/_core/tests/test_numeric.py +4295 -0
- numpy/_core/tests/test_numerictypes.py +650 -0
- numpy/_core/tests/test_overrides.py +800 -0
- numpy/_core/tests/test_print.py +202 -0
- numpy/_core/tests/test_protocols.py +46 -0
- numpy/_core/tests/test_records.py +544 -0
- numpy/_core/tests/test_regression.py +2677 -0
- numpy/_core/tests/test_scalar_ctors.py +203 -0
- numpy/_core/tests/test_scalar_methods.py +328 -0
- numpy/_core/tests/test_scalarbuffer.py +153 -0
- numpy/_core/tests/test_scalarinherit.py +105 -0
- numpy/_core/tests/test_scalarmath.py +1168 -0
- numpy/_core/tests/test_scalarprint.py +403 -0
- numpy/_core/tests/test_shape_base.py +904 -0
- numpy/_core/tests/test_simd.py +1345 -0
- numpy/_core/tests/test_simd_module.py +105 -0
- numpy/_core/tests/test_stringdtype.py +1855 -0
- numpy/_core/tests/test_strings.py +1515 -0
- numpy/_core/tests/test_ufunc.py +3405 -0
- numpy/_core/tests/test_umath.py +4962 -0
- numpy/_core/tests/test_umath_accuracy.py +132 -0
- numpy/_core/tests/test_umath_complex.py +631 -0
- numpy/_core/tests/test_unicode.py +369 -0
- numpy/_core/umath.py +60 -0
- numpy/_core/umath.pyi +232 -0
- numpy/_distributor_init.py +15 -0
- numpy/_distributor_init.pyi +1 -0
- numpy/_expired_attrs_2_0.py +78 -0
- numpy/_expired_attrs_2_0.pyi +61 -0
- numpy/_globals.py +121 -0
- numpy/_globals.pyi +17 -0
- numpy/_pyinstaller/__init__.py +0 -0
- numpy/_pyinstaller/__init__.pyi +0 -0
- numpy/_pyinstaller/hook-numpy.py +36 -0
- numpy/_pyinstaller/hook-numpy.pyi +6 -0
- numpy/_pyinstaller/tests/__init__.py +16 -0
- numpy/_pyinstaller/tests/pyinstaller-smoke.py +32 -0
- numpy/_pyinstaller/tests/test_pyinstaller.py +35 -0
- numpy/_pytesttester.py +201 -0
- numpy/_pytesttester.pyi +18 -0
- numpy/_typing/__init__.py +173 -0
- numpy/_typing/_add_docstring.py +153 -0
- numpy/_typing/_array_like.py +106 -0
- numpy/_typing/_char_codes.py +213 -0
- numpy/_typing/_dtype_like.py +114 -0
- numpy/_typing/_extended_precision.py +15 -0
- numpy/_typing/_nbit.py +19 -0
- numpy/_typing/_nbit_base.py +94 -0
- numpy/_typing/_nbit_base.pyi +39 -0
- numpy/_typing/_nested_sequence.py +79 -0
- numpy/_typing/_scalars.py +20 -0
- numpy/_typing/_shape.py +8 -0
- numpy/_typing/_ufunc.py +7 -0
- numpy/_typing/_ufunc.pyi +975 -0
- numpy/_utils/__init__.py +95 -0
- numpy/_utils/__init__.pyi +28 -0
- numpy/_utils/_convertions.py +18 -0
- numpy/_utils/_convertions.pyi +4 -0
- numpy/_utils/_inspect.py +192 -0
- numpy/_utils/_inspect.pyi +70 -0
- numpy/_utils/_pep440.py +486 -0
- numpy/_utils/_pep440.pyi +118 -0
- numpy/char/__init__.py +2 -0
- numpy/char/__init__.pyi +111 -0
- numpy/conftest.py +248 -0
- numpy/core/__init__.py +33 -0
- numpy/core/__init__.pyi +0 -0
- numpy/core/_dtype.py +10 -0
- numpy/core/_dtype.pyi +0 -0
- numpy/core/_dtype_ctypes.py +10 -0
- numpy/core/_dtype_ctypes.pyi +0 -0
- numpy/core/_internal.py +27 -0
- numpy/core/_multiarray_umath.py +57 -0
- numpy/core/_utils.py +21 -0
- numpy/core/arrayprint.py +10 -0
- numpy/core/defchararray.py +10 -0
- numpy/core/einsumfunc.py +10 -0
- numpy/core/fromnumeric.py +10 -0
- numpy/core/function_base.py +10 -0
- numpy/core/getlimits.py +10 -0
- numpy/core/multiarray.py +25 -0
- numpy/core/numeric.py +12 -0
- numpy/core/numerictypes.py +10 -0
- numpy/core/overrides.py +10 -0
- numpy/core/overrides.pyi +7 -0
- numpy/core/records.py +10 -0
- numpy/core/shape_base.py +10 -0
- numpy/core/umath.py +10 -0
- numpy/ctypeslib/__init__.py +13 -0
- numpy/ctypeslib/__init__.pyi +15 -0
- numpy/ctypeslib/_ctypeslib.py +603 -0
- numpy/ctypeslib/_ctypeslib.pyi +236 -0
- numpy/doc/ufuncs.py +138 -0
- numpy/dtypes.py +41 -0
- numpy/dtypes.pyi +630 -0
- numpy/exceptions.py +246 -0
- numpy/exceptions.pyi +27 -0
- numpy/f2py/__init__.py +86 -0
- numpy/f2py/__init__.pyi +5 -0
- numpy/f2py/__main__.py +5 -0
- numpy/f2py/__version__.py +1 -0
- numpy/f2py/__version__.pyi +1 -0
- numpy/f2py/_backends/__init__.py +9 -0
- numpy/f2py/_backends/__init__.pyi +5 -0
- numpy/f2py/_backends/_backend.py +44 -0
- numpy/f2py/_backends/_backend.pyi +46 -0
- numpy/f2py/_backends/_distutils.py +76 -0
- numpy/f2py/_backends/_distutils.pyi +13 -0
- numpy/f2py/_backends/_meson.py +244 -0
- numpy/f2py/_backends/_meson.pyi +62 -0
- numpy/f2py/_backends/meson.build.template +58 -0
- numpy/f2py/_isocbind.py +62 -0
- numpy/f2py/_isocbind.pyi +13 -0
- numpy/f2py/_src_pyf.py +247 -0
- numpy/f2py/_src_pyf.pyi +28 -0
- numpy/f2py/auxfuncs.py +1004 -0
- numpy/f2py/auxfuncs.pyi +262 -0
- numpy/f2py/capi_maps.py +811 -0
- numpy/f2py/capi_maps.pyi +33 -0
- numpy/f2py/cb_rules.py +665 -0
- numpy/f2py/cb_rules.pyi +17 -0
- numpy/f2py/cfuncs.py +1563 -0
- numpy/f2py/cfuncs.pyi +31 -0
- numpy/f2py/common_rules.py +143 -0
- numpy/f2py/common_rules.pyi +9 -0
- numpy/f2py/crackfortran.py +3725 -0
- numpy/f2py/crackfortran.pyi +266 -0
- numpy/f2py/diagnose.py +149 -0
- numpy/f2py/diagnose.pyi +1 -0
- numpy/f2py/f2py2e.py +788 -0
- numpy/f2py/f2py2e.pyi +74 -0
- numpy/f2py/f90mod_rules.py +269 -0
- numpy/f2py/f90mod_rules.pyi +16 -0
- numpy/f2py/func2subr.py +329 -0
- numpy/f2py/func2subr.pyi +7 -0
- numpy/f2py/rules.py +1629 -0
- numpy/f2py/rules.pyi +41 -0
- numpy/f2py/setup.cfg +3 -0
- numpy/f2py/src/fortranobject.c +1436 -0
- numpy/f2py/src/fortranobject.h +173 -0
- numpy/f2py/symbolic.py +1518 -0
- numpy/f2py/symbolic.pyi +219 -0
- numpy/f2py/tests/__init__.py +16 -0
- numpy/f2py/tests/src/abstract_interface/foo.f90 +34 -0
- numpy/f2py/tests/src/abstract_interface/gh18403_mod.f90 +6 -0
- numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +235 -0
- numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +1 -0
- numpy/f2py/tests/src/assumed_shape/foo_free.f90 +34 -0
- numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +41 -0
- numpy/f2py/tests/src/assumed_shape/foo_use.f90 +19 -0
- numpy/f2py/tests/src/assumed_shape/precision.f90 +4 -0
- numpy/f2py/tests/src/block_docstring/foo.f +6 -0
- numpy/f2py/tests/src/callback/foo.f +62 -0
- numpy/f2py/tests/src/callback/gh17797.f90 +7 -0
- numpy/f2py/tests/src/callback/gh18335.f90 +17 -0
- numpy/f2py/tests/src/callback/gh25211.f +10 -0
- numpy/f2py/tests/src/callback/gh25211.pyf +18 -0
- numpy/f2py/tests/src/callback/gh26681.f90 +18 -0
- numpy/f2py/tests/src/cli/gh_22819.pyf +6 -0
- numpy/f2py/tests/src/cli/hi77.f +3 -0
- numpy/f2py/tests/src/cli/hiworld.f90 +3 -0
- numpy/f2py/tests/src/common/block.f +11 -0
- numpy/f2py/tests/src/common/gh19161.f90 +10 -0
- numpy/f2py/tests/src/crackfortran/accesstype.f90 +13 -0
- numpy/f2py/tests/src/crackfortran/common_with_division.f +17 -0
- numpy/f2py/tests/src/crackfortran/data_common.f +8 -0
- numpy/f2py/tests/src/crackfortran/data_multiplier.f +5 -0
- numpy/f2py/tests/src/crackfortran/data_stmts.f90 +20 -0
- numpy/f2py/tests/src/crackfortran/data_with_comments.f +8 -0
- numpy/f2py/tests/src/crackfortran/foo_deps.f90 +6 -0
- numpy/f2py/tests/src/crackfortran/gh15035.f +16 -0
- numpy/f2py/tests/src/crackfortran/gh17859.f +12 -0
- numpy/f2py/tests/src/crackfortran/gh22648.pyf +7 -0
- numpy/f2py/tests/src/crackfortran/gh23533.f +5 -0
- numpy/f2py/tests/src/crackfortran/gh23598.f90 +4 -0
- numpy/f2py/tests/src/crackfortran/gh23598Warn.f90 +11 -0
- numpy/f2py/tests/src/crackfortran/gh23879.f90 +20 -0
- numpy/f2py/tests/src/crackfortran/gh27697.f90 +12 -0
- numpy/f2py/tests/src/crackfortran/gh2848.f90 +13 -0
- numpy/f2py/tests/src/crackfortran/operators.f90 +49 -0
- numpy/f2py/tests/src/crackfortran/privatemod.f90 +11 -0
- numpy/f2py/tests/src/crackfortran/publicmod.f90 +10 -0
- numpy/f2py/tests/src/crackfortran/pubprivmod.f90 +10 -0
- numpy/f2py/tests/src/crackfortran/unicode_comment.f90 +4 -0
- numpy/f2py/tests/src/f2cmap/.f2py_f2cmap +1 -0
- numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 +9 -0
- numpy/f2py/tests/src/isocintrin/isoCtests.f90 +34 -0
- numpy/f2py/tests/src/kind/foo.f90 +20 -0
- numpy/f2py/tests/src/mixed/foo.f +5 -0
- numpy/f2py/tests/src/mixed/foo_fixed.f90 +8 -0
- numpy/f2py/tests/src/mixed/foo_free.f90 +8 -0
- numpy/f2py/tests/src/modules/gh25337/data.f90 +8 -0
- numpy/f2py/tests/src/modules/gh25337/use_data.f90 +6 -0
- numpy/f2py/tests/src/modules/gh26920/two_mods_with_no_public_entities.f90 +21 -0
- numpy/f2py/tests/src/modules/gh26920/two_mods_with_one_public_routine.f90 +21 -0
- numpy/f2py/tests/src/modules/module_data_docstring.f90 +12 -0
- numpy/f2py/tests/src/modules/use_modules.f90 +20 -0
- numpy/f2py/tests/src/negative_bounds/issue_20853.f90 +7 -0
- numpy/f2py/tests/src/parameter/constant_array.f90 +45 -0
- numpy/f2py/tests/src/parameter/constant_both.f90 +57 -0
- numpy/f2py/tests/src/parameter/constant_compound.f90 +15 -0
- numpy/f2py/tests/src/parameter/constant_integer.f90 +22 -0
- numpy/f2py/tests/src/parameter/constant_non_compound.f90 +23 -0
- numpy/f2py/tests/src/parameter/constant_real.f90 +23 -0
- numpy/f2py/tests/src/quoted_character/foo.f +14 -0
- numpy/f2py/tests/src/regression/AB.inc +1 -0
- numpy/f2py/tests/src/regression/assignOnlyModule.f90 +25 -0
- numpy/f2py/tests/src/regression/datonly.f90 +17 -0
- numpy/f2py/tests/src/regression/f77comments.f +26 -0
- numpy/f2py/tests/src/regression/f77fixedform.f95 +5 -0
- numpy/f2py/tests/src/regression/f90continuation.f90 +9 -0
- numpy/f2py/tests/src/regression/incfile.f90 +5 -0
- numpy/f2py/tests/src/regression/inout.f90 +9 -0
- numpy/f2py/tests/src/regression/lower_f2py_fortran.f90 +5 -0
- numpy/f2py/tests/src/regression/mod_derived_types.f90 +23 -0
- numpy/f2py/tests/src/return_character/foo77.f +45 -0
- numpy/f2py/tests/src/return_character/foo90.f90 +48 -0
- numpy/f2py/tests/src/return_complex/foo77.f +45 -0
- numpy/f2py/tests/src/return_complex/foo90.f90 +48 -0
- numpy/f2py/tests/src/return_integer/foo77.f +56 -0
- numpy/f2py/tests/src/return_integer/foo90.f90 +59 -0
- numpy/f2py/tests/src/return_logical/foo77.f +56 -0
- numpy/f2py/tests/src/return_logical/foo90.f90 +59 -0
- numpy/f2py/tests/src/return_real/foo77.f +45 -0
- numpy/f2py/tests/src/return_real/foo90.f90 +48 -0
- numpy/f2py/tests/src/routines/funcfortranname.f +5 -0
- numpy/f2py/tests/src/routines/funcfortranname.pyf +11 -0
- numpy/f2py/tests/src/routines/subrout.f +4 -0
- numpy/f2py/tests/src/routines/subrout.pyf +10 -0
- numpy/f2py/tests/src/size/foo.f90 +44 -0
- numpy/f2py/tests/src/string/char.f90 +29 -0
- numpy/f2py/tests/src/string/fixed_string.f90 +34 -0
- numpy/f2py/tests/src/string/gh24008.f +8 -0
- numpy/f2py/tests/src/string/gh24662.f90 +7 -0
- numpy/f2py/tests/src/string/gh25286.f90 +14 -0
- numpy/f2py/tests/src/string/gh25286.pyf +12 -0
- numpy/f2py/tests/src/string/gh25286_bc.pyf +12 -0
- numpy/f2py/tests/src/string/scalar_string.f90 +9 -0
- numpy/f2py/tests/src/string/string.f +12 -0
- numpy/f2py/tests/src/value_attrspec/gh21665.f90 +9 -0
- numpy/f2py/tests/test_abstract_interface.py +26 -0
- numpy/f2py/tests/test_array_from_pyobj.py +678 -0
- numpy/f2py/tests/test_assumed_shape.py +50 -0
- numpy/f2py/tests/test_block_docstring.py +20 -0
- numpy/f2py/tests/test_callback.py +263 -0
- numpy/f2py/tests/test_character.py +641 -0
- numpy/f2py/tests/test_common.py +23 -0
- numpy/f2py/tests/test_crackfortran.py +421 -0
- numpy/f2py/tests/test_data.py +71 -0
- numpy/f2py/tests/test_docs.py +66 -0
- numpy/f2py/tests/test_f2cmap.py +17 -0
- numpy/f2py/tests/test_f2py2e.py +983 -0
- numpy/f2py/tests/test_isoc.py +56 -0
- numpy/f2py/tests/test_kind.py +52 -0
- numpy/f2py/tests/test_mixed.py +35 -0
- numpy/f2py/tests/test_modules.py +83 -0
- numpy/f2py/tests/test_parameter.py +129 -0
- numpy/f2py/tests/test_pyf_src.py +43 -0
- numpy/f2py/tests/test_quoted_character.py +18 -0
- numpy/f2py/tests/test_regression.py +187 -0
- numpy/f2py/tests/test_return_character.py +48 -0
- numpy/f2py/tests/test_return_complex.py +67 -0
- numpy/f2py/tests/test_return_integer.py +55 -0
- numpy/f2py/tests/test_return_logical.py +65 -0
- numpy/f2py/tests/test_return_real.py +109 -0
- numpy/f2py/tests/test_routines.py +29 -0
- numpy/f2py/tests/test_semicolon_split.py +75 -0
- numpy/f2py/tests/test_size.py +45 -0
- numpy/f2py/tests/test_string.py +100 -0
- numpy/f2py/tests/test_symbolic.py +500 -0
- numpy/f2py/tests/test_value_attrspec.py +15 -0
- numpy/f2py/tests/util.py +442 -0
- numpy/f2py/use_rules.py +99 -0
- numpy/f2py/use_rules.pyi +9 -0
- numpy/fft/__init__.py +213 -0
- numpy/fft/__init__.pyi +38 -0
- numpy/fft/_helper.py +235 -0
- numpy/fft/_helper.pyi +44 -0
- numpy/fft/_pocketfft.py +1693 -0
- numpy/fft/_pocketfft.pyi +137 -0
- numpy/fft/_pocketfft_umath.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/fft/tests/__init__.py +0 -0
- numpy/fft/tests/test_helper.py +167 -0
- numpy/fft/tests/test_pocketfft.py +589 -0
- numpy/lib/__init__.py +97 -0
- numpy/lib/__init__.pyi +52 -0
- numpy/lib/_array_utils_impl.py +62 -0
- numpy/lib/_array_utils_impl.pyi +10 -0
- numpy/lib/_arraypad_impl.py +926 -0
- numpy/lib/_arraypad_impl.pyi +88 -0
- numpy/lib/_arraysetops_impl.py +1158 -0
- numpy/lib/_arraysetops_impl.pyi +462 -0
- numpy/lib/_arrayterator_impl.py +224 -0
- numpy/lib/_arrayterator_impl.pyi +45 -0
- numpy/lib/_datasource.py +700 -0
- numpy/lib/_datasource.pyi +30 -0
- numpy/lib/_format_impl.py +1036 -0
- numpy/lib/_format_impl.pyi +56 -0
- numpy/lib/_function_base_impl.py +5758 -0
- numpy/lib/_function_base_impl.pyi +2324 -0
- numpy/lib/_histograms_impl.py +1085 -0
- numpy/lib/_histograms_impl.pyi +40 -0
- numpy/lib/_index_tricks_impl.py +1048 -0
- numpy/lib/_index_tricks_impl.pyi +267 -0
- numpy/lib/_iotools.py +900 -0
- numpy/lib/_iotools.pyi +116 -0
- numpy/lib/_nanfunctions_impl.py +2001 -0
- numpy/lib/_nanfunctions_impl.pyi +48 -0
- numpy/lib/_npyio_impl.py +2583 -0
- numpy/lib/_npyio_impl.pyi +299 -0
- numpy/lib/_polynomial_impl.py +1465 -0
- numpy/lib/_polynomial_impl.pyi +338 -0
- numpy/lib/_scimath_impl.py +642 -0
- numpy/lib/_scimath_impl.pyi +93 -0
- numpy/lib/_shape_base_impl.py +1289 -0
- numpy/lib/_shape_base_impl.pyi +236 -0
- numpy/lib/_stride_tricks_impl.py +582 -0
- numpy/lib/_stride_tricks_impl.pyi +73 -0
- numpy/lib/_twodim_base_impl.py +1201 -0
- numpy/lib/_twodim_base_impl.pyi +408 -0
- numpy/lib/_type_check_impl.py +710 -0
- numpy/lib/_type_check_impl.pyi +348 -0
- numpy/lib/_ufunclike_impl.py +199 -0
- numpy/lib/_ufunclike_impl.pyi +60 -0
- numpy/lib/_user_array_impl.py +310 -0
- numpy/lib/_user_array_impl.pyi +226 -0
- numpy/lib/_utils_impl.py +784 -0
- numpy/lib/_utils_impl.pyi +22 -0
- numpy/lib/_version.py +153 -0
- numpy/lib/_version.pyi +17 -0
- numpy/lib/array_utils.py +7 -0
- numpy/lib/array_utils.pyi +6 -0
- numpy/lib/format.py +24 -0
- numpy/lib/format.pyi +24 -0
- numpy/lib/introspect.py +94 -0
- numpy/lib/introspect.pyi +3 -0
- numpy/lib/mixins.py +180 -0
- numpy/lib/mixins.pyi +78 -0
- numpy/lib/npyio.py +1 -0
- numpy/lib/npyio.pyi +5 -0
- numpy/lib/recfunctions.py +1681 -0
- numpy/lib/recfunctions.pyi +444 -0
- numpy/lib/scimath.py +13 -0
- numpy/lib/scimath.pyi +12 -0
- numpy/lib/stride_tricks.py +1 -0
- numpy/lib/stride_tricks.pyi +4 -0
- numpy/lib/tests/__init__.py +0 -0
- numpy/lib/tests/data/py2-np0-objarr.npy +0 -0
- numpy/lib/tests/data/py2-objarr.npy +0 -0
- numpy/lib/tests/data/py2-objarr.npz +0 -0
- numpy/lib/tests/data/py3-objarr.npy +0 -0
- numpy/lib/tests/data/py3-objarr.npz +0 -0
- numpy/lib/tests/data/python3.npy +0 -0
- numpy/lib/tests/data/win64python2.npy +0 -0
- numpy/lib/tests/test__datasource.py +328 -0
- numpy/lib/tests/test__iotools.py +358 -0
- numpy/lib/tests/test__version.py +64 -0
- numpy/lib/tests/test_array_utils.py +32 -0
- numpy/lib/tests/test_arraypad.py +1427 -0
- numpy/lib/tests/test_arraysetops.py +1302 -0
- numpy/lib/tests/test_arrayterator.py +45 -0
- numpy/lib/tests/test_format.py +1054 -0
- numpy/lib/tests/test_function_base.py +4705 -0
- numpy/lib/tests/test_histograms.py +855 -0
- numpy/lib/tests/test_index_tricks.py +693 -0
- numpy/lib/tests/test_io.py +2857 -0
- numpy/lib/tests/test_loadtxt.py +1099 -0
- numpy/lib/tests/test_mixins.py +215 -0
- numpy/lib/tests/test_nanfunctions.py +1438 -0
- numpy/lib/tests/test_packbits.py +376 -0
- numpy/lib/tests/test_polynomial.py +325 -0
- numpy/lib/tests/test_recfunctions.py +1042 -0
- numpy/lib/tests/test_regression.py +231 -0
- numpy/lib/tests/test_shape_base.py +813 -0
- numpy/lib/tests/test_stride_tricks.py +655 -0
- numpy/lib/tests/test_twodim_base.py +559 -0
- numpy/lib/tests/test_type_check.py +473 -0
- numpy/lib/tests/test_ufunclike.py +97 -0
- numpy/lib/tests/test_utils.py +80 -0
- numpy/lib/user_array.py +1 -0
- numpy/lib/user_array.pyi +1 -0
- numpy/linalg/__init__.py +95 -0
- numpy/linalg/__init__.pyi +71 -0
- numpy/linalg/_linalg.py +3657 -0
- numpy/linalg/_linalg.pyi +548 -0
- numpy/linalg/_umath_linalg.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/linalg/_umath_linalg.pyi +60 -0
- numpy/linalg/lapack_lite.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/linalg/lapack_lite.pyi +143 -0
- numpy/linalg/tests/__init__.py +0 -0
- numpy/linalg/tests/test_deprecations.py +21 -0
- numpy/linalg/tests/test_linalg.py +2442 -0
- numpy/linalg/tests/test_regression.py +182 -0
- numpy/ma/API_CHANGES.txt +135 -0
- numpy/ma/LICENSE +24 -0
- numpy/ma/README.rst +236 -0
- numpy/ma/__init__.py +53 -0
- numpy/ma/__init__.pyi +458 -0
- numpy/ma/core.py +8929 -0
- numpy/ma/core.pyi +3720 -0
- numpy/ma/extras.py +2266 -0
- numpy/ma/extras.pyi +297 -0
- numpy/ma/mrecords.py +762 -0
- numpy/ma/mrecords.pyi +96 -0
- numpy/ma/tests/__init__.py +0 -0
- numpy/ma/tests/test_arrayobject.py +40 -0
- numpy/ma/tests/test_core.py +6008 -0
- numpy/ma/tests/test_deprecations.py +65 -0
- numpy/ma/tests/test_extras.py +1945 -0
- numpy/ma/tests/test_mrecords.py +495 -0
- numpy/ma/tests/test_old_ma.py +939 -0
- numpy/ma/tests/test_regression.py +83 -0
- numpy/ma/tests/test_subclassing.py +469 -0
- numpy/ma/testutils.py +294 -0
- numpy/ma/testutils.pyi +69 -0
- numpy/matlib.py +380 -0
- numpy/matlib.pyi +580 -0
- numpy/matrixlib/__init__.py +12 -0
- numpy/matrixlib/__init__.pyi +3 -0
- numpy/matrixlib/defmatrix.py +1119 -0
- numpy/matrixlib/defmatrix.pyi +218 -0
- numpy/matrixlib/tests/__init__.py +0 -0
- numpy/matrixlib/tests/test_defmatrix.py +455 -0
- numpy/matrixlib/tests/test_interaction.py +360 -0
- numpy/matrixlib/tests/test_masked_matrix.py +240 -0
- numpy/matrixlib/tests/test_matrix_linalg.py +110 -0
- numpy/matrixlib/tests/test_multiarray.py +17 -0
- numpy/matrixlib/tests/test_numeric.py +18 -0
- numpy/matrixlib/tests/test_regression.py +31 -0
- numpy/polynomial/__init__.py +187 -0
- numpy/polynomial/__init__.pyi +31 -0
- numpy/polynomial/_polybase.py +1191 -0
- numpy/polynomial/_polybase.pyi +262 -0
- numpy/polynomial/_polytypes.pyi +501 -0
- numpy/polynomial/chebyshev.py +2001 -0
- numpy/polynomial/chebyshev.pyi +180 -0
- numpy/polynomial/hermite.py +1738 -0
- numpy/polynomial/hermite.pyi +106 -0
- numpy/polynomial/hermite_e.py +1640 -0
- numpy/polynomial/hermite_e.pyi +106 -0
- numpy/polynomial/laguerre.py +1673 -0
- numpy/polynomial/laguerre.pyi +100 -0
- numpy/polynomial/legendre.py +1603 -0
- numpy/polynomial/legendre.pyi +100 -0
- numpy/polynomial/polynomial.py +1625 -0
- numpy/polynomial/polynomial.pyi +109 -0
- numpy/polynomial/polyutils.py +759 -0
- numpy/polynomial/polyutils.pyi +307 -0
- numpy/polynomial/tests/__init__.py +0 -0
- numpy/polynomial/tests/test_chebyshev.py +618 -0
- numpy/polynomial/tests/test_classes.py +613 -0
- numpy/polynomial/tests/test_hermite.py +553 -0
- numpy/polynomial/tests/test_hermite_e.py +554 -0
- numpy/polynomial/tests/test_laguerre.py +535 -0
- numpy/polynomial/tests/test_legendre.py +566 -0
- numpy/polynomial/tests/test_polynomial.py +691 -0
- numpy/polynomial/tests/test_polyutils.py +123 -0
- numpy/polynomial/tests/test_printing.py +557 -0
- numpy/polynomial/tests/test_symbol.py +217 -0
- numpy/py.typed +0 -0
- numpy/random/LICENSE.md +71 -0
- numpy/random/__init__.pxd +14 -0
- numpy/random/__init__.py +213 -0
- numpy/random/__init__.pyi +124 -0
- numpy/random/_bounded_integers.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/random/_bounded_integers.pxd +29 -0
- numpy/random/_bounded_integers.pyi +1 -0
- numpy/random/_common.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/random/_common.pxd +107 -0
- numpy/random/_common.pyi +16 -0
- numpy/random/_examples/cffi/extending.py +44 -0
- numpy/random/_examples/cffi/parse.py +53 -0
- numpy/random/_examples/cython/extending.pyx +77 -0
- numpy/random/_examples/cython/extending_distributions.pyx +117 -0
- numpy/random/_examples/cython/meson.build +53 -0
- numpy/random/_examples/numba/extending.py +86 -0
- numpy/random/_examples/numba/extending_distributions.py +67 -0
- numpy/random/_generator.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/random/_generator.pyi +862 -0
- numpy/random/_mt19937.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/random/_mt19937.pyi +27 -0
- numpy/random/_pcg64.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/random/_pcg64.pyi +41 -0
- numpy/random/_philox.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/random/_philox.pyi +36 -0
- numpy/random/_pickle.py +88 -0
- numpy/random/_pickle.pyi +43 -0
- numpy/random/_sfc64.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/random/_sfc64.pyi +25 -0
- numpy/random/bit_generator.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/random/bit_generator.pxd +35 -0
- numpy/random/bit_generator.pyi +123 -0
- numpy/random/c_distributions.pxd +119 -0
- numpy/random/lib/libnpyrandom.a +0 -0
- numpy/random/mtrand.cpython-313t-aarch64-linux-musl.so +0 -0
- numpy/random/mtrand.pyi +759 -0
- numpy/random/tests/__init__.py +0 -0
- numpy/random/tests/data/__init__.py +0 -0
- numpy/random/tests/data/generator_pcg64_np121.pkl.gz +0 -0
- numpy/random/tests/data/generator_pcg64_np126.pkl.gz +0 -0
- numpy/random/tests/data/mt19937-testset-1.csv +1001 -0
- numpy/random/tests/data/mt19937-testset-2.csv +1001 -0
- numpy/random/tests/data/pcg64-testset-1.csv +1001 -0
- numpy/random/tests/data/pcg64-testset-2.csv +1001 -0
- numpy/random/tests/data/pcg64dxsm-testset-1.csv +1001 -0
- numpy/random/tests/data/pcg64dxsm-testset-2.csv +1001 -0
- numpy/random/tests/data/philox-testset-1.csv +1001 -0
- numpy/random/tests/data/philox-testset-2.csv +1001 -0
- numpy/random/tests/data/sfc64-testset-1.csv +1001 -0
- numpy/random/tests/data/sfc64-testset-2.csv +1001 -0
- numpy/random/tests/data/sfc64_np126.pkl.gz +0 -0
- numpy/random/tests/test_direct.py +595 -0
- numpy/random/tests/test_extending.py +131 -0
- numpy/random/tests/test_generator_mt19937.py +2825 -0
- numpy/random/tests/test_generator_mt19937_regressions.py +221 -0
- numpy/random/tests/test_random.py +1724 -0
- numpy/random/tests/test_randomstate.py +2099 -0
- numpy/random/tests/test_randomstate_regression.py +213 -0
- numpy/random/tests/test_regression.py +175 -0
- numpy/random/tests/test_seed_sequence.py +79 -0
- numpy/random/tests/test_smoke.py +882 -0
- numpy/rec/__init__.py +2 -0
- numpy/rec/__init__.pyi +23 -0
- numpy/strings/__init__.py +2 -0
- numpy/strings/__init__.pyi +97 -0
- numpy/testing/__init__.py +22 -0
- numpy/testing/__init__.pyi +107 -0
- numpy/testing/_private/__init__.py +0 -0
- numpy/testing/_private/__init__.pyi +0 -0
- numpy/testing/_private/extbuild.py +250 -0
- numpy/testing/_private/extbuild.pyi +25 -0
- numpy/testing/_private/utils.py +2830 -0
- numpy/testing/_private/utils.pyi +505 -0
- numpy/testing/overrides.py +84 -0
- numpy/testing/overrides.pyi +10 -0
- numpy/testing/print_coercion_tables.py +207 -0
- numpy/testing/print_coercion_tables.pyi +26 -0
- numpy/testing/tests/__init__.py +0 -0
- numpy/testing/tests/test_utils.py +2123 -0
- numpy/tests/__init__.py +0 -0
- numpy/tests/test__all__.py +10 -0
- numpy/tests/test_configtool.py +51 -0
- numpy/tests/test_ctypeslib.py +383 -0
- numpy/tests/test_lazyloading.py +42 -0
- numpy/tests/test_matlib.py +59 -0
- numpy/tests/test_numpy_config.py +47 -0
- numpy/tests/test_numpy_version.py +54 -0
- numpy/tests/test_public_api.py +804 -0
- numpy/tests/test_reloading.py +76 -0
- numpy/tests/test_scripts.py +48 -0
- numpy/tests/test_warnings.py +79 -0
- numpy/typing/__init__.py +233 -0
- numpy/typing/__init__.pyi +3 -0
- numpy/typing/mypy_plugin.py +200 -0
- numpy/typing/tests/__init__.py +0 -0
- numpy/typing/tests/data/fail/arithmetic.pyi +126 -0
- numpy/typing/tests/data/fail/array_constructors.pyi +34 -0
- numpy/typing/tests/data/fail/array_like.pyi +15 -0
- numpy/typing/tests/data/fail/array_pad.pyi +6 -0
- numpy/typing/tests/data/fail/arrayprint.pyi +15 -0
- numpy/typing/tests/data/fail/arrayterator.pyi +14 -0
- numpy/typing/tests/data/fail/bitwise_ops.pyi +17 -0
- numpy/typing/tests/data/fail/char.pyi +63 -0
- numpy/typing/tests/data/fail/chararray.pyi +61 -0
- numpy/typing/tests/data/fail/comparisons.pyi +27 -0
- numpy/typing/tests/data/fail/constants.pyi +3 -0
- numpy/typing/tests/data/fail/datasource.pyi +16 -0
- numpy/typing/tests/data/fail/dtype.pyi +17 -0
- numpy/typing/tests/data/fail/einsumfunc.pyi +12 -0
- numpy/typing/tests/data/fail/flatiter.pyi +38 -0
- numpy/typing/tests/data/fail/fromnumeric.pyi +148 -0
- numpy/typing/tests/data/fail/histograms.pyi +12 -0
- numpy/typing/tests/data/fail/index_tricks.pyi +14 -0
- numpy/typing/tests/data/fail/lib_function_base.pyi +60 -0
- numpy/typing/tests/data/fail/lib_polynomial.pyi +29 -0
- numpy/typing/tests/data/fail/lib_utils.pyi +3 -0
- numpy/typing/tests/data/fail/lib_version.pyi +6 -0
- numpy/typing/tests/data/fail/linalg.pyi +52 -0
- numpy/typing/tests/data/fail/ma.pyi +155 -0
- numpy/typing/tests/data/fail/memmap.pyi +5 -0
- numpy/typing/tests/data/fail/modules.pyi +17 -0
- numpy/typing/tests/data/fail/multiarray.pyi +52 -0
- numpy/typing/tests/data/fail/ndarray.pyi +11 -0
- numpy/typing/tests/data/fail/ndarray_misc.pyi +49 -0
- numpy/typing/tests/data/fail/nditer.pyi +8 -0
- numpy/typing/tests/data/fail/nested_sequence.pyi +17 -0
- numpy/typing/tests/data/fail/npyio.pyi +24 -0
- numpy/typing/tests/data/fail/numerictypes.pyi +5 -0
- numpy/typing/tests/data/fail/random.pyi +62 -0
- numpy/typing/tests/data/fail/rec.pyi +17 -0
- numpy/typing/tests/data/fail/scalars.pyi +86 -0
- numpy/typing/tests/data/fail/shape.pyi +7 -0
- numpy/typing/tests/data/fail/shape_base.pyi +8 -0
- numpy/typing/tests/data/fail/stride_tricks.pyi +9 -0
- numpy/typing/tests/data/fail/strings.pyi +52 -0
- numpy/typing/tests/data/fail/testing.pyi +28 -0
- numpy/typing/tests/data/fail/twodim_base.pyi +39 -0
- numpy/typing/tests/data/fail/type_check.pyi +12 -0
- numpy/typing/tests/data/fail/ufunc_config.pyi +21 -0
- numpy/typing/tests/data/fail/ufunclike.pyi +21 -0
- numpy/typing/tests/data/fail/ufuncs.pyi +17 -0
- numpy/typing/tests/data/fail/warnings_and_errors.pyi +5 -0
- numpy/typing/tests/data/misc/extended_precision.pyi +9 -0
- numpy/typing/tests/data/mypy.ini +8 -0
- numpy/typing/tests/data/pass/arithmetic.py +614 -0
- numpy/typing/tests/data/pass/array_constructors.py +138 -0
- numpy/typing/tests/data/pass/array_like.py +43 -0
- numpy/typing/tests/data/pass/arrayprint.py +37 -0
- numpy/typing/tests/data/pass/arrayterator.py +28 -0
- numpy/typing/tests/data/pass/bitwise_ops.py +131 -0
- numpy/typing/tests/data/pass/comparisons.py +316 -0
- numpy/typing/tests/data/pass/dtype.py +57 -0
- numpy/typing/tests/data/pass/einsumfunc.py +36 -0
- numpy/typing/tests/data/pass/flatiter.py +26 -0
- numpy/typing/tests/data/pass/fromnumeric.py +272 -0
- numpy/typing/tests/data/pass/index_tricks.py +62 -0
- numpy/typing/tests/data/pass/lib_user_array.py +22 -0
- numpy/typing/tests/data/pass/lib_utils.py +19 -0
- numpy/typing/tests/data/pass/lib_version.py +18 -0
- numpy/typing/tests/data/pass/literal.py +52 -0
- numpy/typing/tests/data/pass/ma.py +199 -0
- numpy/typing/tests/data/pass/mod.py +149 -0
- numpy/typing/tests/data/pass/modules.py +45 -0
- numpy/typing/tests/data/pass/multiarray.py +77 -0
- numpy/typing/tests/data/pass/ndarray_conversion.py +81 -0
- numpy/typing/tests/data/pass/ndarray_misc.py +199 -0
- numpy/typing/tests/data/pass/ndarray_shape_manipulation.py +47 -0
- numpy/typing/tests/data/pass/nditer.py +4 -0
- numpy/typing/tests/data/pass/numeric.py +90 -0
- numpy/typing/tests/data/pass/numerictypes.py +17 -0
- numpy/typing/tests/data/pass/random.py +1498 -0
- numpy/typing/tests/data/pass/recfunctions.py +164 -0
- numpy/typing/tests/data/pass/scalars.py +249 -0
- numpy/typing/tests/data/pass/shape.py +19 -0
- numpy/typing/tests/data/pass/simple.py +170 -0
- numpy/typing/tests/data/pass/ufunc_config.py +64 -0
- numpy/typing/tests/data/pass/ufunclike.py +52 -0
- numpy/typing/tests/data/pass/ufuncs.py +16 -0
- numpy/typing/tests/data/pass/warnings_and_errors.py +6 -0
- numpy/typing/tests/data/reveal/arithmetic.pyi +719 -0
- numpy/typing/tests/data/reveal/array_api_info.pyi +70 -0
- numpy/typing/tests/data/reveal/array_constructors.pyi +277 -0
- numpy/typing/tests/data/reveal/arraypad.pyi +27 -0
- numpy/typing/tests/data/reveal/arrayprint.pyi +25 -0
- numpy/typing/tests/data/reveal/arraysetops.pyi +74 -0
- numpy/typing/tests/data/reveal/arrayterator.pyi +27 -0
- numpy/typing/tests/data/reveal/bitwise_ops.pyi +166 -0
- numpy/typing/tests/data/reveal/char.pyi +225 -0
- numpy/typing/tests/data/reveal/chararray.pyi +138 -0
- numpy/typing/tests/data/reveal/comparisons.pyi +264 -0
- numpy/typing/tests/data/reveal/constants.pyi +14 -0
- numpy/typing/tests/data/reveal/ctypeslib.pyi +81 -0
- numpy/typing/tests/data/reveal/datasource.pyi +23 -0
- numpy/typing/tests/data/reveal/dtype.pyi +132 -0
- numpy/typing/tests/data/reveal/einsumfunc.pyi +39 -0
- numpy/typing/tests/data/reveal/emath.pyi +54 -0
- numpy/typing/tests/data/reveal/fft.pyi +37 -0
- numpy/typing/tests/data/reveal/flatiter.pyi +86 -0
- numpy/typing/tests/data/reveal/fromnumeric.pyi +347 -0
- numpy/typing/tests/data/reveal/getlimits.pyi +53 -0
- numpy/typing/tests/data/reveal/histograms.pyi +25 -0
- numpy/typing/tests/data/reveal/index_tricks.pyi +70 -0
- numpy/typing/tests/data/reveal/lib_function_base.pyi +409 -0
- numpy/typing/tests/data/reveal/lib_polynomial.pyi +147 -0
- numpy/typing/tests/data/reveal/lib_utils.pyi +17 -0
- numpy/typing/tests/data/reveal/lib_version.pyi +20 -0
- numpy/typing/tests/data/reveal/linalg.pyi +154 -0
- numpy/typing/tests/data/reveal/ma.pyi +1098 -0
- numpy/typing/tests/data/reveal/matrix.pyi +73 -0
- numpy/typing/tests/data/reveal/memmap.pyi +19 -0
- numpy/typing/tests/data/reveal/mod.pyi +178 -0
- numpy/typing/tests/data/reveal/modules.pyi +51 -0
- numpy/typing/tests/data/reveal/multiarray.pyi +197 -0
- numpy/typing/tests/data/reveal/nbit_base_example.pyi +20 -0
- numpy/typing/tests/data/reveal/ndarray_assignability.pyi +82 -0
- numpy/typing/tests/data/reveal/ndarray_conversion.pyi +83 -0
- numpy/typing/tests/data/reveal/ndarray_misc.pyi +246 -0
- numpy/typing/tests/data/reveal/ndarray_shape_manipulation.pyi +47 -0
- numpy/typing/tests/data/reveal/nditer.pyi +49 -0
- numpy/typing/tests/data/reveal/nested_sequence.pyi +25 -0
- numpy/typing/tests/data/reveal/npyio.pyi +83 -0
- numpy/typing/tests/data/reveal/numeric.pyi +170 -0
- numpy/typing/tests/data/reveal/numerictypes.pyi +16 -0
- numpy/typing/tests/data/reveal/polynomial_polybase.pyi +217 -0
- numpy/typing/tests/data/reveal/polynomial_polyutils.pyi +218 -0
- numpy/typing/tests/data/reveal/polynomial_series.pyi +138 -0
- numpy/typing/tests/data/reveal/random.pyi +1546 -0
- numpy/typing/tests/data/reveal/rec.pyi +171 -0
- numpy/typing/tests/data/reveal/scalars.pyi +191 -0
- numpy/typing/tests/data/reveal/shape.pyi +13 -0
- numpy/typing/tests/data/reveal/shape_base.pyi +52 -0
- numpy/typing/tests/data/reveal/stride_tricks.pyi +27 -0
- numpy/typing/tests/data/reveal/strings.pyi +196 -0
- numpy/typing/tests/data/reveal/testing.pyi +198 -0
- numpy/typing/tests/data/reveal/twodim_base.pyi +225 -0
- numpy/typing/tests/data/reveal/type_check.pyi +67 -0
- numpy/typing/tests/data/reveal/ufunc_config.pyi +29 -0
- numpy/typing/tests/data/reveal/ufunclike.pyi +31 -0
- numpy/typing/tests/data/reveal/ufuncs.pyi +142 -0
- numpy/typing/tests/data/reveal/warnings_and_errors.pyi +11 -0
- numpy/typing/tests/test_isfile.py +38 -0
- numpy/typing/tests/test_runtime.py +110 -0
- numpy/typing/tests/test_typing.py +205 -0
- numpy/version.py +11 -0
- numpy/version.pyi +9 -0
- numpy-2.4.0.dist-info/METADATA +139 -0
- numpy-2.4.0.dist-info/RECORD +915 -0
- numpy-2.4.0.dist-info/WHEEL +5 -0
- numpy-2.4.0.dist-info/entry_points.txt +13 -0
- numpy-2.4.0.dist-info/licenses/LICENSE.txt +935 -0
- numpy-2.4.0.dist-info/licenses/numpy/_core/include/numpy/libdivide/LICENSE.txt +21 -0
- numpy-2.4.0.dist-info/licenses/numpy/_core/src/common/pythoncapi-compat/COPYING +14 -0
- numpy-2.4.0.dist-info/licenses/numpy/_core/src/highway/LICENSE +371 -0
- numpy-2.4.0.dist-info/licenses/numpy/_core/src/multiarray/dragon4_LICENSE.txt +27 -0
- numpy-2.4.0.dist-info/licenses/numpy/_core/src/npysort/x86-simd-sort/LICENSE.md +28 -0
- numpy-2.4.0.dist-info/licenses/numpy/_core/src/umath/svml/LICENSE +30 -0
- numpy-2.4.0.dist-info/licenses/numpy/fft/pocketfft/LICENSE.md +25 -0
- numpy-2.4.0.dist-info/licenses/numpy/linalg/lapack_lite/LICENSE.txt +48 -0
- numpy-2.4.0.dist-info/licenses/numpy/ma/LICENSE +24 -0
- numpy-2.4.0.dist-info/licenses/numpy/random/LICENSE.md +71 -0
- numpy-2.4.0.dist-info/licenses/numpy/random/src/distributions/LICENSE.md +61 -0
- numpy-2.4.0.dist-info/licenses/numpy/random/src/mt19937/LICENSE.md +61 -0
- numpy-2.4.0.dist-info/licenses/numpy/random/src/pcg64/LICENSE.md +22 -0
- numpy-2.4.0.dist-info/licenses/numpy/random/src/philox/LICENSE.md +31 -0
- numpy-2.4.0.dist-info/licenses/numpy/random/src/sfc64/LICENSE.md +27 -0
- numpy-2.4.0.dist-info/licenses/numpy/random/src/splitmix64/LICENSE.md +9 -0
- numpy.libs/libgcc_s-2d945d6c-767fb991.so.1 +0 -0
- numpy.libs/libgcc_s-2d945d6c.so.1 +0 -0
- numpy.libs/libgfortran-67378ab2-e7e7cfab.so.5.0.0 +0 -0
- numpy.libs/libscipy_openblas64_-1fc386ee.so +0 -0
- numpy.libs/libstdc++-85f2cd6d.so.6.0.33 +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Dict of expired attributes that are discontinued since 2.0 release.
|
|
3
|
+
Each item is associated with a migration note.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
__expired_attributes__ = {
|
|
7
|
+
"geterrobj": "Use the np.errstate context manager instead.",
|
|
8
|
+
"seterrobj": "Use the np.errstate context manager instead.",
|
|
9
|
+
"cast": "Use `np.asarray(arr, dtype=dtype)` instead.",
|
|
10
|
+
"source": "Use `inspect.getsource` instead.",
|
|
11
|
+
"lookfor": "Search NumPy's documentation directly.",
|
|
12
|
+
"who": "Use an IDE variable explorer or `locals()` instead.",
|
|
13
|
+
"fastCopyAndTranspose": "Use `arr.T.copy()` instead.",
|
|
14
|
+
"set_numeric_ops":
|
|
15
|
+
"For the general case, use `PyUFunc_ReplaceLoopBySignature`. "
|
|
16
|
+
"For ndarray subclasses, define the ``__array_ufunc__`` method "
|
|
17
|
+
"and override the relevant ufunc.",
|
|
18
|
+
"NINF": "Use `-np.inf` instead.",
|
|
19
|
+
"PINF": "Use `np.inf` instead.",
|
|
20
|
+
"NZERO": "Use `-0.0` instead.",
|
|
21
|
+
"PZERO": "Use `0.0` instead.",
|
|
22
|
+
"add_newdoc":
|
|
23
|
+
"It's still available as `np.lib.add_newdoc`.",
|
|
24
|
+
"add_docstring":
|
|
25
|
+
"It's still available as `np.lib.add_docstring`.",
|
|
26
|
+
"add_newdoc_ufunc":
|
|
27
|
+
"It's an internal function and doesn't have a replacement.",
|
|
28
|
+
"safe_eval": "Use `ast.literal_eval` instead.",
|
|
29
|
+
"float_": "Use `np.float64` instead.",
|
|
30
|
+
"complex_": "Use `np.complex128` instead.",
|
|
31
|
+
"longfloat": "Use `np.longdouble` instead.",
|
|
32
|
+
"singlecomplex": "Use `np.complex64` instead.",
|
|
33
|
+
"cfloat": "Use `np.complex128` instead.",
|
|
34
|
+
"longcomplex": "Use `np.clongdouble` instead.",
|
|
35
|
+
"clongfloat": "Use `np.clongdouble` instead.",
|
|
36
|
+
"string_": "Use `np.bytes_` instead.",
|
|
37
|
+
"unicode_": "Use `np.str_` instead.",
|
|
38
|
+
"Inf": "Use `np.inf` instead.",
|
|
39
|
+
"Infinity": "Use `np.inf` instead.",
|
|
40
|
+
"NaN": "Use `np.nan` instead.",
|
|
41
|
+
"infty": "Use `np.inf` instead.",
|
|
42
|
+
"issctype": "Use `issubclass(rep, np.generic)` instead.",
|
|
43
|
+
"maximum_sctype":
|
|
44
|
+
"Use a specific dtype instead. You should avoid relying "
|
|
45
|
+
"on any implicit mechanism and select the largest dtype of "
|
|
46
|
+
"a kind explicitly in the code.",
|
|
47
|
+
"obj2sctype": "Use `np.dtype(obj).type` instead.",
|
|
48
|
+
"sctype2char": "Use `np.dtype(obj).char` instead.",
|
|
49
|
+
"sctypes": "Access dtypes explicitly instead.",
|
|
50
|
+
"issubsctype": "Use `np.issubdtype` instead.",
|
|
51
|
+
"set_string_function":
|
|
52
|
+
"Use `np.set_printoptions` instead with a formatter for "
|
|
53
|
+
"custom printing of NumPy objects.",
|
|
54
|
+
"asfarray": "Use `np.asarray` with a proper dtype instead.",
|
|
55
|
+
"issubclass_": "Use `issubclass` builtin instead.",
|
|
56
|
+
"tracemalloc_domain": "It's now available from `np.lib`.",
|
|
57
|
+
"mat": "Use `np.asmatrix` instead.",
|
|
58
|
+
"recfromcsv": "Use `np.genfromtxt` with comma delimiter instead.",
|
|
59
|
+
"recfromtxt": "Use `np.genfromtxt` instead.",
|
|
60
|
+
"deprecate": "Emit `DeprecationWarning` with `warnings.warn` directly, "
|
|
61
|
+
"or use `typing.deprecated`.",
|
|
62
|
+
"deprecate_with_doc": "Emit `DeprecationWarning` with `warnings.warn` "
|
|
63
|
+
"directly, or use `typing.deprecated`.",
|
|
64
|
+
"find_common_type":
|
|
65
|
+
"Use `numpy.promote_types` or `numpy.result_type` instead. "
|
|
66
|
+
"To achieve semantics for the `scalar_types` argument, use "
|
|
67
|
+
"`numpy.result_type` and pass the Python values `0`, `0.0`, or `0j`.",
|
|
68
|
+
"round_": "Use `np.round` instead.",
|
|
69
|
+
"get_array_wrap": "",
|
|
70
|
+
"DataSource": "It's still available as `np.lib.npyio.DataSource`.",
|
|
71
|
+
"nbytes": "Use `np.dtype(<dtype>).itemsize` instead.",
|
|
72
|
+
"byte_bounds": "Now it's available under `np.lib.array_utils.byte_bounds`",
|
|
73
|
+
"compare_chararrays":
|
|
74
|
+
"It's still available as `np.char.compare_chararrays`.",
|
|
75
|
+
"format_parser": "It's still available as `np.rec.format_parser`.",
|
|
76
|
+
"alltrue": "Use `np.all` instead.",
|
|
77
|
+
"sometrue": "Use `np.any` instead.",
|
|
78
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
from typing import Final, TypedDict, final, type_check_only
|
|
2
|
+
|
|
3
|
+
@final
|
|
4
|
+
@type_check_only
|
|
5
|
+
class _ExpiredAttributesType(TypedDict):
|
|
6
|
+
geterrobj: str
|
|
7
|
+
seterrobj: str
|
|
8
|
+
cast: str
|
|
9
|
+
source: str
|
|
10
|
+
lookfor: str
|
|
11
|
+
who: str
|
|
12
|
+
fastCopyAndTranspose: str
|
|
13
|
+
set_numeric_ops: str
|
|
14
|
+
NINF: str
|
|
15
|
+
PINF: str
|
|
16
|
+
NZERO: str
|
|
17
|
+
PZERO: str
|
|
18
|
+
add_newdoc: str
|
|
19
|
+
add_docstring: str
|
|
20
|
+
add_newdoc_ufunc: str
|
|
21
|
+
safe_eval: str
|
|
22
|
+
float_: str
|
|
23
|
+
complex_: str
|
|
24
|
+
longfloat: str
|
|
25
|
+
singlecomplex: str
|
|
26
|
+
cfloat: str
|
|
27
|
+
longcomplex: str
|
|
28
|
+
clongfloat: str
|
|
29
|
+
string_: str
|
|
30
|
+
unicode_: str
|
|
31
|
+
Inf: str
|
|
32
|
+
Infinity: str
|
|
33
|
+
NaN: str
|
|
34
|
+
infty: str
|
|
35
|
+
issctype: str
|
|
36
|
+
maximum_sctype: str
|
|
37
|
+
obj2sctype: str
|
|
38
|
+
sctype2char: str
|
|
39
|
+
sctypes: str
|
|
40
|
+
issubsctype: str
|
|
41
|
+
set_string_function: str
|
|
42
|
+
asfarray: str
|
|
43
|
+
issubclass_: str
|
|
44
|
+
tracemalloc_domain: str
|
|
45
|
+
mat: str
|
|
46
|
+
recfromcsv: str
|
|
47
|
+
recfromtxt: str
|
|
48
|
+
deprecate: str
|
|
49
|
+
deprecate_with_doc: str
|
|
50
|
+
find_common_type: str
|
|
51
|
+
round_: str
|
|
52
|
+
get_array_wrap: str
|
|
53
|
+
DataSource: str
|
|
54
|
+
nbytes: str
|
|
55
|
+
byte_bounds: str
|
|
56
|
+
compare_chararrays: str
|
|
57
|
+
format_parser: str
|
|
58
|
+
alltrue: str
|
|
59
|
+
sometrue: str
|
|
60
|
+
|
|
61
|
+
__expired_attributes__: Final[_ExpiredAttributesType] = ...
|
numpy/_globals.py
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Module defining global singleton classes.
|
|
3
|
+
|
|
4
|
+
This module raises a RuntimeError if an attempt to reload it is made. In that
|
|
5
|
+
way the identities of the classes defined here are fixed and will remain so
|
|
6
|
+
even if numpy itself is reloaded. In particular, a function like the following
|
|
7
|
+
will still work correctly after numpy is reloaded::
|
|
8
|
+
|
|
9
|
+
def foo(arg=np._NoValue):
|
|
10
|
+
if arg is np._NoValue:
|
|
11
|
+
...
|
|
12
|
+
|
|
13
|
+
That was not the case when the singleton classes were defined in the numpy
|
|
14
|
+
``__init__.py`` file. See gh-7844 for a discussion of the reload problem that
|
|
15
|
+
motivated this module.
|
|
16
|
+
|
|
17
|
+
"""
|
|
18
|
+
import enum
|
|
19
|
+
|
|
20
|
+
from ._utils import set_module as _set_module
|
|
21
|
+
|
|
22
|
+
__all__ = ['_NoValue', '_CopyMode']
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# Disallow reloading this module so as to preserve the identities of the
|
|
26
|
+
# classes defined here.
|
|
27
|
+
if '_is_loaded' in globals():
|
|
28
|
+
raise RuntimeError('Reloading numpy._globals is not allowed')
|
|
29
|
+
_is_loaded = True
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class _NoValueType:
|
|
33
|
+
"""Special keyword value.
|
|
34
|
+
|
|
35
|
+
The instance of this class may be used as the default value assigned to a
|
|
36
|
+
keyword if no other obvious default (e.g., `None`) is suitable,
|
|
37
|
+
|
|
38
|
+
Common reasons for using this keyword are:
|
|
39
|
+
|
|
40
|
+
- A new keyword is added to a function, and that function forwards its
|
|
41
|
+
inputs to another function or method which can be defined outside of
|
|
42
|
+
NumPy. For example, ``np.std(x)`` calls ``x.std``, so when a ``keepdims``
|
|
43
|
+
keyword was added that could only be forwarded if the user explicitly
|
|
44
|
+
specified ``keepdims``; downstream array libraries may not have added
|
|
45
|
+
the same keyword, so adding ``x.std(..., keepdims=keepdims)``
|
|
46
|
+
unconditionally could have broken previously working code.
|
|
47
|
+
- A keyword is being deprecated, and a deprecation warning must only be
|
|
48
|
+
emitted when the keyword is used.
|
|
49
|
+
|
|
50
|
+
"""
|
|
51
|
+
__instance = None
|
|
52
|
+
|
|
53
|
+
def __new__(cls):
|
|
54
|
+
# ensure that only one instance exists
|
|
55
|
+
if not cls.__instance:
|
|
56
|
+
cls.__instance = super().__new__(cls)
|
|
57
|
+
return cls.__instance
|
|
58
|
+
|
|
59
|
+
def __repr__(self):
|
|
60
|
+
return "<no value>"
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
_NoValue = _NoValueType()
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
@_set_module("numpy")
|
|
67
|
+
class _CopyMode(enum.Enum):
|
|
68
|
+
"""
|
|
69
|
+
An enumeration for the copy modes supported
|
|
70
|
+
by numpy.copy() and numpy.array(). The following three modes are supported,
|
|
71
|
+
|
|
72
|
+
- ALWAYS: This means that a deep copy of the input
|
|
73
|
+
array will always be taken.
|
|
74
|
+
- IF_NEEDED: This means that a deep copy of the input
|
|
75
|
+
array will be taken only if necessary.
|
|
76
|
+
- NEVER: This means that the deep copy will never be taken.
|
|
77
|
+
If a copy cannot be avoided then a `ValueError` will be
|
|
78
|
+
raised.
|
|
79
|
+
|
|
80
|
+
Note that the buffer-protocol could in theory do copies. NumPy currently
|
|
81
|
+
assumes an object exporting the buffer protocol will never do this.
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
ALWAYS = True
|
|
85
|
+
NEVER = False
|
|
86
|
+
IF_NEEDED = 2
|
|
87
|
+
|
|
88
|
+
def __bool__(self):
|
|
89
|
+
# For backwards compatibility
|
|
90
|
+
if self == _CopyMode.ALWAYS:
|
|
91
|
+
return True
|
|
92
|
+
|
|
93
|
+
if self == _CopyMode.NEVER:
|
|
94
|
+
return False
|
|
95
|
+
|
|
96
|
+
raise ValueError(f"{self} is neither True nor False.")
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class _SignatureDescriptor:
|
|
100
|
+
# A descriptor to store on the ufunc __dict__ that avoids definig a
|
|
101
|
+
# signature for the ufunc class/type but allows the instance to have one.
|
|
102
|
+
# This is needed because inspect.signature() chokes on normal properties
|
|
103
|
+
# (as of 3.14 at least).
|
|
104
|
+
# We could also set __signature__ on the instance but this allows deferred
|
|
105
|
+
# computation of the signature.
|
|
106
|
+
def __get__(self, obj, objtype=None):
|
|
107
|
+
# Delay import, not a critical path but need to avoid circular import.
|
|
108
|
+
from numpy._core._internal import _ufunc_inspect_signature_builder
|
|
109
|
+
|
|
110
|
+
if obj is None:
|
|
111
|
+
# could also return None, which is accepted as "not set" by
|
|
112
|
+
# inspect.signature().
|
|
113
|
+
raise AttributeError(
|
|
114
|
+
"type object 'numpy.ufunc' has no attribute '__signature__'")
|
|
115
|
+
|
|
116
|
+
# Store on the instance, after this the descriptor won't be used.
|
|
117
|
+
obj.__signature__ = _ufunc_inspect_signature_builder(obj)
|
|
118
|
+
return obj.__signature__
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
_signature_descriptor = _SignatureDescriptor()
|
numpy/_globals.pyi
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
__all__ = ["_CopyMode", "_NoValue"]
|
|
2
|
+
|
|
3
|
+
import enum
|
|
4
|
+
from typing import Final, final
|
|
5
|
+
|
|
6
|
+
@final
|
|
7
|
+
class _CopyMode(enum.Enum):
|
|
8
|
+
ALWAYS = True
|
|
9
|
+
NEVER = False
|
|
10
|
+
IF_NEEDED = 2
|
|
11
|
+
|
|
12
|
+
def __bool__(self, /) -> bool: ...
|
|
13
|
+
|
|
14
|
+
@final
|
|
15
|
+
class _NoValueType: ...
|
|
16
|
+
|
|
17
|
+
_NoValue: Final[_NoValueType] = ...
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""This hook should collect all binary files and any hidden modules that numpy
|
|
2
|
+
needs.
|
|
3
|
+
|
|
4
|
+
Our (some-what inadequate) docs for writing PyInstaller hooks are kept here:
|
|
5
|
+
https://pyinstaller.readthedocs.io/en/stable/hooks.html
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
from PyInstaller.compat import is_pure_conda
|
|
9
|
+
from PyInstaller.utils.hooks import collect_dynamic_libs
|
|
10
|
+
|
|
11
|
+
# Collect all DLLs inside numpy's installation folder, dump them into built
|
|
12
|
+
# app's root.
|
|
13
|
+
binaries = collect_dynamic_libs("numpy", ".")
|
|
14
|
+
|
|
15
|
+
# If using Conda without any non-conda virtual environment manager:
|
|
16
|
+
if is_pure_conda:
|
|
17
|
+
# Assume running the NumPy from Conda-forge and collect it's DLLs from the
|
|
18
|
+
# communal Conda bin directory. DLLs from NumPy's dependencies must also be
|
|
19
|
+
# collected to capture MKL, OpenBlas, OpenMP, etc.
|
|
20
|
+
from PyInstaller.utils.hooks import conda_support
|
|
21
|
+
datas = conda_support.collect_dynamic_libs("numpy", dependencies=True)
|
|
22
|
+
|
|
23
|
+
# Submodules PyInstaller cannot detect. `_dtype_ctypes` is only imported
|
|
24
|
+
# from C and `_multiarray_tests` is used in tests (which are not packed).
|
|
25
|
+
hiddenimports = ['numpy._core._dtype_ctypes', 'numpy._core._multiarray_tests']
|
|
26
|
+
|
|
27
|
+
# Remove testing and building code and packages that are referenced throughout
|
|
28
|
+
# NumPy but are not really dependencies.
|
|
29
|
+
excludedimports = [
|
|
30
|
+
"scipy",
|
|
31
|
+
"pytest",
|
|
32
|
+
"f2py",
|
|
33
|
+
"setuptools",
|
|
34
|
+
"distutils",
|
|
35
|
+
"numpy.distutils",
|
|
36
|
+
]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
from numpy.testing import IS_EDITABLE, IS_WASM
|
|
4
|
+
|
|
5
|
+
if IS_WASM:
|
|
6
|
+
pytest.skip(
|
|
7
|
+
"WASM/Pyodide does not use or support Fortran",
|
|
8
|
+
allow_module_level=True
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
if IS_EDITABLE:
|
|
13
|
+
pytest.skip(
|
|
14
|
+
"Editable install doesn't support tests with a compile step",
|
|
15
|
+
allow_module_level=True
|
|
16
|
+
)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""A crude *bit of everything* smoke test to verify PyInstaller compatibility.
|
|
2
|
+
|
|
3
|
+
PyInstaller typically goes wrong by forgetting to package modules, extension
|
|
4
|
+
modules or shared libraries. This script should aim to touch as many of those
|
|
5
|
+
as possible in an attempt to trip a ModuleNotFoundError or a DLL load failure
|
|
6
|
+
due to an uncollected resource. Missing resources are unlikely to lead to
|
|
7
|
+
arithmetic errors so there's generally no need to verify any calculation's
|
|
8
|
+
output - merely that it made it to the end OK. This script should not
|
|
9
|
+
explicitly import any of numpy's submodules as that gives PyInstaller undue
|
|
10
|
+
hints that those submodules exist and should be collected (accessing implicitly
|
|
11
|
+
loaded submodules is OK).
|
|
12
|
+
|
|
13
|
+
"""
|
|
14
|
+
import numpy as np
|
|
15
|
+
|
|
16
|
+
a = np.arange(1., 10.).reshape((3, 3)) % 5
|
|
17
|
+
np.linalg.det(a)
|
|
18
|
+
a @ a
|
|
19
|
+
a @ a.T
|
|
20
|
+
np.linalg.inv(a)
|
|
21
|
+
np.sin(np.exp(a))
|
|
22
|
+
np.linalg.svd(a)
|
|
23
|
+
np.linalg.eigh(a)
|
|
24
|
+
|
|
25
|
+
np.unique(np.random.randint(0, 10, 100))
|
|
26
|
+
np.sort(np.random.uniform(0, 10, 100))
|
|
27
|
+
|
|
28
|
+
np.fft.fft(np.exp(2j * np.pi * np.arange(8) / 8))
|
|
29
|
+
np.ma.masked_array(np.arange(10), np.random.rand(10) < .5).sum()
|
|
30
|
+
np.polynomial.Legendre([7, 8, 9]).roots()
|
|
31
|
+
|
|
32
|
+
print("I made it!")
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import subprocess
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
import pytest
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# PyInstaller has been very unproactive about replacing 'imp' with 'importlib'.
|
|
8
|
+
@pytest.mark.filterwarnings('ignore::DeprecationWarning')
|
|
9
|
+
# It also leaks io.BytesIO()s.
|
|
10
|
+
@pytest.mark.filterwarnings('ignore::ResourceWarning')
|
|
11
|
+
@pytest.mark.parametrize("mode", ["--onedir", "--onefile"])
|
|
12
|
+
@pytest.mark.slow
|
|
13
|
+
def test_pyinstaller(mode, tmp_path):
|
|
14
|
+
"""Compile and run pyinstaller-smoke.py using PyInstaller."""
|
|
15
|
+
|
|
16
|
+
pyinstaller_cli = pytest.importorskip("PyInstaller.__main__").run
|
|
17
|
+
|
|
18
|
+
source = Path(__file__).with_name("pyinstaller-smoke.py").resolve()
|
|
19
|
+
args = [
|
|
20
|
+
# Place all generated files in ``tmp_path``.
|
|
21
|
+
'--workpath', str(tmp_path / "build"),
|
|
22
|
+
'--distpath', str(tmp_path / "dist"),
|
|
23
|
+
'--specpath', str(tmp_path),
|
|
24
|
+
mode,
|
|
25
|
+
str(source),
|
|
26
|
+
]
|
|
27
|
+
pyinstaller_cli(args)
|
|
28
|
+
|
|
29
|
+
if mode == "--onefile":
|
|
30
|
+
exe = tmp_path / "dist" / source.stem
|
|
31
|
+
else:
|
|
32
|
+
exe = tmp_path / "dist" / source.stem / source.stem
|
|
33
|
+
|
|
34
|
+
p = subprocess.run([str(exe)], check=True, stdout=subprocess.PIPE)
|
|
35
|
+
assert p.stdout.strip() == b"I made it!"
|
numpy/_pytesttester.py
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Pytest test running.
|
|
3
|
+
|
|
4
|
+
This module implements the ``test()`` function for NumPy modules. The usual
|
|
5
|
+
boiler plate for doing that is to put the following in the module
|
|
6
|
+
``__init__.py`` file::
|
|
7
|
+
|
|
8
|
+
from numpy._pytesttester import PytestTester
|
|
9
|
+
test = PytestTester(__name__)
|
|
10
|
+
del PytestTester
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
Warnings filtering and other runtime settings should be dealt with in the
|
|
14
|
+
``pytest.ini`` file in the numpy repo root. The behavior of the test depends on
|
|
15
|
+
whether or not that file is found as follows:
|
|
16
|
+
|
|
17
|
+
* ``pytest.ini`` is present (develop mode)
|
|
18
|
+
All warnings except those explicitly filtered out are raised as error.
|
|
19
|
+
* ``pytest.ini`` is absent (release mode)
|
|
20
|
+
DeprecationWarnings and PendingDeprecationWarnings are ignored, other
|
|
21
|
+
warnings are passed through.
|
|
22
|
+
|
|
23
|
+
In practice, tests run from the numpy repo are run in development mode with
|
|
24
|
+
``spin``, through the standard ``spin test`` invocation or from an inplace
|
|
25
|
+
build with ``pytest numpy``.
|
|
26
|
+
|
|
27
|
+
This module is imported by every numpy subpackage, so lies at the top level to
|
|
28
|
+
simplify circular import issues. For the same reason, it contains no numpy
|
|
29
|
+
imports at module scope, instead importing numpy within function calls.
|
|
30
|
+
"""
|
|
31
|
+
import os
|
|
32
|
+
import sys
|
|
33
|
+
|
|
34
|
+
__all__ = ['PytestTester']
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _show_numpy_info():
|
|
38
|
+
import numpy as np
|
|
39
|
+
|
|
40
|
+
print(f"NumPy version {np.__version__}")
|
|
41
|
+
info = np.lib._utils_impl._opt_info()
|
|
42
|
+
print("NumPy CPU features: ", (info or 'nothing enabled'))
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class PytestTester:
|
|
46
|
+
"""
|
|
47
|
+
Pytest test runner.
|
|
48
|
+
|
|
49
|
+
A test function is typically added to a package's __init__.py like so::
|
|
50
|
+
|
|
51
|
+
from numpy._pytesttester import PytestTester
|
|
52
|
+
test = PytestTester(__name__).test
|
|
53
|
+
del PytestTester
|
|
54
|
+
|
|
55
|
+
Calling this test function finds and runs all tests associated with the
|
|
56
|
+
module and all its sub-modules.
|
|
57
|
+
|
|
58
|
+
Attributes
|
|
59
|
+
----------
|
|
60
|
+
module_name : str
|
|
61
|
+
Full path to the package to test.
|
|
62
|
+
|
|
63
|
+
Parameters
|
|
64
|
+
----------
|
|
65
|
+
module_name : module name
|
|
66
|
+
The name of the module to test.
|
|
67
|
+
|
|
68
|
+
Notes
|
|
69
|
+
-----
|
|
70
|
+
Unlike the previous ``nose``-based implementation, this class is not
|
|
71
|
+
publicly exposed as it performs some ``numpy``-specific warning
|
|
72
|
+
suppression.
|
|
73
|
+
|
|
74
|
+
"""
|
|
75
|
+
def __init__(self, module_name):
|
|
76
|
+
self.module_name = module_name
|
|
77
|
+
self.__module__ = module_name
|
|
78
|
+
|
|
79
|
+
def __call__(self, label='fast', verbose=1, extra_argv=None,
|
|
80
|
+
doctests=False, coverage=False, durations=-1, tests=None):
|
|
81
|
+
"""
|
|
82
|
+
Run tests for module using pytest.
|
|
83
|
+
|
|
84
|
+
Parameters
|
|
85
|
+
----------
|
|
86
|
+
label : {'fast', 'full'}, optional
|
|
87
|
+
Identifies the tests to run. When set to 'fast', tests decorated
|
|
88
|
+
with `pytest.mark.slow` are skipped, when 'full', the slow marker
|
|
89
|
+
is ignored.
|
|
90
|
+
verbose : int, optional
|
|
91
|
+
Verbosity value for test outputs, in the range 1-3. Default is 1.
|
|
92
|
+
extra_argv : list, optional
|
|
93
|
+
List with any extra arguments to pass to pytests.
|
|
94
|
+
doctests : bool, optional
|
|
95
|
+
.. note:: Not supported
|
|
96
|
+
coverage : bool, optional
|
|
97
|
+
If True, report coverage of NumPy code. Default is False.
|
|
98
|
+
Requires installation of (pip) pytest-cov.
|
|
99
|
+
durations : int, optional
|
|
100
|
+
If < 0, do nothing, If 0, report time of all tests, if > 0,
|
|
101
|
+
report the time of the slowest `timer` tests. Default is -1.
|
|
102
|
+
tests : test or list of tests
|
|
103
|
+
Tests to be executed with pytest '--pyargs'
|
|
104
|
+
|
|
105
|
+
Returns
|
|
106
|
+
-------
|
|
107
|
+
result : bool
|
|
108
|
+
Return True on success, false otherwise.
|
|
109
|
+
|
|
110
|
+
Notes
|
|
111
|
+
-----
|
|
112
|
+
Each NumPy module exposes `test` in its namespace to run all tests for
|
|
113
|
+
it. For example, to run all tests for numpy.lib:
|
|
114
|
+
|
|
115
|
+
>>> np.lib.test() #doctest: +SKIP
|
|
116
|
+
|
|
117
|
+
Examples
|
|
118
|
+
--------
|
|
119
|
+
>>> result = np.lib.test() #doctest: +SKIP
|
|
120
|
+
...
|
|
121
|
+
1023 passed, 2 skipped, 6 deselected, 1 xfailed in 10.39 seconds
|
|
122
|
+
>>> result
|
|
123
|
+
True
|
|
124
|
+
|
|
125
|
+
"""
|
|
126
|
+
import warnings
|
|
127
|
+
|
|
128
|
+
import pytest
|
|
129
|
+
|
|
130
|
+
module = sys.modules[self.module_name]
|
|
131
|
+
module_path = os.path.abspath(module.__path__[0])
|
|
132
|
+
|
|
133
|
+
# setup the pytest arguments
|
|
134
|
+
pytest_args = ["-l"]
|
|
135
|
+
|
|
136
|
+
# offset verbosity. The "-q" cancels a "-v".
|
|
137
|
+
pytest_args += ["-q"]
|
|
138
|
+
|
|
139
|
+
if sys.version_info < (3, 12):
|
|
140
|
+
with warnings.catch_warnings():
|
|
141
|
+
warnings.simplefilter("always")
|
|
142
|
+
# Filter out distutils cpu warnings (could be localized to
|
|
143
|
+
# distutils tests). ASV has problems with top level import,
|
|
144
|
+
# so fetch module for suppression here.
|
|
145
|
+
from numpy.distutils import cpuinfo # noqa: F401
|
|
146
|
+
|
|
147
|
+
# Filter out annoying import messages. Want these in both develop and
|
|
148
|
+
# release mode.
|
|
149
|
+
pytest_args += [
|
|
150
|
+
"-W ignore:Not importing directory",
|
|
151
|
+
"-W ignore:numpy.dtype size changed",
|
|
152
|
+
"-W ignore:numpy.ufunc size changed",
|
|
153
|
+
"-W ignore::UserWarning:cpuinfo",
|
|
154
|
+
]
|
|
155
|
+
|
|
156
|
+
# When testing matrices, ignore their PendingDeprecationWarnings
|
|
157
|
+
pytest_args += [
|
|
158
|
+
"-W ignore:the matrix subclass is not",
|
|
159
|
+
"-W ignore:Importing from numpy.matlib is",
|
|
160
|
+
]
|
|
161
|
+
|
|
162
|
+
if doctests:
|
|
163
|
+
pytest_args += ["--doctest-modules"]
|
|
164
|
+
|
|
165
|
+
if extra_argv:
|
|
166
|
+
pytest_args += list(extra_argv)
|
|
167
|
+
|
|
168
|
+
if verbose > 1:
|
|
169
|
+
pytest_args += ["-" + "v" * (verbose - 1)]
|
|
170
|
+
|
|
171
|
+
if coverage:
|
|
172
|
+
pytest_args += ["--cov=" + module_path]
|
|
173
|
+
|
|
174
|
+
if label == "fast":
|
|
175
|
+
# not importing at the top level to avoid circular import of module
|
|
176
|
+
from numpy.testing import IS_PYPY
|
|
177
|
+
if IS_PYPY:
|
|
178
|
+
pytest_args += ["-m", "not slow and not slow_pypy"]
|
|
179
|
+
else:
|
|
180
|
+
pytest_args += ["-m", "not slow"]
|
|
181
|
+
|
|
182
|
+
elif label != "full":
|
|
183
|
+
pytest_args += ["-m", label]
|
|
184
|
+
|
|
185
|
+
if durations >= 0:
|
|
186
|
+
pytest_args += [f"--durations={durations}"]
|
|
187
|
+
|
|
188
|
+
if tests is None:
|
|
189
|
+
tests = [self.module_name]
|
|
190
|
+
|
|
191
|
+
pytest_args += ["--pyargs"] + list(tests)
|
|
192
|
+
|
|
193
|
+
# run tests.
|
|
194
|
+
_show_numpy_info()
|
|
195
|
+
|
|
196
|
+
try:
|
|
197
|
+
code = pytest.main(pytest_args)
|
|
198
|
+
except SystemExit as exc:
|
|
199
|
+
code = exc.code
|
|
200
|
+
|
|
201
|
+
return code == 0
|
numpy/_pytesttester.pyi
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from collections.abc import Iterable
|
|
2
|
+
from typing import Literal as L
|
|
3
|
+
|
|
4
|
+
__all__ = ["PytestTester"]
|
|
5
|
+
|
|
6
|
+
class PytestTester:
|
|
7
|
+
module_name: str
|
|
8
|
+
def __init__(self, module_name: str) -> None: ...
|
|
9
|
+
def __call__(
|
|
10
|
+
self,
|
|
11
|
+
label: L["fast", "full"] = "fast",
|
|
12
|
+
verbose: int = 1,
|
|
13
|
+
extra_argv: Iterable[str] | None = None,
|
|
14
|
+
doctests: L[False] = False,
|
|
15
|
+
coverage: bool = False,
|
|
16
|
+
durations: int = -1,
|
|
17
|
+
tests: Iterable[str] | None = None,
|
|
18
|
+
) -> bool: ...
|