Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ecosystem compatibility with numpy 2.0 #26191

Open
rgommers opened this issue Apr 1, 2024 · 129 comments
Open

Ecosystem compatibility with numpy 2.0 #26191

rgommers opened this issue Apr 1, 2024 · 129 comments

Comments

@rgommers
Copy link
Member

rgommers commented Apr 1, 2024

This list tracks the compatibility status of packages that depend on or support NumPy. If "compatible release on PyPI" does not say "yes" but a version number is listed: this is based on plans announced in a tracking issue or other communication by the authors of the package.

_Maintainers: please feel free to edit directly (please refresh the page first to avoid overwriting edits from others!). Others who want to update things: please do comment, or feel free to ping me elsewhere.

Package name Compatible release on PyPI? Min compatible version Notes
Adaptive yes 1.3.0 python-adaptive/adaptive#458
AstroPy yes 6.1.0 astropy/astropy#16200
astropy-healpix yes 1.0.3 astropy/astropy-healpix#214
autograd yes 1.7.0 HIPS/autograd#618
AwkwardArray yes 2.6.3 scikit-hep/awkward#3064
BioPython yes 1.84 biopython/biopython#4676
Bokeh yes 3.4.1 bokeh/bokeh#13835
boost-histogram yes 1.4.1 #26191 (comment)
Boost.Python 1.86.0 boostorg/python#431
bottleneck yes 1.4.0 pydata/bottleneck#453
CARMA n/a 0.8.0 RUrlus/carma#129
Cartopy yes 0.23 SciTools/cartopy#2339
Catboost catboost/catboost#2671
clawpack clawpack/clawpack#252
ContourPy yes 1.2.1 contourpy/contourpy#371
CPNest yes 0.11.6 johnveitch/cpnest#92
CuPy (13.2.0 only) 14.0.0 (13.2.0 partial support) cupy/cupy#8306
Cython yes 3.0.4 Version is an estimate, it's worked fine for quite a while
Cython BLIS explosion/cython-blis#106
Dask yes 2024.5.1 dask/dask#11066
Datashader yes 0.16.2 holoviz/datashader#1324
EigenPy 3.5.0 (possibly more work still needed) stack-of-tasks/eigenpy#448
fastparquet yes 2024.5.0 dask/fastparquet#922
fitsio yes 1.2.3 esheldon/fitsio#393
GDAL yes 3.9.0 OSGeo/gdal#9751
GeoPandas yes 0.14.4 geopandas/geopandas#3258
GNU Radio n/a 3.10.10.1 gnuradio/gnuradio#7378
h5py yes 3.11.0 h5py/h5py#2353
holoviews yes 1.19.0 holoviz/holoviews#6238
hypothesis yes 6.100.2 HypothesisWorks/hypothesis#3950
imagecodecs yes 2024.6.1 cgohlke/imagecodecs#100
Imageio yes 2.34.2 imageio/imageio#1090
iminuit yes 2.26.0 scikit-hep/iminuit#977
ITK yes 5.4.0 InsightSoftwareConsortium/ITK#4700
JAX yes 0.4.26 google/jax#19246
Keras yes 3.5.0 keras-team/keras#19691
LightGBM yes 4.4.0 microsoft/LightGBM#6454 & microsoft/LightGBM#6439
lightly yes 1.5.11 lightly-ai/lightly#1558
Matplotlib yes 3.8.4 matplotlib/matplotlib#26778
MDAnalysis 2.8.0 MDAnalysis/mdanalysis#4482
ml_dtypes yes 0.4.0 jax-ml/ml_dtypes#143
mlpack no 4.5.0 mlpack/mlpack#3723
MNE-Python yes 1.7.0 mne-tools/mne-python#12672
Modin yes 0.31.0 modin-project/modin#7310
netCDF4 yes 1.7.0 Unidata/netcdf4-python#1317
NetworkX yes 3.3 networkx/networkx#7390
Numba yes 0.60 numba/numba#9544, Discourse post with context
numcodecs yes 0.12.1 Likely older versions too; has been stable for a while. zarr-developers/numcodecs#521
numexpr yes 2.10.0 pydata/numexpr#478
numpngw yes 0.1.4
OpenCV yes 4.10.0.84 opencv/opencv-python#943
Pandas yes 2.2.2 pandas-dev/pandas#55519
pint yes 0.24 hgrecco/pint#1974
Polars yes 1.1.0 pola-rs/polars#16998
polyagamma yes 2.0.0 zoj613/polyagamma#127
pvlib yes 0.10.5 pvlib/pvlib-python#2026
PyArrow yes 16.0 apache/arrow#39532
Py-ART / arm-pyart yes 1.18.2 ARM-DOE/pyart#1550
Pybind11 yes 2.12.0 pybind/pybind11#5009
PyData Sparse yes 0.15.2 pydata/sparse#680
pyEDFlib yes 0.1.38 holgern/pyedflib#259
PyKrige yes 1.7.2 GeoStat-Framework/PyKrige#290
PyMC depends on PyTensor
Pyomo yes 6.8.0 Pyomo/pyomo#3292
PySide6 yes 6.7.0 from a comment on this issue: #26191 (comment)
PySpark 4.0.0 apache/spark#47083
PyTables yes 3.10 PyTables/PyTables#1083
PyTensor pymc-devs/pytensor#689
Pythran yes 0.16.0 (0.15.0 works mostly, SciPy builds with it) serge-sans-paille/pythran#2189
PyTorch yes 2.3.0 (*) pytorch/pytorch#107302 (Windows binaries issue with 2.3.x-2.4.0: pytorch#131668
PyVista yes 0.44.0 pyvista/pyvista/releases/tag/v0.44.0
PyWavelets yes 1.6.0 PyWavelets/pywt#731
QuTiP yes 5.0.3 qutip/qutip#2421, qutip/qutip#2457
RAPIDS rapidsai/build-planning#38
Rasterio yes 1.3.10 rasterio/rasterio#3024
RDKit 2024.3.4 rdkit/rdkit#7477
reikna yes  0.9.0  fjarri/reikna#69
rust-numpy PyO3/rust-numpy#409
scikit-bio yes 0.6.1 scikit-bio/scikit-bio#1964
scikit-image yes 0.23.1 scikit-image/scikit-image#7282
scikit-learn yes 1.4.2 scikit-learn/scikit-learn#27075
scikit-sparse scikit-sparse/scikit-sparse#120
scipp yes 24.06.0 scipp/scipp#3427
SciPy yes 1.13.0 scipy/scipy#20375
Shapely yes 2.0.4 shapely/shapely#1972
SpaCy explosion/spaCy#13528
spglib yes 2.5.0 spglib/spglib#407
SymPy yes 1.12.1
Seaborn yes 0.13.2 mwaskom/seaborn#3683
statsmodels yes 0.14.2 statsmodels/statsmodels#9194
TensorBoard 1.17.1 or 1.18.0 tensorflow/tensorboard#6869
TensorFlow tensorflow/tensorflow#67291, has <2 upper bound for 2.16.1, requirements, lock file
Thinc explosion/thinc#939
threadpoolctl yes 3.5.0 joblib/threadpoolctl#175
tifffile yes 2024.4.24 cgohlke/tifffile#252
TorchGeo 0.6.0 microsoft/torchgeo#2151
torchvision 0.19.1 (0.18.0 is >98% compatible) pytorch/vision#8460 (0.19.0 wheels have a Windows issue)
treelite yes 4.2.1 dmlc/treelite#560
unyt yes 3.0.2 yt-project/unyt#493
VisPy yes 0.14.3 vispy/vispy#2599
wavio yes 0.0.9
Xarray yes 2024.06.0 pydata/xarray#8844
XGBoost yes 2.1.0 dmlc/xgboost#10221
yt yes 4.3.1 yt-project/yt#4859
Zarr yes 2.18.0 zarr-developers/zarr-python#1818
zfpy LLNL/zfp#210
@jakevdp
Copy link
Contributor

jakevdp commented Apr 1, 2024

Thanks - for JAX we are planning an 0.4.26 release in the next day or two which will be built against NumPy 2.0.0rc1.

@jakevdp
Copy link
Contributor

jakevdp commented Apr 1, 2024

Also, in case you want to add it, we just released ml_dtypes v0.4.0 (https://pypi.org/project/ml-dtypes/) which is compatible with NumPy 2.0.

@jakirkham
Copy link
Contributor

Thanks for putting this together Ralf! 🙏

This is incredibly helpful 🙂

@rgommers
Copy link
Member Author

rgommers commented Apr 1, 2024

Thanks @jakevdp, I added the info for both JAX and ml_dtypes.

@neutrinoceros
Copy link
Contributor

unyt 3.0.2 was also released a couple days ago for compat with numpy 2, in case you'd like to include it !

@neutrinoceros
Copy link
Contributor

Also, here's where to track progress for cartopy : SciTools/cartopy#2339

@rgommers
Copy link
Member Author

rgommers commented Apr 2, 2024

Thanks @neutrinoceros, much appreciated. Added both packages.

@ianthomas23
Copy link
Contributor

ContourPy 1.2.1 has just been released on PyPI (https://pypi.org/project/contourpy/1.2.1/) with NumPy 2 compatibility, most relevant PR is contourpy/contourpy#371. It is a compulsory dependency of Matplotlib.

@jorisvandenbossche
Copy link
Contributor

For PyArrow, it will be the upcoming 16.0 release that will be the first numpy-2.0-compatible release, but this will only be expected in around 3 weeks at the earliest (but normally certainly before the end of the month).
For people that need a PyArrow installed in an environment with numpy 2.0, it's worth noting that there are nightly wheels available though that already work with 2.0.

@dkbarn
Copy link

dkbarn commented Apr 3, 2024

Could we add OpenCV to this list? I filed a ticket here to track progress on a numpy 2.0 build for it.

@rgommers
Copy link
Member Author

rgommers commented Apr 3, 2024

Thanks @ianthomas23, @jorisvandenbossche, @dkbarn - all info added to the table.

@hawkinsp
Copy link
Contributor

hawkinsp commented Apr 3, 2024

JAX released 0.4.26 on pypi, which is compatible with NumPy 2.0.

(NumPy folks: congratulations on your imminent v2 release!)

@ksunden
Copy link
Contributor

ksunden commented Apr 4, 2024

mpl 3.8.4 is out, built with np 2

@neutrinoceros
Copy link
Contributor

neutrinoceros commented Apr 6, 2024

yt 4.3.1 is on PyPI and built with numpy 2.0.0rc1 !

EDIT(seberg): Added to table.

@neutrinoceros
Copy link
Contributor

@mbyt
Copy link
Contributor

mbyt commented Jul 8, 2024

polars 1.1.0 has now numpy 2.0 support: https://github.com/pola-rs/polars/releases/tag/py-1.1.0

@adamjstewart
Copy link
Contributor

Tensorboard 1.17.0 does not support numpy 2: tensorflow/tensorboard#6869, tensorflow/tensorboard#6874

This has been fixed in master: tensorflow/tensorboard#6871

Unclear if this will be included in 1.17.1 or 1.18.0.

@jakirkham
Copy link
Contributor

Think we can now add...

Package name Compatible release on PyPI? Min compatible version Notes
scipp Yes  24.06.0  scipp/scipp#3427

@jakirkham
Copy link
Contributor

Also

Package name Compatible release on PyPI? Min compatible version Notes
reikna Yes  0.9.0  fjarri/reikna#69

@neutrinoceros
Copy link
Contributor

Pyvista 0.44.0 was also just released with numpy 2 compat https://github.com/pyvista/pyvista/releases/tag/v0.44.0

@agriyakhetarpal
Copy link
Contributor

agriyakhetarpal commented Jul 10, 2024

Though not strictly a package that builds against NumPy v2.0.0 but an entire distribution in itself, Pyodide hopes to include NumPy v2.0.0 in the next major release and is being tracked in these two threads:

  1. NumPy v2 pyodide/pyodide#4925, and
  2. SciPy v1.13.0 pyodide/pyodide#4719.

Packages such as OpenCV (opencv-python), yt, and others shall be updated accordingly.

@jakirkham
Copy link
Contributor

Also

Package name Compatible release on PyPI? Min compatible version Notes
CPNest Yes  0.11.6  johnveitch/cpnest#92

@miikkas
Copy link

miikkas commented Jul 18, 2024

PyEDFlib doesn't have a NumPy 2.0 compatible release yet, but here's the tracking issue: holgern/pyedflib#259

@charris charris modified the milestones: 2.0.1 release, 2.1.0 release Jul 20, 2024
@charris charris modified the milestones: 2.1.0 release, 2.2.0 release Aug 1, 2024
@sammaxwellxyz
Copy link

torchvision 0.19.0 is now on pypi

@rgommers
Copy link
Member Author

rgommers commented Aug 2, 2024

torchvision 0.19.0 is now on pypi

Thanks. We need 0.19.1 though - as the comment in the table says, the 0.19.0 Windows wheels do not support NumPy 2.0 (other platforms work fine).

@stonebig
Copy link

stonebig commented Aug 4, 2024

botorch-1.11.3 seems not compatible (Windows issue) https://github.com/pytorch/botorch/releases/tag/v0.11.3

@zoj613
Copy link
Contributor

zoj613 commented Aug 6, 2024

polyagamma v2.0.0 (used as an optional dependency by PyMC) added support for numpy 2.0 (see: here) and is out on PyPI

@BartSchuurmans
Copy link

Pyomo does not have a compatible release yet, but a PR fixing support has been merged, so it will probably be in the next release: Pyomo/pyomo#3292

@blnicho
Copy link

blnicho commented Aug 20, 2024

Pyomo does not have a compatible release yet, but a PR fixing support has been merged, so it will probably be in the next release: Pyomo/pyomo#3292

Pyomo 6.8.0 is compatible with NumPy 2.0 and now on PyPI

@agriyakhetarpal
Copy link
Contributor

autograd v1.7.0 has added support for NumPy 2.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests