pydata / sparse

Sparse multi-dimensional arrays for the PyData ecosystem
https://sparse.pydata.org
BSD 3-Clause "New" or "Revised" License
581 stars 123 forks source link

NumPy 2.0 support #680

Closed jakirkham closed 2 months ago

jakirkham commented 2 months ago

Is your feature request related to a problem? Please describe.

NumPy 2.0 is coming out soon ( https://github.com/numpy/numpy/issues/24300 ). NumPy 2.0.0rc1 packages for conda & wheels came out 3 weeks back ( https://github.com/numpy/numpy/issues/24300#issuecomment-2030603395 )

Describe the solution you'd like

To prepare for NumPy 2.0, it might be worthwhile to start testing Sparse against NumPy 2 in CI

Also as NumPy is tracking ecosystem support for NumPy 2.0, it would be helpful to share Sparse current support status in issue (with any plans): https://github.com/numpy/numpy/issues/26191

NumPy has put out a migration guide. More details are in the release notes. As Sparse doesn't have C/C++ usage of NumPy, only the Python changes would be relevant

Describe alternatives you've considered

In the short term, Sparse may wish to set an upper bound on NumPy version until testing can happen. Alternatively Sparse could wait for user issues and address as those come up

Maybe there are other options that haven't been considered here

Additional context

As Sparse depends on Numba, would recommend using the Numba 0.60.0rc1 packages for testing. These work with NumPy 2: https://github.com/numba/numba/issues/9544#issuecomment-2113293982

Note: Numba does not yet provide a NumPy 2 style API, which will likely come in 0.61.0 (or later): https://github.com/numba/numba/issues/9540

hameerabbasi commented 2 months ago

Re-opening for missing PyPI release.

hameerabbasi commented 2 months ago

Release is up on PyPI: https://pypi.org/project/sparse/0.15.2/

jakirkham commented 2 months ago

Thanks Hameer! 🙏