Релиз NumPy 2.0.0
16 июня 2024 года состоялся релиз стабильной версии Python-библиотеки для научных вычислений NumPy 2.0.0. Это первый значительный релиз открытого проекта с 2006 года. Новая версия NumPy включает в себя новые возможности и оптимизации производительности, множество новых функций и изменений как в Python, так и в ABI, в API и в C-API, нарушающие обратную совместимость. Например, библиотека SciPy, собранная с NumPy 1.x, для работы с NumPy 2.0 потребует перекомпиляции. В отдельных случаях для использования NumPy 2.0 в приложениях может потребоваться внесение изменений в код.
Python-библиотека NumPy ориентирована на работу с многомерными массивами и матрицами, а также предоставляет большую коллекцию функций с реализацией различных алгоритмов, связанных с использованием матриц.
Проект NumPy является одной из наиболее востребованных библиотек, применяемых для научных расчётов. Исходный код NumPy написан на языке Python с применением оптимизаций на языке C и опубликован на GitHub под лицензией BSD.
По информации OpenNET, наиболее крупное нарушение совместимости в релизе NumPy 2.0.0 связано с сохранением точности скалярных выражений, например, "np.float32(3) + 3" теперь вернёт значение с типом float32, а не float64, а в выражениях с несколькими типами для результата будет использован тип с наивысшей точностью, то есть "np.array([3], dtype=np.float32) + np.float64(3)" вернёт значение с типом float64.
Также в проекте заменены целочисленные типы, применяемые по умолчанию на платформе Windows. На 64-разрядных системах Windows теперь применяется 64-разрядный целый тип, а на 32-разрядных — 32-разрядный (ранее использовался аналог C-типа long, а теперь эквивалент np.intp).
В NumPy 2.0.0 заменены или удалены некоторые определения в C-API,
Читать на habr.com