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]>


Reply via email to