[Distutils] The Wheel specification and compatibility tags on Windows

Nick Coghlan ncoghlan at gmail.com
Thu Feb 28 07:07:05 CET 2013


On Thu, Feb 28, 2013 at 5:47 AM, Paul Moore <p.f.moore at gmail.com> wrote:
> It's certainly true that the ABI flags are incomplete (there's also
> the whole stable ABI to consider).

The stable ABI is covered in PEP 425: the stable ABI compatibility tag
is "abi3", and you use the Python version tag to indicate the minimum
required Python version. What part do you feel we missed?

> But they are certainly good enough
> for the foreseeable future, and if & when we want to implement a more
> complete solution, automatically converting to a new scheme is trivial
> (as we can determine the MSVCRT version from the Python version for
> all existing cases).

Indeed - the intent of PEP 425 is that all Windows wheel binaries
using "cpXY" or "abi3" ABI tags *must* be compatible with the
corresponding official CPython release from python.org. If they're
not, then the tool doing the publishing is using the wrong tags
(perhaps by misrepresenting itself at runtime as a normal CPython
distribution).

Any Python version linked against a different version of the MSVCRT is
*not* considered the same implementation from an ABI perspective, and
thus should *not* use the "cpXY" or "abi3" ABI tags. They can really
use whatever other tags they like, though (for example "cp27_vc6").

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Distutils-SIG mailing list