Replace pip-backed virtualenv environments with uv via the tox-uv plugin. The test matrix (envlist, Python versions, all deps) stays unchanged — only the install backend changes.
Scope
[tox] requires: swap virtualenv<20.26.3 for tox-uv
- Remove
py3.14t: VIRTUALENV_PIP=24.1 (virtualenv-specific, no-op with tox-uv)
- Move bare
pip install workaround commands into deps (tox-uv doesn't seed pip into venvs)
- CI setup steps: add
tox-uv to the pip install tox step in all test-integrations-*.yml workflows
- Changes live in the source templates (
tox.jinja, test_group.jinja) and auto-generated outputs (tox.ini, CI YAMLs)
Deferred
- Python 3.6 CI container: currently the
python:3.6 Docker container runs tox, but tox+tox-uv require Python ≥3.10. Needs a follow-up to run tox under a modern host Python with 3.6 as a target interpreter.
Tracking
Action taken on behalf of Neel Shah.
Replace pip-backed virtualenv environments with uv via the tox-uv plugin. The test matrix (envlist, Python versions, all deps) stays unchanged — only the install backend changes.
Scope
[tox] requires: swapvirtualenv<20.26.3fortox-uvpy3.14t: VIRTUALENV_PIP=24.1(virtualenv-specific, no-op with tox-uv)pip installworkaround commands intodeps(tox-uv doesn't seed pip into venvs)tox-uvto thepip install toxstep in alltest-integrations-*.ymlworkflowstox.jinja,test_group.jinja) and auto-generated outputs (tox.ini, CI YAMLs)Deferred
python:3.6Docker container runs tox, but tox+tox-uv require Python ≥3.10. Needs a follow-up to run tox under a modern host Python with 3.6 as a target interpreter.Tracking
tox.ini— CI YAMLs need a manual regeneration viascripts/generate-test-files.shby someone withworkflowspush permission)Action taken on behalf of Neel Shah.