-
Notifications
You must be signed in to change notification settings - Fork 521
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
Switch to use oldest_supported_numpy for build-time requirements #1993
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1993 +/- ##
=======================================
Coverage 89.91% 89.91%
=======================================
Files 17 17
Lines 2311 2311
=======================================
Hits 2078 2078
Misses 233 233 Continue to review full report at Codecov.
|
@TylerADavis : Could you also test this MR against python3.10? |
Sure, I just made a new Python 3.10 virtual environment, installed pkgconfig, and built h5py without issue.
|
I think sticking |
@aragilar You're saying to put |
It won't get put into the contents of the file, but the idea would be it would be used for |
If we're going to use oldest-supported-numpy, I'm happy with just putting it in |
I've moved everything except mpi4py from |
Thanks @TylerADavis ! |
This should fix #1934 .
pip install h5py
is currently broken on arm64 Macs because h5py requests to build with an old version of NumPy that can't compile from source on arm64 Macs. While this has been fixed in NumPy 1.21 and 1.20, the devs say they will not be making another release of NumPy 1.19.The NumPy devs I spoke with recommended oldest_supported_numpy, which lets us easily specify build-time requirements that are aware of platform specific requirements. I have tested this on my own arm64 Mac, and I can now build locally.
This PR moves the build time NumPy requirements out of
SETUP_REQUIRES
in setup.py and into the build-system requires inpyproject.toml
. Based on the oldest_supported_numpy documentation, I believe this shouldn't cause issues even if h5py requests a newer version at runtime.tox -e pre-commit
andtox -e py39-test-deps
both pass.Closes #1836