fix: raise the Python floor to 3.14 - #49
Conversation
3.14 is the current stable line and the suite moves off 3.12 together. - requires-python is now >=3.14 - uv.lock re-resolved under CPython 3.14.4: 92 packages, and NO package dropped. The 464 removed lines are all cp311/cp312/cp313 wheel rows ruff target-version stays on py312 deliberately, matching scalo-py and hyperi-ci. At py314 the formatter strips the parentheses from multi-exception except clauses (PEP 758), so the whole suite holds its static-analysis level together rather than splitting it per repo.
VERSION and CHANGELOG are both 2.1.15; the chart was left at 2.1.14, so `helm install` deploys the previous image. Two tests already assert this and both fail on main. Unrelated to the Python floor bump this branch carries, and fixed here rather than left because it is what makes this branch's CI red.
|
Second commit added, and it is not about Python.
This is pre-existing and main is red. On So the chart has been shipping the previous image, and two tests written to catch precisely that have been failing on main. Fixed here rather than filed, because it is what makes this branch red and the repo rule is that a bug you see is yours. Bumped |
|
Chart fix worked -- That Gate failure is hyperi-ci's, not this PR's: Holding this rather than merging over it, same as dfe-loader #192. I have told the hyperi-ci session that a fleet-wide red Gate trains people to ignore a red Gate; merging straight past one the same afternoon would undercut that. It clears itself when they publish -- nothing here needs to change. |
Part of moving the whole suite to 3.14. The owner's rule: any part of the suite still on 3.12 moves.
requires-pythongoes>=3.12->>=3.14uv.lockre-resolved under CPython 3.14.4. 92 packages, and no package dropped -- the 464 removed lines are all cp311/cp312/cp313 wheel rows, confirmed bygit diff uv.lock | rg "^-name = "returning nothingruff
target-versionstays onpy312on purpose, matching scalo-py and hyperi-ci. At py314 the formatter strips the parentheses from multi-exceptionexceptclauses (PEP 758). hyperi-ci has a sharper reason than we do -- it loadsversion_source.pyby path with an older interpreter before any install -- but holding the whole suite at one static-analysis level beats splitting it per repo.Nothing else in this repo pins a Python version: no
.python-version, no classifiers block, no mypy/ty/vermin sections, and none of the three Dockerfiles uses a Python base image (all ubuntu, withpython3from apt).One thing NOT verified: whether
ubuntu:26.04ships Python 3.14. The container installs the distro interpreter, whichrequires-pythondoes not govern, so if 26.04 carries 3.13 the container diverges from the declared floor. Worth a check before this is relied on in anger.Depends on nothing, but note scalo-py #28 is still open -- the suite is not actually on 3.14 until that lands.
Done when CI is green.