Array API 标准兼容性#

NumPy 2.3.0 的主命名空间以及 numpy.fftnumpy.linalg 命名空间与 Python array API 标准的 2024.12 version 兼容.

NumPy 旨在实现对未来版本标准的支持 - 假设这些未来版本可以根据 NumPy 的 backwards compatibility policy 进行升级.

对于希望编写可与 NumPy 和其他数组库一起使用的下游库和最终用户,我们建议参考 array API 标准本身的文档以及 SciPy 和 scikit-learn 中面向代码和开发人员的文档.

请注意,为了在旧版本的 NumPy (< 2.0) 中使用符合标准的代码,可以使用 array-api-compat 包. 为了测试使用 NumPy 的代码是否仅使用符合标准的功能而不是任何 NumPy 特定的功能,可以使用 array-api-strict 包.

历史

NumPy 1.22.0 是第一个通过单独的 numpy.array_api 子模块包含对 array API 标准支持的版本.此模块被标记为实验性模块(导入时会发出警告),并在 NumPy 2.0 中删除,因为完整支持(2022.12 版本 [1] ) 包含在主命名空间中. NEP 47NEP 56 描述了在 NumPy 中实现 array API 标准的动机和范围.

入口点#

NumPy 安装一个 entry point ,可用于发现目的:

>>> from importlib.metadata import entry_points
>>> entry_points(group='array_api', name='numpy')
[EntryPoint(name='numpy', value='numpy', group='array_api')]

请注意,省略 name='numpy' 将导致返回已安装入口点的所有 array API 标准兼容实现的入口点列表.

脚注

检查#

NumPy 实现了 array API inspection utilities . 这些函数可以通过 __array_namespace_info__() 函数访问,该函数返回一个包含检查实用程序的命名空间.

__array_namespace_info__ ()

获取 NumPy 的 array API 检查命名空间.