MNT: Build wheels with limited API #210
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Inspired by @vstinner's PyCon slides, I wanted to see if we could build to the Python limited API, which allows a single wheel to support all versions of Python above some minimum.
I've collapsed the build matrix down, and added a broad test matrix to ensure that the built wheels work correctly. This will produce fewer wheels (one per-platform) that should be installable on Python 3.13 as soon as Numpy has a build out.
Once this is in, I can stop pestering you with updates to the build system.
I'm using https://github.com/joerick/python-abi3-package-sample/ as a guide.