-
-
Notifications
You must be signed in to change notification settings - Fork 46
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
Packaging NumPy 2.0.0rc1 #311
Comments
(disclaimer: I'm not that familiar with how pre-releases are done in conda-forge) My current impression:
Questions:
1(b) seems nicer to me (avoids building everything twice), but I'm not sure what has to be adjusted to make that happen. |
Thanks Ralf! 🙏 We can certainly publish the
My guess is for The 1(a) approach is easy to roll out with our current setup. Though is more resource intensive over the long term The 1(b) approach may take a bit more work to roll out. That said, it is lighter on resource consumption and more flexible for users There is a bit of discussion about this particularly in issue ( conda-forge/conda-forge-pinning-feedstock#4816 ). One concern is other build tools or libraries could alter settings we provide ( conda-forge/conda-forge-pinning-feedstock#4816 (comment) ). This is why having a way to audit binaries for NumPy compatibility ( numpy/numpy#25948 ) would help us validate intended NumPy compatibility (or fail builds that are out of alignment) Agree 1(b) would be nicer. Just need to make sure that we are handling the aforementioned issue correctly A migrator would mainly be needed for 1(a). It may or may not be needed for 1(b) depending on how we handle other steps |
We should IMO clearly do 1(b). Double numpy builds until we're on 2.0+ would blow out our CI matrices. The validation that no package scripts override I've opened #312 to build 2.0.0b1 for the |
That would be my preference as well. Though it goes beyond even CI resources and provides value to developers and end users as they can more easily test and switch between NumPy 1.x & 2.x AIUI (and Ralf or Sebastian can correct me) |
Yeah, I think the pieces for this are mostly in place, except for the part where that test shouldn't have to be written & rewritten by every package compiling against numpy. That's the part that'll probably take a bit of figuring out. |
Agreed Some possible general test locations (please feel free to propose more):
|
In theory it might be possible to have a setup that requires no explicit specification. If you have:
Then you could scan the shipped In practice, I still think that exceedingly few packages should bother to do use this mechanism (and thus get a the long default). |
I completely agree. This is mostly an academic worry at this point, and is going to apply to very few packages in the future. The key things are (a) to start getting the build and runtime dependencies right as soon as possible after 2.0.0rc1 is out, and (b) add a permanent metadata patch for all built packages already out there which are not ABI-compatible with the NumPy 2.x ABI. |
With PR ( #312 ) now merged, users can install with |
Note that the setup here has changed a bit in order to allow the migration to proceed despite some constraints (e.g. we still have python 3.8, we need to keep strict channel priority, etc.). So as of #314, the packages here are pushed to the main conda-forge channel, but depend on So from the POV of installation, not much has changed, except that one needs to provide the channel explicitly:
Also note that the respective label is now called "numpy_rc", as I felt that's more appropriate here than "numpy_dev" |
Since we're on 2.0.0 already for a while, I'm closing this issue - thanks all! |
Recently NumPy tagged
v2.0.0b1
v2.0.0rc1
. This includes a number of changes documented in these release notesTo gain familiarity with it and make it easier for developers, feedstock maintainers, etc. to test with it, think we may benefit from packaging the beta here following CFEP 5
Bringing this up here to discuss. Also opening for discussion of any other next steps
References:
Edit: Updated to
2.0.0rc1
now that it is tagged and packaged. Though this was originally about2.0.0b1
Edit 2: Link ecosystem NumPy 2 compatibility tracking issue
The text was updated successfully, but these errors were encountered: