freshcrate
Skin:/

tox

tox is a generic virtualenv management and test command line tool

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

# tox [![PyPI](https://img.shields.io/pypi/v/tox)](https://pypi.org/project/tox/) [![Supported Python versions](https://img.shields.io/pypi/pyversions/tox.svg)](https://pypi.org/project/tox/) [![Downloads](https://static.pepy.tech/badge/tox/month)](https://pepy.tech/project/tox) [![Documentation status](https://readthedocs.org/projects/tox/badge/?version=latest)](https://tox.readthedocs.io/en/latest/?badge=latest) [![check](https://github.com/tox-dev/tox/actions/workflows/check.yaml/badge.svg)](https://github.com/tox-dev/tox/actions/workflows/check.yaml) `tox` aims to automate and standardize testing in Python. It is part of a larger vision of easing the packaging, testing and release process of Python software (alongside [pytest](https://docs.pytest.org/en/latest/) and [devpi](https://www.devpi.net)). tox is a generic virtual environment management and test command line tool you can use for: - checking your package builds and installs correctly under different environments (such as different Python implementations, versions or installation dependencies), - running your tests in each of the environments with the test tool of choice, - acting as a frontend to continuous integration servers, greatly reducing boilerplate and merging CI and shell-based testing. Please read our [user guide](https://tox.wiki/en/latest/tutorial/getting-started.html) for an example and more detailed introduction, or watch [this YouTube video](https://www.youtube.com/watch?v=SFqna5ilqig) that presents the problem space and how tox solves it.

Release History

VersionChangesUrgencyDate
4.67.1<!-- Release notes generated using configuration in .github/release.yaml at 4.67.1 --> ## What's Changed * fix(config): keep exit-code prefixes on TOML command references by @saifmodan2006 in https://github.com/tox-dev/tox/pull/4172 * ๐Ÿ› fix(pylock): use default-groups when no dependency group is selected by @pcbeingused333 in https://github.com/tox-dev/tox/pull/4173 * fix(config): resolve factor labels per env_base by @spicysharkco in https://github.com/tox-dev/tox/pull/4174 ## New ContributoHigh10/18/2026
4.66.0<!-- Release notes generated using configuration in .github/release.yaml at 4.66.0 --> ## What's Changed * โœจ feat(set_env): accept export in env files by @RavSinghChandan in https://github.com/tox-dev/tox/pull/4161 * โšก perf(virtualenv): cache failed interpreter discovery by @deadstrobe5 in https://github.com/tox-dev/tox/pull/4162 ## New Contributors * @RavSinghChandan made their first contribution in https://github.com/tox-dev/tox/pull/4161 * @deadstrobe5 made their first contribution in httpsHigh10/16/2026
4.65.5<!-- Release notes generated using configuration in .github/release.yaml at 4.65.5 --> ## What's Changed * Keep braces that are not a substitution in TOML configs by @PDGGK in https://github.com/tox-dev/tox/pull/4150 ## New Contributors * @PDGGK made their first contribution in https://github.com/tox-dev/tox/pull/4150 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.65.4...4.65.5High10/14/2026
4.65.4<!-- Release notes generated using configuration in .github/release.yaml at 4.65.4 --> ## What's Changed * docs: align contributor test commands with current interpreters by @xiehuanyi in https://github.com/tox-dev/tox/pull/4145 * ๐Ÿ“ docs(cli): correct TOX_ override guidance by @gaborbernat in https://github.com/tox-dev/tox/pull/4147 ## New Contributors * @xiehuanyi made their first contribution in https://github.com/tox-dev/tox/pull/4145 **Full Changelog**: https://github.com/tox-dev/tox/comHigh10/12/2026
4.65.3<!-- Release notes generated using configuration in .github/release.yaml at 4.65.3 --> ## What's Changed * ๐Ÿ› fix(cli): allow --skip-env together with -e, -m and -f by @feiiiiii5 in https://github.com/tox-dev/tox/pull/4143 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.65.2...4.65.3High10/11/2026
4.65.1<!-- Release notes generated using configuration in .github/release.yaml at 4.65.1 --> ## What's Changed * ๐Ÿ› fix(path): remove read-only files when emptying an environment directory by @SulimanAbdulrazzaq in https://github.com/tox-dev/tox/pull/4138 * feat(python): require 3.11 and default to 3.15 by @gaborbernat in https://github.com/tox-dev/tox/pull/4139 * fix(packaging): include plugin docs in sdist by @gaborbernat in https://github.com/tox-dev/tox/pull/4141 **Full Changelog**: https://gitHigh10/10/2026
4.64.10<!-- Release notes generated using configuration in .github/release.yaml at 4.64.10 --> ## What's Changed * ๐Ÿ”ง fix(type): pass ty 0.0.85 by @gaborbernat in https://github.com/tox-dev/tox/pull/4123 * ๐Ÿ› fix(path): unlink directory symlinks when clearing env dirs by @gaborbernat in https://github.com/tox-dev/tox/pull/4122 * ๐Ÿ› fix(execute): fail a ! command that exits 0 by @feiiiiii5 in https://github.com/tox-dev/tox/pull/4119 * ๐Ÿ› fix(config): report bad values from every source without a tracebHigh10/8/2026
4.64.9<!-- Release notes generated using configuration in .github/release.yaml at 4.64.9 --> ## What's Changed * ๐Ÿ› fix(config): substitute inside set_env override values by @Rodrigo-Palma in https://github.com/tox-dev/tox/pull/4116 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.64.8...4.64.9High10/5/2026
4.64.8<!-- Release notes generated using configuration in .github/release.yaml at 4.64.8 --> ## What's Changed * ๐Ÿ› fix(pip): combine --no-binary and --only-binary across requirement lines by @SulimanAbdulrazzaq in https://github.com/tox-dev/tox/pull/4110 * ๐Ÿ› fix(config): let TOML ref read deps and commands by @gaborbernat in https://github.com/tox-dev/tox/pull/4112 * ๐Ÿ› fix(config): keep in-line INI references one command by @gaborbernat in https://github.com/tox-dev/tox/pull/4113 * ๐Ÿ› fix(config):High10/3/2026
4.64.7<!-- Release notes generated using configuration in .github/release.yaml at 4.64.7 --> ## What's Changed * fix(man): give each shell a working MANPATH line by @Rodrigo-Palma in https://github.com/tox-dev/tox/pull/4109 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.64.6...4.64.7High10/1/2026
4.64.6<!-- Release notes generated using configuration in .github/release.yaml at 4.64.6 --> ## What's Changed * fix(config): tie spliced set_env markers to their value by @feiiiiii5 in https://github.com/tox-dev/tox/pull/4107 * fix(env): accept every documented interpreter name with -e by @breken-ai in https://github.com/tox-dev/tox/pull/4106 * fix(config): resolve set_env values when read by @gaborbernat in https://github.com/tox-dev/tox/pull/4108 ## New Contributors * @feiiiiii5 made their first High10/1/2026
4.64.5<!-- Release notes generated using configuration in .github/release.yaml at 4.64.5 --> ## What's Changed * fix(github): restore issue template metadata by @gaborbernat in https://github.com/tox-dev/tox/pull/4100 * fix(config): fail on an invalid platform regex by @00200200 in https://github.com/tox-dev/tox/pull/4104 ## New Contributors * @00200200 made their first contribution in https://github.com/tox-dev/tox/pull/4104 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.64.4...4.64.High9/29/2026
4.64.4<!-- Release notes generated using configuration in .github/release.yaml at 4.64.4 --> ## What's Changed * fix(pip): pass --pre once in the default command by @Rodrigo-Palma in https://github.com/tox-dev/tox/pull/4097 * fix(cli): parse list-valued defaults by nargs by @januththedev in https://github.com/tox-dev/tox/pull/4098 ## New Contributors * @januththedev made their first contribution in https://github.com/tox-dev/tox/pull/4098 **Full Changelog**: https://github.com/tox-dev/tox/compare/4High9/27/2026
4.64.3<!-- Release notes generated using configuration in .github/release.yaml at 4.64.3 --> ## What's Changed * Create change_dir before running the external package build command by @Rodrigo-Palma in https://github.com/tox-dev/tox/pull/4095 * Keep every file entry of a set_env list of tables by @Rodrigo-Palma in https://github.com/tox-dev/tox/pull/4094 ## New Contributors * @Rodrigo-Palma made their first contribution in https://github.com/tox-dev/tox/pull/4095 **Full Changelog**: https://github.High9/26/2026
4.64.2<!-- Release notes generated using configuration in .github/release.yaml at 4.64.2 --> ## What's Changed * ๐Ÿ› fix(run): keep .venv redirect off for a .venv env by @gaborbernat in https://github.com/tox-dev/tox/pull/4091 * ๐Ÿ› fix(run): point .venv at a deliberate dev env by @gaborbernat in https://github.com/tox-dev/tox/pull/4092 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.64.1...4.64.2High9/24/2026
4.64.1<!-- Release notes generated using configuration in .github/release.yaml at 4.64.1 --> ## What's Changed * ๐Ÿ› fix(config): apply overrides to sections the file lacks by @gaborbernat in https://github.com/tox-dev/tox/pull/4089 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.64.0...4.64.1High9/24/2026
4.63.0<!-- Release notes generated using configuration in .github/release.yaml at 4.63.0 --> ## What's Changed * ๐Ÿ› fix(run): keep package env interrupt logs in parallel by @gaborbernat in https://github.com/tox-dev/tox/pull/4079 * ๐Ÿ› fix(extras): dedupe static extras resolution and other copies by @gaborbernat in https://github.com/tox-dev/tox/pull/4080 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.62.1...4.63.0High9/19/2026
4.62.0<!-- Release notes generated using configuration in .github/release.yaml at 4.62.0 --> ## What's Changed * ๐Ÿ› fix(type): pass the latest ty and close Any gaps by @gaborbernat in https://github.com/tox-dev/tox/pull/4075 * ๐Ÿ› fix(config): honor an empty TOX_FACTOR override by @gaborbernat in https://github.com/tox-dev/tox/pull/4074 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.61.5...4.62.0High9/19/2026
4.61.5<!-- Release notes generated using configuration in .github/release.yaml at 4.61.5 --> ## What's Changed * chore(type): narrow execute_async cwd for pyrefly 1.3 by @yuefdev in https://github.com/tox-dev/tox/pull/4069 * docs: fix the parameter list on Loader.build by @hxperl in https://github.com/tox-dev/tox/pull/4070 * fix(config): reject boolean TOML range bounds by @yuefdev in https://github.com/tox-dev/tox/pull/4066 * fix(config): accept empty set_env lists by @yuefdev in https://github.com/High9/17/2026
4.61.4<!-- Release notes generated using configuration in .github/release.yaml at 4.61.4 --> ## What's Changed * ๐Ÿ› fix(execute): keep spaces in quoted shebang interpreter paths by @r3wretrhy in https://github.com/tox-dev/tox/pull/4064 ## New Contributors * @r3wretrhy made their first contribution in https://github.com/tox-dev/tox/pull/4064 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.61.3...4.61.4High9/9/2026
4.60.1<!-- Release notes generated using configuration in .github/release.yaml at 4.60.1 --> ## What's Changed * Stop Windows pytest-timeout kills in CI by @gaborbernat in https://github.com/tox-dev/tox/pull/4026 * fix(config): report a malformed ini as a handled error instead of a traceback by @VXNCXNX in https://github.com/tox-dev/tox/pull/4027 * Handle unreadable configuration files by @SirHegel in https://github.com/tox-dev/tox/pull/4035 * fix: a semicolon truncates a value read from a set_env fiHigh8/25/2026
4.59.0<!-- Release notes generated using configuration in .github/release.yaml at 4.59.0 --> ## What's Changed * ๐Ÿ› fix(type): cast set value in _render_options by @gaborbernat in https://github.com/tox-dev/tox/pull/4003 * docs: fix typo 'set the the' -> 'set then the' in config reference by @LaRoyBot in https://github.com/tox-dev/tox/pull/4002 * ๐Ÿ‘ท ci: pin coverage to the ctrace core by @gaborbernat in https://github.com/tox-dev/tox/pull/4009 * ๐Ÿ”ฅ chore: remove the misc changelog category by @gaborbHigh8/10/2026
4.58.0<!-- Release notes generated using configuration in .github/release.yaml at 4.58.0 --> ## What's Changed * ๐Ÿ‘ท ci: run the test matrix against Python 3.15 by @gaborbernat in https://github.com/tox-dev/tox/pull/4001 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.57.2...4.58.0Medium7/21/2026
4.57.0<!-- Release notes generated using configuration in .github/release.yaml at 4.57.0 --> ## What's Changed * ๐Ÿ’ฐ Surface the org itself in the FUNDING config by @webknjaz in https://github.com/tox-dev/tox/pull/3979 * Replace prettier with mdformat and yamlfmt by @gaborbernat in https://github.com/tox-dev/tox/pull/3984 * ๐Ÿ“ฆ build: use test dependency group in internal envs by @gaborbernat in https://github.com/tox-dev/tox/pull/3985 * โœจ feat(python): match free-threaded and debug interpreter builds High7/17/2026
4.56.2<!-- Release notes generated using configuration in .github/release.yaml at 4.56.2 --> ## What's Changed * ๐Ÿ”ง chore(type): drop stale ty invalid-assignment ignores by @gaborbernat in https://github.com/tox-dev/tox/pull/3970 * Fix 17 bugs found in a deep codebase sweep by @gaborbernat in https://github.com/tox-dev/tox/pull/3974 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.56.1...4.56.2High7/7/2026
4.56.1<!-- Release notes generated using configuration in .github/release.yaml at 4.56.1 --> ## What's Changed * treat scalar string then/else as a single item in if-replace extend by @HrachShah in https://github.com/tox-dev/tox/pull/3969 ## New Contributors * @HrachShah made their first contribution in https://github.com/tox-dev/tox/pull/3969 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.56.0...4.56.1Medium6/25/2026
4.56.0<!-- Release notes generated using configuration in .github/release.yaml at 4.56.0 --> ## What's Changed * Fix type errors flagged by ty 0.0.43 by @gaborbernat in https://github.com/tox-dev/tox/pull/3952 * Drop obsolete ty: ignore directives by @gaborbernat in https://github.com/tox-dev/tox/pull/3957 * docs: Use double backquotes for git command in `development.rst` by @mushitoriami in https://github.com/tox-dev/tox/pull/3961 * docs: Fix indent misalignment in `reference/config.rst` by @mushitoHigh6/23/2026
4.55.1<!-- Release notes generated using configuration in .github/release.yaml at 4.55.1 --> ## What's Changed * ๐Ÿ› fix(config): propagate overrides through config references by @tales-aparecida in https://github.com/tox-dev/tox/pull/3951 ## New Contributors * @tales-aparecida made their first contribution in https://github.com/tox-dev/tox/pull/3951 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.55.0...4.55.1High6/3/2026
4.55.0<!-- Release notes generated using configuration in .github/release.yaml at 4.55.0 --> ## What's Changed * ๐Ÿ‘ท ci(schemastore): sync fork before pushing branch by @gaborbernat in https://github.com/tox-dev/tox/pull/3942 * feat: Also pass `TERMINFO` when in an interactive shell by @edgarrmondragon in https://github.com/tox-dev/tox/pull/3946 * ๐Ÿ› fix(pip): skip constrain_package_deps when constraints is set by @gaborbernat in https://github.com/tox-dev/tox/pull/3948 **Full Changelog**: https://gHigh5/28/2026
4.54.0<!-- Release notes generated using configuration in .github/release.yaml at 4.54.0 --> ## What's Changed * ๐Ÿงช test(conftest): strip broken nspkg.pth files under py3.15 by @gaborbernat in https://github.com/tox-dev/tox/pull/3937 * โœจ feat(packaging): declare tox.pytest deps via a testing extra by @gaborbernat in https://github.com/tox-dev/tox/pull/3940 * ๐Ÿ› fix(schema): cover every replace form in the TOML schema by @gaborbernat in https://github.com/tox-dev/tox/pull/3941 **Full Changelog**: htHigh5/12/2026
4.53.1<!-- Release notes generated using configuration in .github/release.yaml at 4.53.1 --> ## What's Changed * ๐Ÿ› fix(security): harden user-facing logs and untrusted inputs by @gaborbernat in https://github.com/tox-dev/tox/pull/3924 * ๐Ÿ› fix(type): correct argparse override signatures for ty 0.0.33 by @gaborbernat in https://github.com/tox-dev/tox/pull/3932 * fix: allow deps arrays in TOML schema by @cyphercodes in https://github.com/tox-dev/tox/pull/3931 ## New Contributors * @cyphercodes made tHigh5/2/2026
4.53.0Imported from PyPI (4.53.0)Low4/21/2026
4.52.1<!-- Release notes generated using configuration in .github/release.yaml at 4.52.1 --> ## What's Changed * use normalize_isa for architecture factor matching by @rahuldevikar in https://github.com/tox-dev/tox/pull/3919 * ๐Ÿ› fix(pip): invalidate install cache on resolution env var changes by @gaborbernat in https://github.com/tox-dev/tox/pull/3921 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.52.0...4.52.1Medium4/9/2026
4.52.0<!-- Release notes generated using configuration in .github/release.yaml at 4.52.0 --> ## What's Changed * remove unsupported --remote flag from gh repo fork by @rahuldevikar in https://github.com/tox-dev/tox/pull/3908 * โœจ feat(config): support escaped dots in -x override keys by @gaborbernat in https://github.com/tox-dev/tox/pull/3910 * ๐Ÿ› fix(docs): auto-generate manpage from CLI parser by @gaborbernat in https://github.com/tox-dev/tox/pull/3911 * โœจ feat(runner): add PEP 723 inline script metMedium3/30/2026
4.51.0<!-- Release notes generated using configuration in .github/release.yaml at 4.51.0 --> ## What's Changed * ๐Ÿ”’ ci(workflows): add zizmor security auditing by @gaborbernat in https://github.com/tox-dev/tox/pull/3896 * Add `base_python_file` config option by @rahuldevikar in https://github.com/tox-dev/tox/pull/3899 * prevent machine ISA from overriding explicit env factors by @rahuldevikar in https://github.com/tox-dev/tox/pull/3904 * ๐Ÿ› fix(config): fix handling of env_list in nested contexts by Medium3/27/2026
4.50.3<!-- Release notes generated using configuration in .github/release.yaml at 4.50.3 --> ## What's Changed * ๐Ÿ› fix(pkg): distinguish free-threaded Python in wheel build env by @gaborbernat in https://github.com/tox-dev/tox/pull/3891 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.50.2...4.50.3Low3/20/2026
4.50.2<!-- Release notes generated using configuration in .github/release.yaml at 4.50.2 --> ## What's Changed * fix(sdist): include `docs/man/tox.1.rst` by @branchv in https://github.com/tox-dev/tox/pull/3890 ## New Contributors * @branchv made their first contribution in https://github.com/tox-dev/tox/pull/3890 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.50.1...4.50.2Low3/19/2026
4.50.1<!-- Release notes generated using configuration in .github/release.yaml at 4.50.1 --> ## What's Changed * ๐Ÿ› fix(env): suggest normalized env name for dotted Python versions by @gaborbernat in https://github.com/tox-dev/tox/pull/3888 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.50.0...4.50.1Low3/19/2026
4.50.0<!-- Release notes generated using configuration in .github/release.yaml at 4.50.0 --> ## What's Changed * document {env:TOX_PACKAGE} for referencing built packages in commands by @rahuldevikar in https://github.com/tox-dev/tox/pull/3873 * ๐Ÿงช test(docs): validate doc config examples to prevent regressions by @gaborbernat in https://github.com/tox-dev/tox/pull/3875 * โœจ feat(run): add interrupt_post_commands for cleanup after Ctrl-C by @gaborbernat in https://github.com/tox-dev/tox/pull/3882 * โœจ Low3/17/2026
4.49.1<!-- Release notes generated using configuration in .github/release.yaml at 4.49.1 --> ## What's Changed * Update maintainers by @rahuldevikar in https://github.com/tox-dev/tox/pull/3868 * ๐Ÿ› fix(run): break deadlock in execution interrupt chain by @gaborbernat in https://github.com/tox-dev/tox/pull/3869 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.49.0...4.49.1Low3/9/2026
4.49.0<!-- Release notes generated using configuration in .github/release.yaml at 4.49.0 --> ## What's Changed * โœจ feat(config): add {factor:label} substitution for TOML by @gaborbernat in https://github.com/tox-dev/tox/pull/3865 * ๐Ÿ› fix(legacy): initialize config_format and output_file for --showconfig by @rares985 in https://github.com/tox-dev/tox/pull/3867 ## New Contributors * @rares985 made their first contribution in https://github.com/tox-dev/tox/pull/3867 **Full Changelog**: https://githubLow3/6/2026
4.48.1<!-- Release notes generated using configuration in .github/release.yaml at 4.48.1 --> ## What's Changed * Replace archived 31z4/tox Docker image with build-your-own guide by @rahuldevikar in https://github.com/tox-dev/tox/pull/3864 * ๐Ÿ› fix(toml): extract args from Command in ref replacement by @gaborbernat in https://github.com/tox-dev/tox/pull/3863 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.48.0...4.48.1Low3/6/2026
4.48.0<!-- Release notes generated using configuration in .github/release.yaml at 4.48.0 --> ## What's Changed * Add fail_fast to config reference docs by @rahuldevikar in https://github.com/tox-dev/tox/pull/3853 * โœจ feat(config): add --format json/toml and -o to config command by @gaborbernat in https://github.com/tox-dev/tox/pull/3857 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.47.3...4.48.0Low3/5/2026
4.47.3<!-- Release notes generated using configuration in .github/release.yaml at 4.47.3 --> ## What's Changed * Fix SchemaStore workflow creating empty PRs by @gaborbernat in https://github.com/tox-dev/tox/pull/3848 * Add .mailmap to consolidate author identities by @yarikoptic in https://github.com/tox-dev/tox/pull/3849 * ๐Ÿ› fix(config): honor ignore_base_python_conflict for factor conflicts by @gaborbernat in https://github.com/tox-dev/tox/pull/3851 **Full Changelog**: https://github.com/tox-devLow3/4/2026
4.47.2<!-- Release notes generated using configuration in .github/release.yaml at 4.47.2 --> ## What's Changed * fix: handle OSError in pos_args path existence check by @yarikoptic in https://github.com/tox-dev/tox/pull/3847 ## New Contributors * @yarikoptic made their first contribution in https://github.com/tox-dev/tox/pull/3847 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.47.1...4.47.2Low3/3/2026
4.47.1<!-- Release notes generated using configuration in .github/release.yaml at 4.47.1 --> ## What's Changed * ๐Ÿ› fix(config): resolve base_python from new-style version factors by @gaborbernat in https://github.com/tox-dev/tox/pull/3846 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.47.0...4.47.1Low3/3/2026
4.47.0<!-- Release notes generated using configuration in .github/release.yaml at 4.47.0 --> ## What's Changed * Move SECURITY.md to .github/SECURITY.md by @gaborbernat in https://github.com/tox-dev/tox/pull/3835 * Standardize .github files to .yaml suffix by @gaborbernat in https://github.com/tox-dev/tox/pull/3836 * ๐Ÿ› fix(ci): resolve ty type-check failures by @gaborbernat in https://github.com/tox-dev/tox/pull/3837 * โœจ feat(config): show clean errors for type mismatches by @gaborbernat in https://Low3/1/2026
4.46.3<!-- Release notes generated using configuration in .github/release.yml at 4.46.3 --> ## What's Changed * ๐Ÿ‘ท ci(schemastore): branch from upstream master by @gaborbernat in https://github.com/tox-dev/tox/pull/3828 * Fix outdated min version of virtualenv by @kajinamit in https://github.com/tox-dev/tox/pull/3829 ## New Contributors * @kajinamit made their first contribution in https://github.com/tox-dev/tox/pull/3829 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.46.2...4.46.3Low2/25/2026
4.46.2<!-- Release notes generated using configuration in .github/release.yml at 4.46.2 --> ## What's Changed * ๐Ÿ‘ท ci(schemastore): fix PR creation for fork by @gaborbernat in https://github.com/tox-dev/tox/pull/3827 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.46.1...4.46.2Low2/25/2026
4.46.1<!-- Release notes generated using configuration in .github/release.yml at 4.46.1 --> ## What's Changed * ๐Ÿ› fix(config): allow glob patterns in ini depends by @gaborbernat in https://github.com/tox-dev/tox/pull/3825 * ๐Ÿ‘ท ci(schemastore): fix git push auth in update workflow by @gaborbernat in https://github.com/tox-dev/tox/pull/3826 * ๐Ÿ› fix(schema): add additionalProperties to partial-tox.json by @gaborbernat in https://github.com/tox-dev/tox/pull/3824 **Full Changelog**: https://github.comLow2/25/2026
4.46.0<!-- Release notes generated using configuration in .github/release.yml at 4.46.0 --> ## What's Changed * Add architecture (ISA) awareness to Python discovery by @rahuldevikar in https://github.com/tox-dev/tox/pull/3815 * โœจ feat(config): add env_base templates for TOML by @gaborbernat in https://github.com/tox-dev/tox/pull/3817 * ๐Ÿ› fix(deps): drop chardet for req file decoding by @gaborbernat in https://github.com/tox-dev/tox/pull/3820 * ๐Ÿ› fix(cli): allow --help with invalid config by @gaborbLow2/24/2026
4.45.0<!-- Release notes generated using configuration in .github/release.yml at 4.45.0 --> ## What's Changed * Fix user guide link in README.md by @cpburnz in https://github.com/tox-dev/tox/pull/3805 * ๐Ÿ› fix(type): resolve ty 0.0.17 compatibility by @gaborbernat in https://github.com/tox-dev/tox/pull/3807 * ๐Ÿ“ docs: add redirects for old URLs (#3806) by @gaborbernat in https://github.com/tox-dev/tox/pull/3808 * Bump dependency requirements by @gaborbernat in https://github.com/tox-dev/tox/pull/3812Low2/23/2026
4.44.0<!-- Release notes generated using configuration in .github/release.yml at 4.44.0 --> ## What's Changed * ๐Ÿ› fix(config): keep unfactored continuation lines after filtered factors (#3802) by @gaborbernat in https://github.com/tox-dev/tox/pull/3804 * โœจ feat(config): add PEP 751 pylock.toml support by @gaborbernat in https://github.com/tox-dev/tox/pull/3803 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.43.0...4.44.0Low2/20/2026
4.43.0<!-- Release notes generated using configuration in .github/release.yml at 4.43.0 --> ## What's Changed * ๐Ÿ“ docs(infra): integrate sphinxcontrib-towncrier by @gaborbernat in https://github.com/tox-dev/tox/pull/3798 * โœจ feat(toml): add generative env_list via product dict by @gaborbernat in https://github.com/tox-dev/tox/pull/3797 * ๐Ÿ› fix(config): restore factor conditional continuations by @gaborbernat in https://github.com/tox-dev/tox/pull/3799 * ๐Ÿ› fix(pip): pass config_settings to pip for Low2/20/2026
4.42.0<!-- Release notes generated using configuration in .github/release.yml at 4.42.0 --> ## What's Changed * ๐Ÿ› fix(interrupt): suppress BrokenPipeError during teardown by @gaborbernat in https://github.com/tox-dev/tox/pull/3778 * โœจ feat(cli): add --no-capture flag for interactive programs by @gaborbernat in https://github.com/tox-dev/tox/pull/3777 * โœจ feat(config): add platform-dependent factor support by @gaborbernat in https://github.com/tox-dev/tox/pull/3779 * โœจ feat(env): gracefully skip enviLow2/20/2026
4.41.0<!-- Release notes generated using configuration in .github/release.yml at 4.41.0 --> ## What's Changed * Prefer TOML-native config over legacy_tox_ini in pyproject.toml by @rahuldevikar in https://github.com/tox-dev/tox/pull/3776 * โœจ feat(config): add `package = "deps-only"` mode by @gaborbernat in https://github.com/tox-dev/tox/pull/3774 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.40.0...4.41.0Low2/19/2026
4.40.0<!-- Release notes generated using configuration in .github/release.yml at 4.40.0 --> ## What's Changed * Use positive exit code for multi-env failures by @rahuldevikar in https://github.com/tox-dev/tox/pull/3768 * โœจ feat(config): add {glob:PATTERN} substitution by @gaborbernat in https://github.com/tox-dev/tox/pull/3769 * Add package=sdist-wheel package type by @rahuldevikar in https://github.com/tox-dev/tox/pull/3741 * โœจ feat(config): add conditional replace for TOML by @gaborbernat in https:Low2/19/2026
4.39.0<!-- Release notes generated using configuration in .github/release.yml at 4.39.0 --> ## What's Changed * ๐Ÿ› fix(ci): suppress Pygments DeprecationWarning on Python 3.15 by @gaborbernat in https://github.com/tox-dev/tox/pull/3733 * ๐Ÿ› fix(deps): apply --force-dep to package metadata dependencies by @gaborbernat in https://github.com/tox-dev/tox/pull/3734 * fix(ci): drop module scope from commonprefix warning filter by @gaborbernat in https://github.com/tox-dev/tox/pull/3735 * ๐Ÿ› fix(config): reLow2/18/2026
4.38.0<!-- Release notes generated using configuration in .github/release.yml at 4.38.0 --> ## What's Changed * ๐Ÿ› fix(test): resolve Windows CI flake in provision integration tests by @gaborbernat in https://github.com/tox-dev/tox/pull/3732 * Scope deps rejection to pure PEP-517 build types by @rahuldevikar in https://github.com/tox-dev/tox/pull/3730 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.37.0...4.38.0Low2/17/2026
4.37.0<!-- Release notes generated using configuration in .github/release.yml at 4.37.0 --> ## What's Changed * โœจ feat(config): add extra_setup_commands for --notest phase by @gaborbernat in https://github.com/tox-dev/tox/pull/3716 * ๐Ÿ› fix(release): format changelog with pre-commit before committing by @gaborbernat in https://github.com/tox-dev/tox/pull/3717 * ๐Ÿ“ docs: restructure documentation using Diรกtaxis framework by @gaborbernat in https://github.com/tox-dev/tox/pull/3718 * ๐Ÿ› fix(pip): set PILow2/17/2026
4.36.1<!-- Release notes generated using configuration in .github/release.yml at 4.36.1 --> ## What's Changed * ๐Ÿ”’ ci(workflows): add explicit permissions to workflows by @gaborbernat in https://github.com/tox-dev/tox/pull/3714 * Add architecture documentation by @rahuldevikar in https://github.com/tox-dev/tox/pull/3708 * ๐Ÿ“š docs(man): add Unix man page and composable CLI argument inheritance by @gaborbernat in https://github.com/tox-dev/tox/pull/3705 * Add new logging section in documentation by @raLow2/17/2026
4.36.0<!-- Release notes generated using configuration in .github/release.yml at 4.36.0 --> ## What's Changed * โœจ feat(config): allow skip_missing_interpreters per environment by @gaborbernat in https://github.com/tox-dev/tox/pull/3684 * Return non-zero exit code from `tox config` when exceptions occur by @veeceey in https://github.com/tox-dev/tox/pull/3683 * Update development.rst to reflect current standards by @rahuldevikar in https://github.com/tox-dev/tox/pull/3685 * Build dependencies shoLow2/15/2026
4.35.0<!-- Release notes generated using configuration in .github/release.yml at 4.35.0 --> ## What's Changed * docs: fix misleading ENVDIR reference in devenv description by @VedantMadane in https://github.com/tox-dev/tox/pull/3670 * Fix CI post packaging releese by @gaborbernat in https://github.com/tox-dev/tox/pull/3673 * Fix code block format in docs/plugins.rst by @mushitoriami in https://github.com/tox-dev/tox/pull/3675 * fix(docs): correct path for built documentation by @daniel7an in htLow2/12/2026
4.34.1<!-- Release notes generated using configuration in .github/release.yml at 4.34.1 --> ## What's Changed * fix: wheel corruption when running parallel tox processes by @gaborbernat in https://github.com/tox-dev/tox/pull/3667 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.34.0...4.34.1Low1/9/2026
4.34.0<!-- Release notes generated using configuration in .github/release.yml at 4.34.0 --> ## What's Changed * feat: Support depenedcy groups with self references by @Czaki in https://github.com/tox-dev/tox/pull/3666 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.33.0...4.34.0Low1/8/2026
4.33.0<!-- Release notes generated using configuration in .github/release.yml at 4.33.0 --> ## What's Changed * Pass LOCALAPPDATA by default on Windows (#3639) by @clint-lawrence in https://github.com/tox-dev/tox/pull/3640 * Docs: Add caution about ranges like `py{39-314}` by @ferdnyc in https://github.com/tox-dev/tox/pull/3652 * CLI Parser: Drop epilog message for Sphinx help by @ferdnyc in https://github.com/tox-dev/tox/pull/3653 * ๐Ÿ“š Integrate `sphinx-issues` extension by @webknjaz in https:Low1/2/2026
4.32.0<!-- Release notes generated using configuration in .github/release.yml at 4.32.0 --> ## What's Changed * docs: Add Python 3.14 and 3.14t to config examples by @cclauss in https://github.com/tox-dev/tox/pull/3626 * Fix broken log message (in that branch it did not match the arguments). by @ionelmc in https://github.com/tox-dev/tox/pull/3634 * Allow braced range syntax in internal sections of tox.ini file by @marcosboger in https://github.com/tox-dev/tox/pull/3631 * fix: ensure log folder Low10/24/2025
4.31.0<!-- Release notes generated using configuration in .github/release.yml at 4.31.0 --> ## What's Changed * Address a type-conversion noted during doc builds by @kurtmckee in https://github.com/tox-dev/tox/pull/3623 * Add 3.14, drop 3.9 and support | union style by @gaborbernat in https://github.com/tox-dev/tox/pull/3624 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.30.3...4.31.0Low10/9/2025
4.30.3<!-- Release notes generated using configuration in .github/release.yml at 4.30.3 --> ## What's Changed * Isolate the test suite from any existing `DEFAULT_CONFIG_FILE` file by @kurtmckee in https://github.com/tox-dev/tox/pull/3612 * Fix none config file issue 3611 by @kurtmckee in https://github.com/tox-dev/tox/pull/3613 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/tox-dev/tox/pull/3608 * Fix incorrect type annotations in PythonPathPackageWithDeps Low10/2/2025
4.30.2<!-- Release notes generated using configuration in .github/release.yml at 4.30.2 --> ## What's Changed * Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by @dependabot[bot] in https://github.com/tox-dev/tox/pull/3603 * Ensure automatically provisioned environment is torn down by @vytas7 in https://github.com/tox-dev/tox/pull/3601 * Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows by @dependabot[bot] in https://github.com/tox-dev/tox/pull/3604 **FullLow9/4/2025
4.30.1<!-- Release notes generated using configuration in .github/release.yml at 4.30.1 --> ## What's Changed * Prevent Tox from hanging with `--installpkg` sdist due to orphaned build backend by @vytas7 in https://github.com/tox-dev/tox/pull/3530 ## New Contributors * @vytas7 made their first contribution in https://github.com/tox-dev/tox/pull/3530 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.30.0...4.30.1Low9/3/2025
4.30.0<!-- Release notes generated using configuration in .github/release.yml at 4.30.0 --> ## What's Changed * Pass through `CI` as `__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CI` by @Liam-DeVoe in https://github.com/tox-dev/tox/pull/3592 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/tox-dev/tox/pull/3596 * Fix the built docs HTML path hint in `tox.toml` by @webknjaz in https://github.com/tox-dev/tox/pull/3594 * Add a "version added" note for `tox_extend_envs` bLow9/3/2025
4.29.0<!-- Release notes generated using configuration in .github/release.yml at 4.29.0 --> ## What's Changed * Docs: environment variables contain strings by @hroncok in https://github.com/tox-dev/tox/pull/3575 * ๐Ÿ Fix sys_platform Fixture Leakage breaking the CI by @gaborbernat in https://github.com/tox-dev/tox/pull/3589 * Expose a new `tox_extend_envs` hook in plugins API by @webknjaz in https://github.com/tox-dev/tox/pull/3591 **Full Changelog**: https://github.com/tox-dev/tox/compare/Low8/29/2025
4.28.4<!-- Release notes generated using configuration in .github/release.yml at 4.28.4 --> ## What's Changed * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/tox-dev/tox/pull/3570 * Pass ssh-agent variables by default by @daniilgankov in https://github.com/tox-dev/tox/pull/3572 ## New Contributors * @daniilgankov made their first contribution in https://github.com/tox-dev/tox/pull/3572 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.28.3...Low7/31/2025
4.28.3<!-- Release notes generated using configuration in .github/release.yml at 4.28.3 --> ## What's Changed * Fix typo on cmd_build filter check expression by @gaborbernat in https://github.com/tox-dev/tox/pull/3569 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.28.2...4.28.3Low7/26/2025
4.28.2<!-- Release notes generated using configuration in .github/release.yml at 4.28.2 --> ## What's Changed * Don't pass in the filter argument to tar.extractall on old Python versions by @gaborbernat in https://github.com/tox-dev/tox/pull/3568 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.28.1...4.28.2Low7/25/2025
4.28.1<!-- Release notes generated using configuration in .github/release.yml at 4.28.1 --> ## What's Changed * Fix an issue number typo in changelog by @hroncok in https://github.com/tox-dev/tox/pull/3563 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/tox-dev/tox/pull/3564 * Only use tarfile.data_filter when it's available by @gaborbernat in https://github.com/tox-dev/tox/pull/3566 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.28.0...4.2Low7/23/2025
4.28.0<!-- Release notes generated using configuration in .github/release.yml at 4.28.0 --> ## What's Changed * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/tox-dev/tox/pull/3548 * [docs] Document how to require a plugin by @stephenfin in https://github.com/tox-dev/tox/pull/3552 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/tox-dev/tox/pull/3554 * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://Low7/20/2025
4.27.0<!-- Release notes generated using configuration in .github/release.yml at 4.27.0 --> ## What's Changed * Feat: include free_threaded flag in result-json by @robsdedude in https://github.com/tox-dev/tox/pull/3534 * Add security policy by @jugmac00 in https://github.com/tox-dev/tox/pull/3535 * Fix dependency-group name normalization by @robsdedude in https://github.com/tox-dev/tox/pull/3540 * Log environment variables sorted by key while redacting values of unsafe ones by @ssbarnea in httpLow6/17/2025
4.26.0<!-- Release notes generated using configuration in .github/release.yml at 4.26.0 --> ## What's Changed * Add a missing quote in a TOML example @ `config.rst` by @webknjaz in https://github.com/tox-dev/tox/pull/3509 * Add colour to GitHub Actions CI logs by @hugovk in https://github.com/tox-dev/tox/pull/3525 * Fix using deprecated virtualenv option `--wheel` by @robsdedude in https://github.com/tox-dev/tox/pull/3528 * Fix custom HelpFormatter for Python 3.14 by @The-Compiler in https://giLow5/13/2025
4.25.0<!-- Release notes generated using configuration in .github/release.yml at 4.25.0 --> ## What's Changed * Tests: Adjust expected exception message for Python 3.14.0a6 by @hroncok in https://github.com/tox-dev/tox/pull/3500 * feat(config): Allow ranges in envlist by @mimre25 in https://github.com/tox-dev/tox/pull/3503 **Full Changelog**: https://github.com/tox-dev/tox/compare/4.24.2...4.25.0Low3/27/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

pyproject-apiAPI to interact with the python pyproject.toml based projects1.12.0
sphinx-autodoc-typehintsType hints (PEP 484) support for the Sphinx autodoc extension3.17.2
hypothesisThe property-based testing library for Pythonv6.170.9
schemathesisProperty-based testing framework for Open API and GraphQL based appsv4.32.4
time-machineTravel through time in your tests.main@2026-10-22

More from pypi

markitdownUtility tool for converting various files to Markdown
fastapiFastAPI framework, high performance, easy to learn, fast to code, ready for production
djangoA high-level Python web framework that encourages rapid development and clean, pragmatic design.
flaskA simple framework for building complex web applications.

More in Frameworks

tornadoTornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
bamlThe AI framework that adds the engineering to prompt engineering (Python/TS/Ruby/Java/C#/Rust/Go compatible)
agentaThe open-source LLMOps platform: prompt playground, prompt management, LLM evaluation, and LLM observability all in one place.
cachetoolsExtensible memoizing collections and decorators