Open jakirkham opened 2 months ago
Thanks @jakirkham ! I think this is a great approach.
I looked through this list of dependencies today and can't think of any others or a different approach to identify them. And I checked the statuses of all the not-yet-released ones and don't see any changes.
Went through the project list again earlier today and also now
Main changes were the GDAL release went out
Also Numba RCs are available
Dask may work with NumPy 2, but needs reconfirmation
Added a better issue link for TensorFlow
Tried to also split apart when upstream has fixes (like Dask or XGBoost) from whether they are released. Hopefully that gives a bit more visibility into the state of NumPy 2 support
dask
2024.5.1, datashader
0.16.2, imagecodecs
2024.6.1, and treelite
4.2.1 all have numpy 2.0-compatible releases out now.
Thanks Ralf!
Thanks for the reminder! 🙏
Have refreshed the table above
Numba 0.60.0, Xarray 2024.6.0, and CuPy 13.2.0 were all released. So looks like things are mostly good here (a few rough edges left).
Imageio and XGBoost were both released as well.
You can cross ImageIO off the list ... we now support numpy v2.0 as of ImageIO v2.34.2
Thanks all! 🙏
Have refreshed the list
Looks like we are down to TensorFlow. This is only needed in some cases. So think it makes sense to start doing this work at this point
It seems hdbscan
is a dependency cuml
has. I will push them to fix that though, they probably just need to redo their wheel build (but instead just added a numpy<2
pin for now).
(Turns out there are some other issues, although they don't seem NumPy 2 related.)
xref https://github.com/scikit-learn-contrib/hdbscan/pull/644 (fix, but remaining issue) xref https://github.com/scikit-learn-contrib/hdbscan/issues/642 (issue)
NumPy 2.0 is coming out soon ( https://github.com/numpy/numpy/issues/24300 ). NumPy 2.0.0rc1 packages for conda & wheels came out 2 weeks back ( https://github.com/numpy/numpy/issues/24300#issuecomment-2030603395 )
Ecosystem support for NumPy 2.0 is being tracked in issue: https://github.com/numpy/numpy/issues/26191
Also conda-forge is discussing how to support NumPy 2.0: https://github.com/conda-forge/conda-forge.github.io/issues/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
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...
Blank entries mean no information is known about those fields at this time
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 itprettytable
code: