summaryrefslogtreecommitdiff
path: root/docs/index.rst
blob: f1fad2e1cb25144cd762860da935c4ce44b39897 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
tox - automation project
========================

``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>`_).

.. image:: https://img.shields.io/pypi/v/tox?style=flat-square
  :target: https://pypi.org/project/tox/#history
  :alt: Latest version on PyPI
.. image:: https://img.shields.io/pypi/implementation/tox?style=flat-square
  :alt: PyPI - Implementation
.. image:: https://img.shields.io/pypi/pyversions/tox?style=flat-square
  :alt: PyPI - Python Version
.. image:: https://readthedocs.org/projects/tox/badge/?version=latest&style=flat-square
  :target: https://tox.wiki/en/latest/
  :alt: Documentation status
.. image:: https://img.shields.io/discord/802911963368783933?style=flat-square
  :target: https://discord.com/invite/tox
  :alt: Discord
.. image:: https://img.shields.io/pypi/dm/tox?style=flat-square
  :target: https://pypistats.org/packages/tox
  :alt: PyPI - Downloads
.. image:: https://img.shields.io/pypi/l/tox?style=flat-square
  :target: https://opensource.org/licenses/MIT
  :alt: PyPI - License
.. image:: https://img.shields.io/github/issues/tox-dev/tox?style=flat-square
  :target: https://github.com/tox-dev/tox/issues
  :alt: Open issues
.. image:: https://img.shields.io/github/issues-pr/tox-dev/tox?style=flat-square
  :target: https://github.com/tox-dev/tox/pulls
  :alt: Open pull requests
.. image:: https://img.shields.io/github/stars/tox-dev/tox?style=flat-square
  :target: https://pypistats.org/packages/tox
  :alt: Package popularity

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.

Useful links
------------

**Related projects**

tox has influenced several other projects in the Python test automation space. If tox doesn't quite fit your needs or
you want to do more research, we recommend taking a look at these projects:

- `Invoke <https://www.pyinvoke.org/>`_ is a general-purpose task execution library, similar to Make. Invoke is far more
  general-purpose than tox but it does not contain the Python testing-specific features that tox specializes in.

- `nox <https://nox.thea.codes/en/stable/>`_  is a project similar in spirit to tox but different in approach. Nox's key
  difference is that it uses Python scripts instead of a configuration file. Nox might be useful if you find tox's
  configuration too limiting but aren't looking to move to something as general-purpose as Invoke or Make.

**Tutorials**

* `Oliver Bestwalter - Automating Build, Test and Release Workflows with tox <https://www.youtube.com/watch?v=PrAyvH-tm8E>`_
* `Bernat Gabor - Standardize Testing in Python <https://www.youtube.com/watch?v=SFqna5ilqig>`_

.. comment: split here

.. toctree::
   :hidden:

   installation
   user_guide
   cli_interface
   config
   faq
   plugins
   plugins_api
   development
   changelog
   upgrading