-
Notifications
You must be signed in to change notification settings - Fork 25
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
Building abi3 wheel only #59
Comments
That is a really awesome find, thank you for bringing it to my attention. It should make all of the builds much more manageable, and I can use it in other projects too. I would absolutely appreciate a PR, with the following alterations:
|
This took me so long to find, it was poorly documented: pypa/wheel#583 I have moved the setting into setup.py
I was thinking of marking the absolute minimum required python version, but sure
Makes sense If you don't mind marking cibuildwheel version (See #58) as a commit, I can open a PR immediately:
Or else, I can wait for next release of cibuildwheel before PR |
I'd rather wait until the next release of cibuildwheel. Thanks again for your contributions! |
According to cffi documentation, code produced by cffi >= 1.8 conatins
#define Py_LIMITED_API
, which makes the wheel abi3 compatible. This means we can just produce one abi3 wheel on minimum supported python version, and that wheel should work on all subsequent python 3 versions.This reduces number of wheels needed to be built and uploaded to pypi, as well as eliminating the need to rebuild when python releases new versions.
All that is required in this project is to create
setup.cfg
and add:In theory the wheel produced should run in python 3.2, but the python code uses enum, which is first introduced in python 3.4. I could not install python 3.4, but I managed to verify that the wheel could be installed in python 3.5 on Linux, and passes all tests with pytest.
Github action building abi3 wheels with artifact: https://github.com/laggykiller/pywebp/actions/runs/8115496397
I have also added an action that run abi3audit, ensuring that the wheels built are abi3 compatible.
If you are interested, I can submit a PR, along with the PR mentioned in #58
The text was updated successfully, but these errors were encountered: