Platform compatibility tags¶
Platform compatibility tags allow build tools to mark distributions as being compatible with specific platforms, and allows installers to understand which distributions are compatible with the system they are running on.
The platform compatibility tagging model used for the
format is defined in PEP 425.
Platform tags for Windows¶
The scheme defined in PEP 425 covers public distribution of wheel files to systems running Windows.
Platform tags for macOS (Mac OS X)¶
The scheme defined in PEP 425 covers public distribution of wheel files to systems running macOS (previously known as Mac OS X).
Platform tags for common Linux distributions¶
The scheme defined in PEP 425 is insufficient for public distribution of wheel files (and *nix wheel files in general) to Linux platforms, due to the large ecosystem of Linux platforms and subtle differences between them.
Instead, PEP 513 defines the
manylinux standard, which represents a
common subset of Linux platforms, and allows building wheels tagged with the
manylinux platform tag which can be used across most common Linux
There are multiple iterations of the
manylinux specification, each
representing the common subset of Linux platforms at a given point in time:
manylinux1(PEP 513) supports
i686architectures, and is based on a compatible Linux platform from 2007.
manylinux2010(PEP 571) supports
i686architectures. and updates the previous specification to be based on a compatible Linux platform from 2010 instead.
manylinux2014(PEP 599) adds support for a number of additional architectures (
s390x) and updates the base platform to a compatible Linux platform from 2014.
In general, distributions built for older versions of the specification are
forwards-compatible (meaning that
manylinux1 distributions should continue
to work on modern systems) but not backwards-compatible (meaning that
manylinux2010 distributions are not expected to work on platforms that
existed before 2010).
Package maintainers should attempt to target the most compatible specification
possible, with the caveat that the provided build environment for
manylinux1 has reached end-of-life, and the build environment for
manylinux2010 will reach end-of-life in November 2020 1, meaning that
these images will no longer receive security updates.
Manylinux compatibility support¶
manylinux2014 specification is relatively new and is not yet widely
recognised by install tools.
The following table shows the minimum versions of relevant projects to support
Platform tags for other *nix platforms¶
The scheme defined in PEP 425 is not generally sufficient for public distribution of wheel files to other *nix platforms. Efforts are currently (albeit intermittently) under way to define improved compatibility tagging schemes for AIX and for Alpine Linux.