uvoxen - generate test configuration files and run tests
[Home | GitLab | PyPI | ReadTheDocs]
Overview
The uvoxen tool allows test environments to be defined in
the pyproject.toml file with a syntax relatively similar to
the one used for Tox configuration.
It can then:
- run tests defined in these environments using the
uvtool - output Tox configuration and run Tox instead
- export the dependency groups into text files
See the Getting started section for an introduction.
The uvoxen tool expects test dependencies to be defined as
PEP 735 dependency groups in the pyproject.toml file.
Examples
These are some of the ways to use uvoxen; see
the Getting started and
the Configuration sections for more information.
Run tests using uv
The uvoxen uv run command runs one or more test environments in succession,
recreating the .venv virtual environment in between.
The commands defined in the environments are run using the uv tool.
If the --python (-p) command-line option is specified before the uv
subcommand, uvoxen will use that Python version to run the tests:
If the special value supported is passed as a Python version, uvoxen will
run all the selected environments for all the Python versions that are
listed as supported in the project.classifiers section of
the pyproject.toml file:
Generate a Tox configuration file
The uvoxen tox generate command will export the environment definitions into
a tox.ini file so that Tox may be used later (or separately):
If the --check command-line option is specified, uvoxen will not modify
the tox.ini file, but it will exit with a non-zero code if any changes
need to be made:
Generate requirements files from the dependency groups
The uvoxen req generate command will export the list of dependencies
defined in the specified dependency group into a text file suitable for
use with e.g. the ReadTheDocs mkdocs runner:
If the --output (-o) option is not specified, the generated file will
be named requirements/<group>.txt, e.g. requirements/docs.txt.
If the --check command-line option is specified, uvoxen will not modify
the requirements/docs.txt file, but it will exit with a non-zero code if
any changes need to be made:
Contact
The uvoxen tool was written by Peter Pentchev.
It is developed in a GitLab repository.
This documentation is hosted at Ringlet with a copy at ReadTheDocs.