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

Add support for wheel compatibility with the limited API. #228

Merged
merged 3 commits into from
Oct 7, 2024

Conversation

stewartmiles
Copy link
Contributor

https://docs.python.org/3/c-api/stable.html#limited-c-api

Python 3.2 introduced the Limited API, a subset of Python’s C API.
Extensions that only use the Limited API can be compiled once and
work with multiple versions of Python Python 3.2

This adds abi3 to the list of compatible ABIs for all versions of Python beyond 3.2.

Fixes #225

https://docs.python.org/3/c-api/stable.html#limited-c-api
> Python 3.2 introduced the Limited API, a subset of Python’s C API.
> Extensions that only use the Limited API can be compiled once and
> work with multiple versions of Python Python 3.2

This adds `abi3` to the list of compatible ABIs for all versions
of Python beyond 3.2.

Fixes pypa#225
@vsajip
Copy link
Collaborator

vsajip commented Sep 30, 2024

There are CI failures, please can you take a look @stewartmiles ? Thanks. You can ignore the Codecov-related errors.

On Windows imp.get_suffixes() doesn't return the limited ABI
as supported even though - when carefully building an extension -
it is (see the discussion on pypa/pip#4445).
@stewartmiles
Copy link
Contributor Author

@vsajip sorry about that, it looks like imp.get_suffixes() doesn't return the limited ABI on Windows correctly, I've worked around this.

@vsajip vsajip merged commit 2c4d2fa into pypa:master Oct 7, 2024
23 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support mounting wheels with extensions that use the limited C API
2 participants