Add initial support for abi3.abi3t tag from PEP 803#5193
Add initial support for abi3.abi3t tag from PEP 803#5193
Conversation
|
I'll do another pass next week to get the tests passing here. In the meantime, I'd appreciate comments. |
|
In order to make the diff coverage happy, I'll probably need to:
I'm going to punt on that for now but I hope to come back to that. I also think free-threaded CI coverage is probably needed independent of the PEP 803 work. |
|
Actually, on second thought, I think I might be able to use |
|
Fun! It looks like a |
|
I looked at Python 3.15 testing a bit today and ran into ronaldoussoren/pyobjc#671. Even if that isn't a problem on CI, the full pyobjc dependency tree takes quite a while to build, so any 3.15 testing will be Linux-only for now probably. It probably does make sense to add an abi3t test extension that requires Python 3.15 or newer, but I'm going to punt on that for now. Besides that issue, all code in this PR is tested. |
Summary of changes
PEP 803 proposes a free-threaded stable ABI. I'm working on ecosystem support for a free-threaded stable ABI and end-to-end tests for PEP 803. There is experimental support for an opaque PyObject ABI in currently CPython 3.15 alphas.
This PR isn't mergeable until PEP 803 is accepted and pypa/packaging#1099 is available in a released version of
packaging.It possible that in the future setuptools might want to add a new config knob to go along with
py-limited-api(py-target-abi3tmaybe?), but that will require PEP 803 to be accepted in its current form. IMO for now requring a free-threaded interpreter to build an abi3t wheel is fine.Pull Request Checklist
newsfragments/.(See documentation for details)