-
-
Notifications
You must be signed in to change notification settings - Fork 847
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
NumPy v2 #4925
base: main
Are you sure you want to change the base?
NumPy v2 #4925
Conversation
First failure is with building NumPy itself
which is just because it's included in |
The new error shows that the static libs are placed in newer paths as well. From https://github.com/numpy/numpy/blob/2176571e1c7e5040df7a3cdfd9f7d859f4feb014/numpy/_core/npymath.ini.in#L18 I see that it moved to |
2275a61
to
e47a0e1
Compare
Cooool! That's awesome. I agree that this should go to 0.27. While we try our best to update packages as much as possible to support Numpy 2.0, I think it is also an option to disable some of them temporarily if they do not support Numpy 2.0. |
@ryanking13, thanks for your input, I can look into disabling packages once I have further progress. Would you know of a way to reliably run the Selenium code in |
Could you share with me the error you get? Some of the package versions in our docker image (e.g. pytest) is outdated so it may cause some error, but I am not sure. |
Ah, I see it's a very standard error: $ python packages/numpy/test_numpy.py which gets me
I upgraded |
b9e4c84
to
b6b3238
Compare
NumPy test suite passing (not sure if this is the best way to handle the buffer), but I'll move on to the rest now. |
|
Here, I have updated OpenCV ( |
I think you need to call pytest not python.
FYI: I generally prefer verbose mode + chrome browser when testing locally.
|
Updating the package version is not required, but updates are always welcome. If you're having trouble updating, you can leave it for later.
Awesome! Thank you for updating these packages! |
This comment was marked as resolved.
This comment was marked as resolved.
There's a failure with building LightGBM in CI, which I'm unable to reproduce locally – LightGBM builds perfectly fine for me... |
Yeah it works fine for me too locally but it fails in CI occasionally. I am guessing that some other package building in parallel with lightgbm is affecting the build, but I am not 100% sure. While we try to isolate package build as much as possible, some package affect each other. For example, when building scipy, it locates boost-cpp headers using pkg-config, and use it if they are found. So I when we build boost-cpp and scipy simultaneously, it is possible that some strange behavior happens. I am guessing that something similar is happening in the lightGBM... |
I might need some help with fixing Matplotlib here, I disabled PyArrow earlier as requested. I was initially going to do a new release for Edit: also, Matplotlib hasn't had an upper bound on the Python version in 3.5.2, so while it builds fine, 3.7.3 is the first release to actually build against Python 3.12 and provide cp312 wheels on PyPI. Do we need to upgrade to 3.7.3? |
I'm not sure about the details here, but I'd always ask "is this useful long term". Patching an old version of Matplotlib is in principle effort that only has a net negative effort on future work, especially if you're trying to patch package versions together that don't actually work together for regular installs from PyPI. So it seems wrong to me from first principles. I don't understand what the problem is with upgrading Matplotlib to latest, and then dealing with whatever is left (that's then Pyodide-specific issues)? |
Upgrading Matplotlib to version 3.8.4 or later does bring Pyodide-specific issues because of the gap between versions – that is, more function signature mismatches with |
It's very well possible that it's (too) hard right now, but this upgrade has to be done anyway sooner or later, so it's not wasted effort. I'd suggest at least trying, and otherwise do the maximum version bump you can get done and report blockers as new issues, before patching an old version. |
Description
This PR bumps the NumPy version in-tree to version 2.0.0, released on June 16, 2024. A lot of packages here are expected to fail with their builds because there has been an ABI change in NumPy, and many packages are being tracked in numpy/numpy#26191 – let us hope there won't be too many of them here. I would suggest that this goes into v0.27 rather than 0.26.2, not that there is a lot of time in 0.26.2 anyway... I shall try my best to update as many failing packages as I can in this PR, or open separate PRs for each of them if that would be better. I should be able to get an estimate once the CI runs. Versions of packages that are compatible with v2.0.0rc1 should be ABI-compatible with NumPy v2.
Checklists