2023-08-16 –, HS 119 - Maintainer track
NumPy is planning a 2.0 release early next year replacing the 1.X release. While we hope that the release will not be disruptive to most users we do plan some larger changes that may affect many. These changes include modifications to the Python and C-API, for example making the NumPy promotion rules more consistent around scalar values.
The release of a NumPy 2.0 has long been avoided since NumPy tries to have a high threshold for breaking changes. But due to its age, NumPy has also numerous issues which are difficult to change through a slow deprecation process.
We have finally reached the decision to release a NumPy 2.0 in order to address some of these issues. A main issue is adoption of NEP 50 to change the scalar promotion rules which will make them more consistent and also is part of pushing towards Array-API adoption. Further clean-ups of the Python API and changes such as making 64bit integers the default on 64bit windows are also planned.
While our C-API will hopefully get some additions to start supporting our new API around ufuncs and DTypes, we also plan to remove or change API to allow evolution and simplify it. Let's review some of these changes and open discussion about these or other changes.
While it is good to move forward, it is also very important that a majority of users will not have difficulties with updating or transitioning. Let's discuss potential issues and solutions.
What-not to expect from NumPy 2.0: Let's discuss what is planned for NumPy 2.0 and what is not.
Category [Scientific Applications]:Other
Expected audience expertise: Domain:none
Expected audience expertise: Python:expert
Public link to supporting material: Project Homepage / Git:Sebastian Berg is a NumPy maintainer and steering council member working at NVIDIA. He started contributing to NumPy during his undergrad and PhD and Physics and continued working on NumPy at the Berkeley Institute for Data Science before continuing to contribute at NVIDIA.