Skip to content
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

BLD: oldest-supported-numpy is now unneeded #4568

Closed
neutrinoceros opened this issue Jul 7, 2023 · 3 comments · Fixed by #4637
Closed

BLD: oldest-supported-numpy is now unneeded #4568

neutrinoceros opened this issue Jul 7, 2023 · 3 comments · Fixed by #4637
Labels
build related to the build process dependencies Pull requests that update a dependency file
Milestone

Comments

@neutrinoceros
Copy link
Member

Since numpy 1.25, building backward compatible wheels against newer versions of numpy is supported, see:
https://numpy.org/doc/stable/release/1.25.0-notes.html#compiling-against-the-numpy-c-api-is-now-backwards-compatible-by-default

As a result, oldest-supported-numpy will likely stop being updated in the near future and we should migrate back to numpy>=1.25 as a build-time requirement instead.

I currently have no reasons to think this migration is urgent, but depending on how things play out in the coming weeks it might be necessary to do it in order to add compatibility with Python 3.12

It may still be worth trying it out sooner rather than later, if time allows it.

@neutrinoceros neutrinoceros added infrastructure Related to CI, versioning, websites, organizational issues, etc dependencies Pull requests that update a dependency file labels Jul 7, 2023
@neutrinoceros
Copy link
Member Author

important note: numpy 1.25 doesn't support Python 3.8, so oldest-supported-numpy is still needed for that specific version.

@neutrinoceros
Copy link
Member Author

Xref scipy/oldest-supported-numpy#76

@neutrinoceros neutrinoceros added build related to the build process and removed infrastructure Related to CI, versioning, websites, organizational issues, etc labels Jul 31, 2023
@neutrinoceros
Copy link
Member Author

One unexpected lesson from the discussion upstream is that wheels built with numpy 1.x (e.g., using oldest-supported-numpy) will not be runtime-compatible with numpy 2.0 (due early 2024), but the new backward-compatibility mechanism introduced in numpy 1.25 will allow wheels built on 2.0 to run fine with older numpys. With this in mind, migrating away from oldest-supported-numpy appear like a necessary step towards compatibility with numpy 2.0, so let's give it a try.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build related to the build process dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant