From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 990521584F2 for ; Tue, 18 Mar 2025 11:39:46 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 7DC543432CA for ; Tue, 18 Mar 2025 11:39:46 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 438D01103E2; Tue, 18 Mar 2025 11:39:04 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 7C13911037F for ; Tue, 18 Mar 2025 11:39:03 +0000 (UTC) Received: from [192.168.1.1] (c144-156.icpnet.pl [85.221.144.156]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id C7A0E343085; Tue, 18 Mar 2025 11:39:02 +0000 (UTC) Message-ID: Subject: [gentoo-dev] [Python] The big plans for May: Python 3.13 by default, Python 3.10 + PyPy 3.10 gone, Python 3.14 incoming From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Date: Tue, 18 Mar 2025 12:38:58 +0100 Organization: Gentoo Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-LLdn0PcYlcRVP2lPLyT7" User-Agent: Evolution 3.54.3 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 X-Archives-Salt: 1b89ce94-99f6-4368-a894-04d35e6a458b X-Archives-Hash: f8725743b30d490ec2d1bd0571fcbd94 --=-LLdn0PcYlcRVP2lPLyT7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, everyone. It seems that everything looks good enough to keep our yearly switchover around May. Which means that around 2025-05-01, we are going to: 1. Change the default Python target from CPython 3.12 to 3.13, 2. Remove the support for Python 3.10 and PyPy 3.10 (pypy3 target). Mid-May we also expect Python 3.14.0b1, and therefore Python 3.14 target being introduced. =3D=3D Python 3.13 switch =3D=3D Once again, please test your packages against Python 3.13 and add it to the COMPAT. Overall, looks like the porting is at roughly 76% right now, and from my little sprint yesterday, it looks like in many cases the packages simply work already with 3.13 and just need to be tested and marked. As usual, the lists and graphs can be found on qa-reports: https://qa-reports.gentoo.org/output/gpyutils/312-to-313.txt https://qa-reports.gentoo.org/output/gpyutils/312-to-313.svg and for pending stabilizations: https://qa-reports.gentoo.org/output/gpyutils/312-to-313-stablereq.txt https://qa-reports.gentoo.org/output/gpyutils/312-to-313-stablereq.svg There's also the more general impl matrix at: https://qa-reports.gentoo.org/output/python-pkg-impls.txt While porting, please also remember to switch packages using distutils- r1 to use PEP517 builds, as the pre-PEP517 world is falling apart. I'm going to submit the news item for review shortly. =3D=3D Python 3.10 and PyPy 3.10 removal =3D=3D PyPy3.11 has been released recently, and the porting is mostly done.=20 There are still a handful of packages that work with PyPy3.10 only: https://qa-reports.gentoo.org/output/gpyutils/pypy310-to-pypy311.txt However, they seem low priority =E2=80=94 probably most of them have gotten marked for pypy3 by accident, and may never have been actually tested.=20 Feel free to test/port them, but I think there will be no harm if they lose PyPy3 support entirely for the time being. Given that the main reason for keeping CPython 3.10 target was to be able to compare results between CPython and PyPy, the release of PyPy3.11 allows us to remove the target. On top of that, some major projects (Sphinx and IPython) have removed upstream support for 3.10 already, and well, with all their reverse dependencies things are already falling apart. So, we're going to remove 3.10 targets while switching the default to 3.13. As usual, dev-lang/python:3.10 will remain available for local/venv use, for as long as we can (i.e. until upstream EOL, then until it breaks hard). We may also keep dev-lang/pypy:3.10 for a while, unless upstream discontinues it before the switchover. =3D=3D Python 3.14 beta =3D=3D PEP 745 [1] sets the beta 1 release date for 2025-05-06. As customary, at this point we will add new target support to the eclass, and start porting the initial packages. We're not syncing this with the other switches, since new COMPATs will appear gradually anyway. [1] https://peps.python.org/pep-0745/ --=20 Best regards, Micha=C5=82 G=C3=B3rny --=-LLdn0PcYlcRVP2lPLyT7 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQFGBAABCgAwFiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAmfZW1ISHG1nb3JueUBn ZW50b28ub3JnAAoJEGOa2uIyniQO140IAJIwl8JlIIWh1PSJVRPbXCVJlEkfkvgr H6pRD18W3EGP1tg/ux21iTVGOYaolyyYLsBcjglmzMbubeBJg8RJwVEpOtoBFIRR jhEm0uUZfvwiWLturrjJr5c8IvEu+5pvvSr0qkQbcJDR+itXlIS6QOsTWSrkcHmO Um/68zyDM+DinpFcoZCui2biqNohhIf0FciDVyiGd1D5AIH99H4qISK1cIzTPSPn Oi7QSPrBke17FreC0QU4lBoi2N/UkMUo5dzbMk3DmAvqdtklg2wBzg+YKZg/w6zP zsm14EVOVSCFa0uzu1U9fUT65wO29DOkY9AfXQ+MwnePSNYpP+qD808= =8U/D -----END PGP SIGNATURE----- --=-LLdn0PcYlcRVP2lPLyT7--