-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Test and prepare for NumPy 2.0 #7282
Comments
we could add skips to the matplotlib code to remove it as a test dependency for the "--pre" cases. |
It'd also be useful if you could do a new release with a That release is otherwise going to break with something like: EDIT: see https://numpy.org/devdocs/dev/depending_on_numpy.html#numpy-2-0-specific-advice for more details. |
Thanks for the advice. What I take from the linked guide is:
|
Yes, exactly. |
@jarrodmillman, in yesterday's meeting I suggested that I make a minor release 0.22.1 with the Stéfan suggested to ping you about it. What do you think? :) |
I am not sure I understand the motivation. As things currently stand, if (in the near future) someone installs NumPy 2 and does |
I think the argument is that if someone uses the |
Hmm, but as we've seen already this issue can be annoying for up-stream libraries. matplotlib limiting to NumPy<2.0 now is annoying for us, but we'll probably break other's tests with release candidates if we are not ready by then... |
I think pip will backtrack from 0.22.1 and try 0.22.0, but I am not sure. I believe I tested this before and confirmed that that's what happens. But I may very well be misremembering. I may try to create a test case and check. |
That is probably what happens now, but there are discussions around changing the Even if the For all future releases, please add |
PyWavelets 1.6.0rc1 is up on PyPI now, in case that helps. 1.6.0 final release will happen as soon as numpy 2.0.0rc1 is up. |
With SciPy 1.13.0 and PyWavelets 1.6.0 released, I think you should be able to do a release built against numpy 2.0.0rc1, right? |
Oh, we should get on that asap. @jarrodmillman, I was under the impression that 0.23.0rc0 was already built with NumPy 2.0 but local testing and CI (e.g. this job) tells me that's not the case? I think the easiest way to do so is to temporarily pin our build dependency to NumPy 2.0.0rc1. I think pip then picks up the pre-release even without us having to sneak the |
Yes indeed - with |
Addressed in #7367. 🚀 |
Confirmed that |
astropy 6.1 will have compat with NumPy 2 and is now on the launchpad |
Awesome, thanks @jarrodmillman! |
I see these errors with scikit-image 0.23.2, numpy 2.0.0rc1 and pywavelet 1.6.0:
The tests succeeds with numpy 1.26.4 Full logs:
|
I can reproduce, thanks for the report. Seems like we are starting to see these failures only now, because PyWavelets or some other dependency is no longer blocking NumPy 2.0, and now these tests are run with NumPy 2 for the first time. There are also failures on |
PyAMG released 5.2.1, which fixes the aforementioned issue On a different note, Mark just shipped scikit-image with NumPy 2 compatible builds in conda-forge: conda-forge/scikit-image-feedstock#110 |
hmm i somewhat forgot about the failures. But generally, things seem to have gotten down to the "normal bug level", and not "catastrophic failure level". |
Think PyAMG 5.2.1 fixed those already In any event having an easier way for more people to install, test, and report will speed up identification and resolution of remaining issues |
Any update? |
Could you clarify? We've had a numpy 2.0 compatible release out for quite a while now. |
On a host with Docker (or Podman) installed: docker run --rm -ti python:3.12 bash Inside the container: pip install scikit-image
|
Same for |
I think this is due to |
I just tested and came to the same conclusion. |
@michaelbratsch @stefanv Thanks for clarifying. I have not analysed this thoroughly enough. |
Also Sebastian notes ImageIO will release automatically on Monday |
Looks like ImageIO tagged 2.35.1 |
See #7502 |
It turns out that "Test nightly" only builds with NumPy 2.0 but tests with NumPy 1.26.2. 🙈 In the last run of "Test nightly" it looks like matplotlib is (indirectly) forcing the downgrade to 1.26? Or maybe its a dependency of matplotlib?
Testing with NumPy 2.0 locally shows that we need to fix our code in a few places. Let's address this in two steps:
For reference see #7249 (comment)
The text was updated successfully, but these errors were encountered: