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
Comments
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. |
Also, in case you want to add it, we just released |
Thanks for putting this together Ralf! 🙏 This is incredibly helpful 🙂 |
Thanks @jakevdp, I added the info for both JAX and |
|
Also, here's where to track progress for cartopy : SciTools/cartopy#2339 |
Thanks @neutrinoceros, much appreciated. Added both packages. |
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. |
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). |
Could we add OpenCV to this list? I filed a ticket here to track progress on a numpy 2.0 build for it. |
Thanks @ianthomas23, @jorisvandenbossche, @dkbarn - all info added to the table. |
JAX released 0.4.26 on pypi, which is compatible with NumPy 2.0. (NumPy folks: congratulations on your imminent v2 release!) |
mpl 3.8.4 is out, built with np 2 |
yt 4.3.1 is on PyPI and built with numpy 2.0.0rc1 ! EDIT(seberg): Added to table. |
|
@jakirkham wrote:
This is not necessary, it is already in the list. There was no need to create an issue in ContourPy for this, I did all that was necessary 3 weeks ago. Perhaps the list should be sorted in alphabetical order? |
Thanks everyone for the input, and @jakirkham for following up with a large set of projects.
I may reorganize it if it gets more unwieldy. Not purely alphabetically though; the top of the table is on purpose for packages that are lowest in the stack, because they were blocking pretty much everything else. So I'll probably want to keep such a set as "must haves, blocking for a final 2.0 release" and then the rest alphabetical. |
Understood. If I go into full anal retentive mode (as I reserve the right to do occasionally) then shouldn't ContourPy, as a compulsory dependency of Matplotlib, go above it in the list? It would be really interesting to see the list plotted as a dependency graph, perhaps with individual project bus factor although I am not sure how to best determine that empirically. |
Any work on this would be great to see indeed. Using tools like https://deps.dev/ or https://libraries.io/ for this to obtain reverse dependency data and then finding ways to analyze/visualize would be interesting.
Probably not I'd say, since few projects have a direct dependency on it. "Matplotlib works" is pretty much what folks need to know. And that can itself have multiple dependencies. Here is a list: https://deps.dev/pypi/matplotlib/3.8.4/dependencies. I'd prefer to stay mostly out of the business of trying to figure out which of those 10 dependencies are actually blocking/critical. Of course, the list probably reflects some of my knowledge/biases, it can never be objectively correct or complete. But that's not a real goal here - this is a tool for figuring out where we are in the migration and when we should be able to release 2.0 without creating major issues (or more major issues than necessary) for our users. |
I'm not sure what the TensorFlow release plans are. It looks like tensorflow currently pins numpy<2.0, so it will at least play nicely with numpy 2.0 post-release. @MichaelHudgins may be able to say more. |
Thanks for the ping Jake. TensorFlow is targeting a branch cut end of May, we are unsure if numpy 2.0 support will make it but we are going to try and i should have better insight next week if the update will make next release. Like Jake said TensorFlow does have a <2.0 pin in at least both 2.16.1 and 2.15.1 which are our two supported versions currently, so I don't think we should immediately break if TensorFlow does not get the update done before a 2.0 release. |
Great thanks Michael and Jake! 🙏 Michael, if you or someone from the TensorFlow team, could please open a TensorFlow issue when you have more details and link that in this thread, that would be very helpful 🙂 |
What about dpnp? |
@rootsmusic would suggest checking their repo and if it is unclear raising an issue on their repo asking their plans |
@jakirkham AFAICT Existing Bokeh 3.4.1 already works with Numpy 2.0. There is only one failing unit test for me locally and that only due to a strict check of the text of an expected exception not showing
|
@bryevdv conda-froge hasn't fully worked out how to build with NumPy 2 yet. conda packages built for NumPy 2-compatible projects are still compiled against the default NumPy version and so will show that warning when NumPy 2 is installed in the environment. |
cc @Zac-HD |
Actually we have it figured out. We just need to make a choice about how to roll it out, which has a couple of choices with different trade-offs, and none perfect. |
@rgommers you can update the GeoPandas row as being released (https://github.com/geopandas/geopandas/releases/tag/v0.14.4) |
astropy 6.1.0 is out ! |
boost/python sits pretty deep in the stack from the POV of the conda-forge dependency graph (though admittedly the graph conflates packages depending on numpy & libboost with those depending on numpy & libboost-python, because all boost components are build in the same feedstock). So from that POV, it becomes quite important to solve boostorg/python#431. |
IIUC Boost.Python fixed this with PR: boostorg/python#432 Have we tried that patch? |
Yes, Matti pointed out that patch to me (it wasn't linked in the issue so I didn't see it), and it works fine when backported to 1.84 and even 1.82. |
@rgommers could we please update these entries in the table in the OP (replacing the old ones)?
|
Updated for all recent comments, thanks all! |
Thanks Ralf! 🙏 Looks like nearly all libraries have some kind of issue/PR reference (or already a working release) One that appears to be missed is Keras, so have raised upstream issue: keras-team/keras#19691 |
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.
<2
upper bound for 2.16.1, requirements, lock fileThe text was updated successfully, but these errors were encountered: