Project:Python/Implementations

From Gentoo Wiki
Jump to:navigation Jump to:search

This page shortly lists Python implementations (interpreters, providers) supported by Gentoo.

See also: upstream status of Python branches.

Implementation support status

Family Version PYTHON_COMPAT EPYTHON USE_PYTHON stdlib version Upstream EOL PYTHON_TARGETS State Interpreter available
CPython 2.5 python2_5 python2.5 2.5 2.5  ? removed No
2.6 python2_6 python2.6 2.6 2.6 2013-10-29 removed No
2.7 python2_7 python2.7 2.7 2.7 2020-01-01 removed  ::gentoo
3.1 python3_1 python3.1 3.1 3.1 2012-04-09 removed No
3.2 python3_2 python3.2 3.2 3.2 2016-02-20 removed No
3.3 python3_3 python3.3 3.3 3.3 2017-09-29 removed No
3.4 python3_4 python3.4 3.4 2019-03-18 removed No
3.5 python3_5 python3.5 3.5 2020-09-30 removed No
3.6 python3_6 python3.6 3.6 2021-12-23 removed No
3.7 python3_7 python3.7 3.7 2023-06-27 removed No
3.8 python3_8 python3.8 3.8 2024-10-07 removed  ::gentoo
3.9 python3_9 python3.9 3.9 2025-10-31 removed  ::gentoo
3.10 python3_10 python3.10 3.10 2026-10-31 deprecated  ::gentoo
3.11 python3_11 python3.11 3.11 2027-10-31 deprecated  ::gentoo
3.12 python3_12 python3.12 3.12 2028-10-31 current stable  ::gentoo
3.13 python3_13 python3.13 3.13 2029-10-31 experimental  ::gentoo
3.14 python3_14 python3.14 3.14  ? future  ::gentoo
CPython freethreading 3.13 python3_13t python3.13t 3.13 experimental  ::gentoo
3.14 python3_14t python3.14t 3.14 future  ::gentoo
PyPy 1.9 pypy1_9 pypy-c1.9 2.7-pypy-1.9 2.7 removed
2.0 pypy2_0 pypy-c2.0 2.7-pypy-2.0 2.7 removed
2.0+ pypy pypy 2.7 removed  ::gentoo
PyPy3 2.1+ pypy3 pypy3 3.3 experimental No
5.7+ 3.6
7.2+ 3.7
7.3.6+ 3.8
7.3.8+ 3.9
7.3.12+ 3.10  ::gentoo
Jython 2.5 jython2_5 jython2.5 2.5-jython 2.5 removed No
2.7 jython2_7 jython2.7 2.7-jython 2.7 removed No

Legend:

  • removed — the implementation has been removed from the repository, and the eclasses ignore its occurences in PYTHON_COMPAT. It is no longer possible to us, it should be removed from your system ASAP and you can drop it from PYTHON_COMPAT at will with no worries.
  • deprecated — the implementation is no longer supported and will be removed at some point. You should avoid adding support for it to more packages. However, please avoid removing it from PYTHON_COMPAT since that can cause dependency errors.
  • supported — the implementation is currently supported. We're happy to handle bugs, add support for it, etc. Developers are encouraged to test their packages with all supported implementations.
  • current stable — the implementation is supported and enabled by default for our users. The developers are expected to test their packages with all implementations qualified as this.
  • experimental — the work on supporting the implementation is ongoing. It is not ready for wide use yet but developers may already start testing their packages with it.
  • future — the implementation will be supported in the future. The implementation name is reserved already, and the eclass may have partial support for it. However, ebuilds are not allowed to enable it yet.

Implementation support timeline

Impl. Interpreter added Target added Interpreter stable Target stable (unmasked) Target default Obsolescence warning Package last rites Package removal Target removal Interpreter removal Upstream EOL
CPython
2.7 2021-01-01 2021-02-01 2021-01-31 (except for build-time) 2020-01-01
3.6 2017-01-08 (3.6.0 final)

2017-01-25

2017-12-01 2018-07-24 2021-01-01 2021-01-15 2021-01-15 2022-04-13 2021-12-23
3.7 2018-07-06 (3.7.0 final)

2018-07-06

2019-12-04 2020-05-06 2020-09-01 2021-05-01 2021-05-31 2021-06-01 2022-05-18 2023-06-27
3.8 2019-11-11 (3.8.0 final) 2019-11-12 2020-04-21 2020-07-06
(2020-07-01)
2020-12-02 (2020-12-01) 2023-01-14 2024-10-07
3.9 2020-01-05 (alpha2) 2020-05-25 2020-11-06 2020-11-09 2021-06-01 2022-01-28 2023-05-01 (2025-10)
3.10 2020-10-05 (alpha) 2021-05-04 2021-11-29 2021-12-30 2022-07-02 (2022-06-01) (2026-10)
3.11 2021-10-30 (alpha) 2022-05-09 2022-11-06 2022-11-08 2023-05-01 (2027-10)
3.12 2022-10-25 (alpha) 2023-05-23 2023-10-18 2024-02-20 2024-06-01 (2028-10)
3.13 2023-10-13 (alpha) 2024-05-08 (2029-10)
3.14 2024-10-16 (alpha)

Dates in bold indicate when events took place, dates in parentheses are planned dates. Stabilization dates are given for amd64.