Python ABIs and PEP 703

I spent the weekend away from computers, but kept thinking about how to best research this… And when I returned, the first place I looked had the answer:

As far as I can see, cryptography builds its py3.7-abi3 wheels using Python 3.11.
So, yes, it works in practice, on Mac, Windows, manylinux and musllinux.
Not sure what more is there to research. But there are still questions:

  • Should we (continue to) support this? (IMO: yes. At least for the initial rollout of abi4 – so that projects that build a single set of wheels can both keep 3.8+ compatibility and support nogil. And for the future: arguably this isn’t that difficult to support, and it allows us to “retroactively” apply improvements/optimizations in some cases.)
  • Should we test this better? (Not a real question. AFAIK we currently don’t have any CI checks that use multiple Python versions. If we want start testing any kind of stable ABI, this should be included.)

Do you have a recent (3.8+) example? I would indeed consider that an error/mistake/slackness.

1 Like