数组 API 标准兼容性#

NumPy 的主命名空间以及 numpy.fftnumpy.linalg 命名空间与 2022.12 版本 的 Python 数组 API 标准兼容.

NumPy 旨在实现对 2023.12 版本 和未来版本标准的支持 - 假设这些未来版本可以在给定 NumPy 的 向后兼容性政策 下升级.

对于希望编写能够同时与 NumPy 和其他数组库一起工作的代码的下游库和终端用户的用法指南,我们参考数组 API 标准本身的文档以及 SciPy 和 scikit-learn 中的代码和面向开发者的文档.

请注意,为了在使用旧版 NumPy(< 2.0)时使用符合标准的代码,`array-api-compat <data-apis/array-api-compat>`__ 包可能会有所帮助.为了测试使用 NumPy 的代码是否仅使用符合标准的功能而不是任何特定于 NumPy 的功能,可以使用 array-api-strict 包.

历史

NumPy 1.22.0 是第一个通过单独的 numpy.array_api 子模块支持数组 API 标准的版本.该模块被标记为实验性的(它在导入时发出警告),并在 NumPy 2.0 中被移除,因为全面支持已包含在主命名空间中.:ref:NEP 47NEP 56 描述了在 NumPy 中实现数组 API 标准的动机和范围.

入口点#

NumPy 安装了一个可用于发现目的的 入口点:

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

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

脚注

检查#

NumPy 实现了 数组 API 检查工具.这些函数可以通过 __array_namespace_info__() 函数访问,该函数返回一个包含检查工具的命名空间.

__array_namespace_info__()

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