Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

virtualenv-based automation of test activities

Project description

What is Tox?

https://img.shields.io/pypi/v/tox.svg https://img.shields.io/pypi/pyversions/tox.svg https://travis-ci.org/tox-dev/tox.svg?branch=master https://img.shields.io/appveyor/ci/RonnyPfannschmidt/tox/master.svg

Tox is a generic virtualenv management and test command line tool you can use for:

  • checking your package installs correctly with different Python versions and interpreters
  • running your tests in each of the environments, configuring your test tool of choice
  • acting as a frontend to Continuous Integration servers, greatly reducing boilerplate and merging CI and shell-based testing.

For more information and the repository please checkout:

Changelog (last 5 releases - full changelog)

2.8.2 (2017-10-09)

  • #466: stop env var leakage if popen failed with resultjson or redirect

2.8.1 (2017-09-04)

  • #p599: fix problems with implementation of #515.
    Substitutions from other sections were not made anymore if they were not in envlist. Thanks to Clark Boylan (@cboylan) for helping to get this fixed (#p597).

2.8.0 (2017-09-01)

  • #276: Remove easy_install from docs (TL;DR: use pip).
    Thanks Martin Andrysík (@sifuraz).
  • #301: Expand nested substitutions in tox.ini
    Thanks @vlaci. Thanks to Eli Collins (@eli-collins) for creating a reproducer.
  • #315: add –help and –version to helptox-quickstart
    Thanks @vlaci.
  • #326: Fix OSError ‘Not a directory’ when creating env on Jython 2.7.0.
    Thanks Nick Douma (@LordGaav).
  • #429: Forward MSYSTEM by default on Windows
    Thanks Marius Gedminas (@mgedmin) for reporting this.
  • #449: add multi platform example to the docs.
    Thanks Aleks Bunin (@sashkab) and @rndr.
  • #474: Start using setuptools_scm for tag based versioning.
  • #484: Renamed py.test to pytest throughout the project
    Thanks Slam (@3lnc).
  • #504: With -a: do not show additional environments header if there are none
    Thanks @rndr.
  • #515: Don’t require environment variables in test environments where they
    are not used. Thanks André Caron (@AndreLouisCaron).
  • #517: Forward NUMBER_OF_PROCESSORS by default on Windows to fix
    multiprocessor.cpu_count(). Thanks André Caron (@AndreLouisCaron).
  • #518: Forward USERPROFILE by default on Windows.
    Thanks André Caron (@AndreLouisCaron).
  • #p528: Fix some of the warnings displayed by pytest 3.1.0.
    Thanks Bruno Oliveira (@nicoddemus).
  • #p547: Add regression test for #137
    Thanks Martin Andrysík (@sifuraz).
  • #p553: Add an XFAIL test to reproduce upstream bug #203
    Thanks Bartolomé Sánchez Salado (@bartsanchez).
  • #p556: Report more meaningful errors on why virtualenv creation failed
    Thanks @vlaci. Also thanks to Igor Sadchenko (@igor-sadchenko) for pointing out a problem with that PR before it hit the masses :)
  • #575: Add announcement doc to end all announcement docs
    (using only CHANGELOG and Github issues since 2.5 already)
  • #p580: Do not ignore Sphinx warnings anymore
    Thanks Gábor Bernát (@gaborbernat).
  • #585: Expand documentation to explain pass through of flags from deps to pip
    (e.g. -rrequirements.txt, -cconstraints.txt) Thanks Alexander Loechel (@loechel).
  • #588: Run pytest wit xfail_strict and adapt affected tests.

2.7.0 (2017-04-02)

  • #p450: Stop after the first installdeps and first testenv create hooks succeed. This changes the default behaviour of tox_testenv_create and tox_testenv_install_deps to not execute other registered hooks when the first hook returns a result that is not None. Thanks Anthony Sottile (@asottile).

  • #271 and #464: Improve environment information for users.

    New command line parameter: -a show all defined environments - not just the ones defined in (or generated from) envlist.

    New verbosity settings for -l and -a: show user defined descriptions of the environments. This also works for generated environments from factors by concatenating factor descriptions into a complete description.

    Note that for backwards compatibility with scripts using the output of -l it’s output remains unchanged.

    Thanks Gábor Bernát (@gaborbernat).

  • #464: Fix incorrect egg-info location for modified package_dir in setup.py. Thanks Selim Belhaouane (@selimb).

  • #431: Add ‘LANGUAGE’ to default passed environment variables. Thanks Paweł Adamczak (@pawalad).

  • #455: Add a Vagrantfile with a customized Arch Linux box for local testing. Thanks Oliver Bestwalter (@obestwalter).

  • #454: Revert #407, empty commands is not treated as an error. Thanks Anthony Sottile (@asottile).

  • #446: (infrastructure) Travis CI tests for tox now also run on OS X now. Thanks Jason R. Coombs (@jaraco).

2.6.0 (2017-02-04)

  • add “alwayscopy” config option to instruct virtualenv to always copy files instead of symlinking. Thanks Igor Duarte Cardoso (@igordcard).
  • pass setenv variables to setup.py during a usedevelop install. Thanks Eli Collins (@eli-collins).
  • replace all references to testrun.org with readthedocs ones. Thanks Oliver Bestwalter (@obestwalter).
  • fix #323 by avoiding virtualenv14 is not used on py32 (although we don’t officially support py32). Thanks Jason R. Coombs (@jaraco).
  • add Python 3.6 to envlist and CI. Thanks Andrii Soldatenko (@andriisoldatenko).
  • fix glob resolution from TOX_TESTENV_PASSENV env variable Thanks Allan Feldman (@a-feld).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
tox-2.8.2-py2.py3-none-any.whl (49.5 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Sep 10, 2017
tox-2.8.2.tar.gz (471.8 kB) Copy SHA256 hash SHA256 Source None Sep 10, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page