Support tiers
=============
Platform support is broken down into *tiers*. Each tier comes with
different requirements which lead to different promises being made
about support.
To be promoted to a tier, steering council support is required and is
expected to be driven by team consensus. Demotion to a lower tier
occurs then the requirements of the current tier are no longer met for
a platform for an extended period of time based on the judgment of
the release manager or steering council. For platforms which no longer
meet the requirements of any tier by b1 of a new feature release, an
announcement will be made to warn the community of the pending removal
of support for the platform (e.g. in the b1 announcement). If the
platform is not brought into line for at least one of the tiers by the
first release candidate, it will be listed as unsupported in this PEP.
Tier 1
------
- `CI failures <
https://github.com/python/cpython/actions/workflows/build.yml?query=branch%3Amain+is%3Acompleted>`__ block releases.
- Changes which would break the ``main`` branch are not allowed to be merged;
any breakage should be fixed or reverted immediately.
- All core developers are responsible to keep ``main``, and thus these
platforms, working.
- Failures on these platforms **block a release**.
======================== =====
Target Triple Notes
======================== =====
i686-pc-windows-msvc
x86_64-pc-windows-msvc
x86_64-apple-darwin BSD libc, clang
x86_64-unknown-linux-gnu glibc, gcc
======================== =====Tier 2
------
- Must have a reliable buildbot.
- At least **two** core developers are signed up to support the platform.
- Changes which break any of these platforms are to be **fixed or
reverted within 24 hours**.
- Failures on these platforms **block a release**.
=========================== ========================== ============================================== ========
Target Triple Notes Buildbot Contacts
=========================== ========================== ============================================== ========
aarch64-apple-darwin clang https://buildbot.python.org/all/#/builders/725 Ned Deily, Ronald Oussoren, Dong-he Na
aarch64-unknown-linux-gnu glibc, gcc https://buildbot.python.org/all/#/builders/125 Petr Viktorin, Victor Stinner
glibc, clang https://buildbot.python.org/all/#/builders/234 Victor Stinner, Gregory P. Smith
powerpcle-unknown-linux-gnu glibc, gcc https://buildbot.python.org/all/#/builders/90 Petr Viktorin, Victor Stinner
x86_64-unknownlinux-gnu glibc, clang https://buildbot.python.org/all/#/builders/441 Victor Stinner, Gregory P. Smith
=========================== ========================== ============================================== ========Tier 3
------
- Must have a reliable buildbot.
- At least **one** core developer is signed up to support the platform.
- No response SLA to failures.
- Failures on these platforms do **not** block a release.
=========================== ========================== ============================================== ========
Target Triple Notes Buildbot Contacts
=========================== ========================== ============================================== ========
aarch64-pc-windows-msvc https://buildbot.python.org/all/#/builders/729 Steve Dower
powerpcle-unknown-linux-gnu glibc, clang https://buildbot.python.org/all/#/builders/435 Victor Stinner
x86_64-unknown-freebsd BSD libc, clang https://buildbot.python.org/all/#/builders/172 Victor Stinner
=========================== ========================== ============================================== ========All other platforms
-------------------
Support for a platform may be partial within the code base, such as
from active development around platform support or accidentally.
Code changes to platforms not listed in the above tiers may rejected
or removed from the code base without a deprecation process if they
cause a maintenance burden or obstruct general improvements.
Platforms not listed here may be supported by the wider Python
community in some way. If your desired platform is not listed above,
please perform a search online to see if someone is already providing
support in some form.