tox-uv is a tox plugin which replaces virtualenv and pip with uv in your tox environments. Note that you will get both the benefits (performance) or downsides (bugs) of uv.
Install tox-uv
into the environment of your tox and it will replace virtualenv and pip for all runs:
python -m pip install tox-uv
python -m tox r -e py312 # will use uv
uv-venv-runner
is the ID for the tox environments runner.uv-venv-pep-517
is the ID for the PEP-517 packaging environment.uv-venv-cmd-builder
is the ID for the external cmd builder.
This flag, set on a tox environment level, controls if the created virtual environment injects pip/setuptools/wheel into
the created virtual environment or not. By default, is off. You will need to set this if you have a project that uses
the old legacy editable mode, or your project does not support the pyproject.toml
powered isolated build model.
This flag, set on a tox environment level, informs uv of the desired resolution strategy:
highest
- (default) selects the highest version of a package that satisfies the constraintslowest
- install the lowest compatible versions for all dependencies, both direct and transitivelowest-direct
- opt for the lowest compatible versions for all direct dependencies, while using the latest compatible versions for all transitive dependencies
This is a uv specific feature that may be used as an alternative to frozen constraints for test environments, if the intention is to validate the lower bounds of your dependencies during test executions.
This flag, set on a tox environment level, controls how uv select the Python interpreter.
By default, uv will attempt to use Python versions found on the system and only download managed interpreters when necessary. However, It's possible to adjust uv's Python version selection preference with the python-preference option.