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
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to