A command-line tool for automating tests across multiple Python environments, configured with a standard Python file instead of tox's ini format.
tox-dev/tox
A command-line tool that automates Python testing and packaging checks across multiple virtual environments and Python versions.
- Stars
- 3,977
- Forks
- 637
- Open issues
- 68
- Last commit
- 18 hours ago
What is it?
tox is a generic virtual environment management and test command line tool. It builds your package, creates an isolated virtual environment for each configured target, installs the package and its dependencies, and runs your tests there. This makes it straightforward to verify that a Python project builds and installs correctly across different Python implementations, versions, or dependency sets.
Beyond local testing, tox works as a frontend for continuous integration servers. Configuration lives in a single file, so the same commands run identically on a developer's machine and in CI, reducing duplicated pipeline scripts. It is designed to work alongside test runners such as pytest.
The project is part of a broader effort to ease Python packaging, testing, and release workflows.
Key features
- 01Creates isolated virtual environments for each configured Python version or dependency set.
- 02Builds and installs your package into each environment before running tests.
- 03Runs any test tool, such as pytest, inside the environments.
- 04Serves as a single entry point for both local runs and CI pipelines.
Use cases
- Testing a Python library against several Python versions before a release.
- Checking that a package installs correctly from its built distribution.
- Replacing duplicated shell scripts in CI configuration with one tox config file.
In collections
Topics
FAQ
- What is tox?
- A command-line tool that automates Python testing and packaging checks across multiple virtual environments and Python versions. tox is a generic virtual environment management and test command line tool. It builds your package, creates an isolated virtual environment for each configured target, installs the package and its dependencies, and runs your tests there. This makes it straightforward to verify that a Python project builds and installs correctly across different Python implementations, versions, or dependency sets.
- Is tox free to use? What license does it have?
- tox is open source under the MIT license. Check the license terms before using it in commercial products.
- Is tox still maintained?
- Actively maintained. The last commit to tox was on Nov 7, 2026.
- What can I use tox for?
- Testing a Python library against several Python versions before a release. Checking that a package installs correctly from its built distribution. Replacing duplicated shell scripts in CI configuration with one tox config file.
- Where can I get tox?
- The source code and installation instructions are on GitHub: https://github.com/tox-dev/tox
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Modern, extensible Python project manager covering builds, environments, testing, linting, versioning and publishing.
Installs and runs Python command-line applications in isolated environments so their dependencies never conflict with each other or the system.
GitHub CLI extension that lets you write AI-powered repository automation as Markdown and runs it securely through GitHub Actions.
A Go CLI that generates GFM Markdown documentation from a live database schema, with diff, lint and ER diagram support for CI.
Jenkins is an open-source automation server for building, testing, and deploying software, extensible through over 2,000 plugins.