Skip to content

NumPy 2.0 support #38

Closed
Closed
@jakirkham

Description

NumPy 2.0 is coming out soon ( numpy/numpy#24300 ). NumPy 2.0.0rc1 packages for conda & wheels came out 2 weeks back ( numpy/numpy#24300 (comment) )

Ecosystem support for NumPy 2.0 is being tracked in issue: numpy/numpy#26191

Also conda-forge is discussing how to support NumPy 2.0: conda-forge/conda-forge.github.io#1997

When building against NumPy 2.0, it is possible with default settings to build packages that are compatible with NumPy 1 & 2. Where NumPy will target the oldest NumPy version that was built for that Python version being targeted


Developed the following list by installing RAPIDS 24.04 and inspecting, which packages used NumPy. Specifically ran the commands below

conda install -n base conda-tree -y
conda create -n rapids-24.04 -c rapidsai -c conda-forge -c nvidia rapids=24.04 python=3.11 cuda-version=12.2 -y
conda tree -n rapids-24.04 whoneeds numpy

This generated a list of dependencies. Some of these were RAPIDS packages themselves. So removed those from the list. Also dropped some indirect dependencies of RAPIDS. Admittedly this can get a little subjective. Though tried to capture a sufficiently complete, though not overly detailed, picture


From this, have built the table below

Some versions have questions marks if...

  • The release is uncertain
  • There may be some lingering issues
  • It may have been fixed against an older NumPy 2, but hasn't been retested with RC1

Blank entries mean no information is known about those fields at this time

Package Supported Released Version Upstream issue/PR
Arrow Y Y 16.0.0 apache/arrow#39532
Bokeh Y Y 3.4.1 bokeh/bokeh#13835
Branca Y Y 0.7.2 python-visualization/branca#163
CuPy Y Y 13.2.0 cupy/cupy#8306
Dask Y Y 2024.5.1 dask/dask#11066
Datashader Y Y 0.16.2 holoviz/datashader#1324
folium Y Y? 0.16.0? python-visualization/folium#1937
GDAL Y Y 3.9.0 OSGeo/gdal#9751
HoloViews Y Y 1.19.0 holoviz/holoviews#5979 & holoviz/holoviews#6238
Hypothesis Y Y 6.100.2 HypothesisWorks/hypothesis#3955
imagecodecs Y Y 2024.6.1 cgohlke/imagecodecs#100
imageio Y Y 2.34.2 imageio/imageio#1077
mapclassify Y Y 2.6.1? pysal/mapclassify#188
Matplotlib Y Y 3.8.4 matplotlib/matplotlib#26778
Numba Y Y 0.60.0 numba/numba#9544
Pandas Y Y 2.2.2 pandas-dev/pandas#55519
PyTorch Y Y 2.3.0 pytorch/pytorch#107302
PyWavelets Y Y 1.6.0 PyWavelets/pywt#731
scikit-image Y Y 0.23.1 scikit-image/scikit-image#7282
scikit-learn Y Y 1.4.2 scikit-learn/scikit-learn#27075
SciPy Y Y 1.13.0 scipy/scipy#20375
Shapely Y Y 2.0.4? shapely/shapely#1972
TensorFlow tensorflow/tensorflow#67291
tifffile Y Y 2024.4.24 cgohlke/tifffile#252
treelite Y Y 4.2.1 dmlc/treelite#560
Xarray Y Y 2024.06.0 pydata/xarray#8844
XGBoost Y Y 2.1.0 dmlc/xgboost#10221

Note to editors: Also attaching the CSV file used to generate this table (as editing Markdown tables can be tricky 😅). Would suggest making any changes in the CSV file locally (with Excel or other). Then you can use prettytable (available on PyPI & Conda-forge) to generate Markdown with this code. The resulting content can be copy-pasted above. Can drag and drop the CSV file into this textbox to attach it

prettytable code:
import prettytable

with open("rapids_numpy_pkgs.csv", "r") as fh:
    t = prettytable.from_csv(fh, delimeter=",", lineterminator="\n")
    t.set_style(prettytable.MARKDOWN)
with open("rapids_numpy_pkgs.md", "w") as fh2:
    fh2.write(str(t))

Activity

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

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions