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 600 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 were 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.
manylinux_x_y (PEP 600) supersedes all previous PEPs to define a
future-proof standard. It defines
y as glibc major an minor
versions supported (e.g.
manylinux_2_24 should work on any distro using
glibc 2.24+). Previous tags are still supported for backward compatibility.
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
manylinux2010 have reached end-of-life meaning that
these images will no longer receive security updates.
Manylinux compatibility support¶
manylinux2014specification is relatively new and is not yet widely recognised by install tools.
manylinux_x_yspecification 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.
Only support for
manylinux_2_24has been added in auditwheel 3.3.0