Совместимость со стандартом Array API#

Основное пространство имен NumPy 2.3.0, а также numpy.fft и numpy.linalg пространства имён совместимы с версия 2024.12 стандарта Python array API.

NumPy стремится реализовать поддержку будущих версий стандарта - при условии, что эти будущие версии могут быть обновлены с учётом ограничений NumPy политика обратной совместимости.

Для рекомендаций по использованию для библиотек-потребителей и конечных пользователей, которые хотят писать код, который будет работать как с NumPy, так и с другими библиотеками массивов, мы отсылаем к документации самого стандарта API массивов и к коду и документации для разработчиков в SciPy и scikit-learn.

Обратите внимание, что для использования стандартно-совместимого кода со старыми версиями NumPy (< 2.0), array-api-compat пакет может быть полезен. Для проверки того, использует ли код, работающий с NumPy, только стандартные функции, а не что-либо специфичное для NumPy, array-api-strict пакет может быть использован.

История

NumPy 1.22.0 была первой версией, включающей поддержку стандарта array API через отдельный numpy.array_api подмодуль. Этот модуль был помечен как экспериментальный (он выдавал предупреждение при импорте) и удален в NumPy 2.0, поскольку полная поддержка (версия 2022.12 [1]) был включен в основное пространство имён. NEP 47 и NEP 56 описать мотивацию и область применения для реализации стандарта API массивов в NumPy.

Точка входа#

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__()

Получить пространство имён инспекции API массивов для NumPy.