[Distutils] Should abi3 tag be usable on Windows?

Cosimo Lupo cosimo at anthrotype.com
Sun Jan 7 05:12:35 EST 2018


Hello,

CFFI has recently added support for Py_LIMITED_API extension modules built for CPython 3.
The wheel module since version 0.30.0 also supports passing —py-limited-api cp3X to bdist_wheel command to allow the generated .whl to be installed on all CPython versions equal or greater than the one specified.

Yesterday I was trying to apply this on a cffi-built extension module, and it worked for Linux and macOS but failed for Windows:

https://github.com/hynek/argon2_cffi/pull/32

The AssertionError from wheel.pep425tags complains that a tag with abi3 would be unsupported for the target platform.

Alex Gronholm commented

> imp.get_suffixes() does not seem to contain any ABI3 suffixes, but I'm not sure if this is even applicable on Windows.

Incidentally, I noticed one specific package, PyQt5, that distributes both abi3-tagged wheels for Mac and manylinux and Windows wheels for a range of cp35.cp36.cp37 but with abi tag set as “none”, and they do seem to work.

So, can one make such py_limited_api wheels work on Windows with the current state of the tooling, and if so how?

Thank you in advance

Cosimo Lupo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20180107/f4bf6324/attachment.html>


More information about the Distutils-SIG mailing list