tox
What it is
tox is a free, open-source command-line tool for creating isolated environments and checking Python packages across them. It can build and install packages in different environments, then run tests, linters, formatters, documentation generators, and build or publishing tools. tox can front continuous-integration servers, combining CI workflows with shell-based testing. Configuration may be stored in tox.toml, tox.ini, pyproject.toml, or toxfile.py. By default, it removes host environment variables unless they are allowed through pass_env and changes PATH so commands resolve inside the active environment. The command-line tool requires Python 3.10 or newer. Installation guidance covers pipx, uv, pip, apt, and brew. Plugins include tox-gh-actions for GitHub Actions, tox-uv for package installation, and tox-gh for GitHub integration. It runs on Linux, macOS, and Windows and includes a compiled man page.
For and against
For
- Manages isolated virtual environments
- Runs tests and development tools
- Supports several configuration files
- Integrates with GitHub Actions
- Free and open source
Against
- Requires Python 3.10 or higher
- Environment variables are filtered by default
- Volunteer-maintained project
The verdict
tox combines environment setup, package checks, and test execution in one command-line workflow. Its plugins and CI integration extend the same configuration across development and automation.
Who it suits
tox fits Python developers and teams managing repeatable test environments, package builds, and CI workflows. It is suited to users who need configurable isolation across Linux, macOS, or Windows.
Plans and prices
tox
Open-source command-line tool
Read 10 Oct 2026 · tox.wiki
On the record
- CI use
- tox can act as a frontend to continuous integration servers, reducing boilerplate and combining CI and shell-based testing.tox.wiki · read 10 Oct 2026
- CLI and platform evidence
- The development guide documents running tox from a source checkout on Linux and Windows; the installation guide also describes package-manager installation with apt and brew.tox.wiki · read 10 Oct 2026
- Configuration
- tox reads configuration from files including tox.toml, tox.ini, pyproject.toml, and toxfile.py.tox.wiki · read 10 Oct 2026
- Environment isolation
- By default, tox removes host environment variables unless allowed through pass_env and adjusts PATH so commands resolve inside the active environment.tox.wiki · read 10 Oct 2026
- Environment orchestration
- tox can set up environments and invoke test runners, linters, formatters, documentation generators, and build and publishing tools.tox.wiki · read 10 Oct 2026
- GitHub Actions integration
- The tox-gh-actions plugin integrates tox with GitHub Actions for CI workflows.tox.wiki · read 10 Oct 2026
- Installation options
- The installation guide recommends pipx or uv for installing tox in an isolated environment and also provides pip instructions.tox.wiki · read 10 Oct 2026
- Man page
- tox includes a compiled man page in its wheel, and package managers such as apt and brew install it in an appropriate system location.tox.wiki · read 10 Oct 2026
- Plugin ecosystem
- tox supports plugins, including tox-uv for faster package installation and tox-gh for enhanced GitHub integration across environments.tox.wiki · read 10 Oct 2026
- Purpose
- tox manages virtual environments, checks package builds and installations across different environments, and runs tests in those environments.tox.wiki · read 10 Oct 2026
- Python requirement
- The tox command-line tool requires Python 3.10 or higher.tox.wiki · read 10 Oct 2026
- Support
- The development guide describes tox as a volunteer-maintained open-source project and directs people with issues to the issue tracker.tox.wiki · read 10 Oct 2026