From 118b00a1844da63c1707081de71a3a18d64db87c Mon Sep 17 00:00:00 2001 From: Stephen Crowe <6042774+crowecawcaw@users.noreply.github.com> Date: Fri, 7 Aug 2026 13:01:42 -0700 Subject: [PATCH] chore(deps): drop unused twine pin from requirements-testing.txt twine is a publishing tool, not a test dependency, but it was pinned in requirements-testing.txt, which is installed on every leg of the 3.9-3.14 CI matrix. Nothing under test/ or scripts/ imports it, so the pin only cost install time in 18 jobs that never invoked it. The pin was also inert where twine actually runs: pipeline/build.sh and pipeline/build.ps1 do "pip install --upgrade twine" before pipeline/publish.sh calls "twine upload", so the publish path already resolved the latest twine regardless of the "== 6.*" pin. Removing it also unblocks twine 7 (#1314), which raised its floor to Python >= 3.10 and so could not be pinned in a file installed on the 3.9 matrix legs. The publish path is unaffected: the deadline wheel is universal (py3-none-any), the GitHub release workflows upload via pypa/gh-action-pypi-publish rather than twine, and the internal CodeArtifact publish runs on Python 3.13. Signed-off-by: Stephen Crowe <6042774+crowecawcaw@users.noreply.github.com> --- requirements-testing.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index f7315af07..aba270750 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -7,7 +7,6 @@ pytest-timeout == 2.* pytest-xdist == 3.* freezegun == 1.* types-pyyaml == 6.* -twine == 6.* mypy == 2.3.*; python_version > "3.9" mypy == 1.19.*; python_version <= "3.9" ruff == 0.15.*