PEP 803: Stable ABI for Free-Threaded Builds

To some extent that’s a question for tools (the packaging library in particular). There’s no standard that says “CPython 3.15 must support cp39-abi3 tagged wheels”. But yes, the PEP needs to be explicit about what it expects from tag semantics, and that’s not as simple as it looks.

And in my view, that breakage should come with a version bump. I don’t think that these days anyone associates “abi3” with “Python 3”, so there’s no implication that “abi4” would be in any way like the Python 2->3 transition.

I don’t know what the proposal is for platform tags for free-threaded Python builds. Has anyone made a formal proposal on this yet? I have no feel for whether free threaded CPython 3.15 should accept cp315 wheels, or conversely whether CPython 3.15 with the GIL should accept cp315t wheels. And it’s important to note that generally, tags are considered separately, so “it depends on whether it’s using abi3” isn’t a helpful answer here.

3 Likes