tox
tox.wiki
What it is
tox is a free, open-source command-line tool for creating virtual environments, checking package builds and installations across different environments, and running tests in them. It can orchestrate test runners, linters, formatters, documentation generators, and build or publishing tools. As a continuous-integration frontend, tox combines CI workflows with shell-based testing and reduces boilerplate. Configuration can be stored in tox.toml, tox.ini, pyproject.toml, or toxfile.py. By default, it removes host environment variables unless allowed through pass_env and adjusts PATH so commands use the active environment. The command-line tool requires Python 3.10 or higher. Installation guidance covers pipx, uv, and pip, with apt and brew package-manager routes also documented. Plugins include tox-gh-actions for GitHub Actions, tox-uv for faster package installation, and tox-gh for enhanced GitHub integration. It runs on Linux, macOS, and Windows and is maintained as a volunteer open-source project.
Spec sheet
- Purpose
- tox manages virtual environments, checks package builds and installations across different environments, and runs tests in those environments.Read 10 Oct 2026 · tox.wiki
- Support
- The development guide describes tox as a volunteer-maintained open-source project and directs people with issues to the issue tracker.Read 10 Oct 2026 · tox.wiki
- CI use
- tox can act as a frontend to continuous integration servers, reducing boilerplate and combining CI and shell-based testing.Read 10 Oct 2026 · tox.wiki
- 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.Read 10 Oct 2026 · tox.wiki
- Configuration
- tox reads configuration from files including tox.toml, tox.ini, pyproject.toml, and toxfile.py.Read 10 Oct 2026 · tox.wiki
- Environment isolation
- By default, tox removes host environment variables unless allowed through pass_env and adjusts PATH so commands resolve inside the active environment.Read 10 Oct 2026 · tox.wiki
- Environment orchestration
- tox can set up environments and invoke test runners, linters, formatters, documentation generators, and build and publishing tools.Read 10 Oct 2026 · tox.wiki
- GitHub Actions integration
- The tox-gh-actions plugin integrates tox with GitHub Actions for CI workflows.Read 10 Oct 2026 · tox.wiki
- Installation options
- The installation guide recommends pipx or uv for installing tox in an isolated environment and also provides pip instructions.Read 10 Oct 2026 · tox.wiki
- 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.Read 10 Oct 2026 · tox.wiki
- Plugin ecosystem
- tox supports plugins, including tox-uv for faster package installation and tox-gh for enhanced GitHub integration across environments.Read 10 Oct 2026 · tox.wiki
- Python requirement
- The tox command-line tool requires Python 3.10 or higher.Read 10 Oct 2026 · tox.wiki
Plans and prices
Strong points and limits
Strong points
- Free open-source command-line tool
- Runs on Linux, macOS, and Windows
- Supports multiple configuration files
- Orchestrates tests and development tools
- Integrates with GitHub Actions
Limits
- Requires Python 3.10 or higher
- Environment variables are filtered by default
- Volunteer-maintained project
Who it suits
It suits developers and CI users managing isolated environments, package checks, tests, and development tooling across Linux, macOS, or Windows. Teams using GitHub Actions can use its listed integration plugin.
Verdict
tox provides environment orchestration and package testing with configuration, CI, and plugin support. Its Python requirement and default environment isolation are important setup details.
Where Specifiction places it
- Python Package Managers#26 of 277.2