1.2.6
A toolchain and packaging release. There are no behavior, API, or
configuration changes and no change to the core dependency footprint: the
published wheel/sdist and the release binaries are built from the same sources
as before and install exactly the same runtime dependencies. The work adopts
uv across the paths where it pays off -- CI, the
build/release pipeline, and the local dev loop -- refreshes the container base
images, and pins the CI action versions.
-
uv on the runner-native CI, build, and dev paths. The dist build
(uv build), the runner-native PyInstaller binaries (macOS, Windows, and the
all-wheels Linux arches, each installed into a throwawayuv venvand frozen
withuv run), the version probe (uv run --no-project --with setuptools-scm), andtwine check(uvx twine) all run through uv now:
parallel downloads and a shared global wheel cache make them markedly faster,
and the results are behavior-identical.UV_PYTHON_DOWNLOADS=neverkeeps uv on
the exact interpretersetup-pythonpinned rather than fetching a managed one,
andUV_HTTP_TIMEOUTcarries the same transient-network hardening the pip
paths had. -
The emulated foreign-arch binary legs stay on pip, on purpose. The
musl and glibc-extra binary jobs (armv7/armv6, ppc64le, s390x, riscv64, i686)
build insidedocker runcontainers under QEMU, where uv is not a fit: its
official image is amd64/arm64 only and it has no musl ppc64le/s390x wheels, so
pip remains the arch-portable choice there and keepsPIP_RETRIES/PIP_TIMEOUT
hardening. The uvloop bundling and per-arch--versionsmoke test are
unchanged on every leg. -
uv in the local dev loop.
tox.ininow declaresrequires = tox-uv, so a
plaintoxauto-provisions its environments and installs dependencies with uv
(much faster, behavior-identical);tox-uvis added to thedevextra and
requirements_dev.txt.CONTRIBUTING.mddocuments the uv quickstart
(uv venv,uv pip install -e ".[dev]") alongside the unchanged stock
venv+pippath, and notes thetox --runner virtualenvescape hatch for
anyone who wants the legacy runner. -
Refreshed container base images. The Docker variant matrix moves to
current bases:ubuntu24.04 -> 26.04 (Python 3.12 -> 3.14),rhelUBI9 ->
UBI10,fedora41 -> 44 (3.13 -> 3.14),opensuseLeap 15.6 -> 16.0 (3.11 ->
3.13), anddistrolessto Python 3.13. The Debian/Alpine images and every
image tag stay as they were. -
Internal: every CI-consumed action is pinned to an exact version
(checkout@v7.0.0,setup-python@v6.3.0,setup-uv@v8.2.0, the docker/*
actions, etc.), and adependabot.ymlis added to keep those pins and the
Python dev dependencies current.
Full Changelog: 1.2.5...1.2.6