On 2/10/26 02:48, Charlie Li wrote:
On 09/02/2026 16:37, Guido Falsi wrote:
Hi,
I'll take the risk of prodding the wasp nest related to python version
upgrade.
I'm forced to do this as the maintainer of deskutils/calibre.
Tat project has recently released a new major version with and hard
requirement of python 3.14 or newer [1]. It uses new constructs and
imports in multiple places, as much as needed to make the "hack it to
work with 3.11" strategy not viable (short of of creating a full fork
of the software).
So my question, which is not a demand, but just a request for
information I did not find elsewhere:
Is there any effort underway to update the python default to a newer
version?
The other replies have covered the existing effort to get to 3.12 as
default, which is a stopgap to 3.13. Generally python@'s procedure is to
set the default to N-1, where N is the latest upstream CPython release
branch.
Unlike previous default changes, 3.12 and later's changes have become
far more intrusive, specifically deprecations and removals of certain
components that nearly every package has (historically) relied on. The
greater Python package ecosystem has also not been the most timely to
act upon those changes let alone receive the information of them happening.
The main problem for us in ports is that setting a lower flavour bound
that is higher than the default is broken. This is because the flavour
corresponding to the default will not exist, which causes poudriere-
bulk(8) to abort immediately. The workaround is to set the lower bound
to the current default, but set BROKEN on every flavour except for 3.14
(and soon 3.14t).
Thanks for the suggestion, not sure how this works, but I'll try. Do you
have any pointers to some port implementing this I can look at for
inspiration?
Also, apart from that, as I explain in [1], if I simply put
USES=python:3.14+ in the Makefile, the port fails to build due to many
of its requirements failing to provide a py-314 flavor. Is there any
work on this front?
I ask to know if there is some effort I can join and maybe help,
although I'm not a python expert.
Which dependencies have an upper flavour bound to < 3.14?
This is a list copied from the failed poudriere build:
py314-jeepney-0.9.0 devel/py-jeepney@py314
py314-apsw-3.50.4.0 databases/py-apsw@py314
py314-msgpack-1.1.2 devel/py-msgpack@py314
py314-python-dateutil-2.9.0 devel/py-python-dateutil@py314
py314-lxml-6.0.2 devel/py-lxml@py314
py314-PyQt6-sip-13.11.0 devel/py-qt6-sip@py314
py314-sip-6.15.1,1 devel/py-sip@py314
py314-PyQt-builder-1.19.1 devel/py-qtbuilder@py314
py314-xxhash-3.6.0 devel/py-xxhash@py314
py314-netifaces-0.11.0_1 net/py-netifaces@py314
py314-pycryptodome-3.23.0 security/py-pycryptodome@py314
py314-dnspython-2.8.0_1,1 dns/py-dnspython@py314
py314-feedparser-6.0.12 textproc/py-feedparser@py314
py314-zeroconf-0.132.2 net/py-zeroconf@py314
py314-markdown-3.10 textproc/py-markdown@py314
py314-qt6-pyqt-6.10.2 devel/py-qt6-pyqt@py314
py314-pillow-11.3.0_2 graphics/py-pillow@py314
py314-regex-2025.11.3 textproc/py-regex@py314
py314-css-parser-1.0.10_1 www/py-css-parser@py314
py314-mechanize-0.4.10_1 www/py-mechanize@py314
py314-html5-parser-0.4.12_4 www/py-html5-parser@py314
py314-beautifulsoup-4.13.4_2 www/py-beautifulsoup@py314
py314-qt6-webengine-6.10.0 www/py-qt6-webengine@py314
Some are quite frightening, I'll try to find time to tackle some of these.
--
Guido Falsi <[email protected]>