Code coverage measurement for Python
Code coverage testing for Python.
Coverage.py measures code coverage, typically during test execution. It uses the code analysis tools and tracing hooks provided in the Python standard library to determine which lines are executable, and which have been executed.
Coverage.py runs on many versions of Python:
- CPython 2.7 and 3.4 through 3.7.
- PyPy2 6.0 and PyPy3 6.0.
- Jython 2.7.1, though not for reporting.
- IronPython 2.7.7, though not for reporting.
New in 5.0: SQLite data storage, dropped support for Python 2.6 and 3.3.
New in 4.5: Configurator plug-ins.
New in 4.4: Suppressable warnings, continuous coverage measurement.
New in 4.3: HTML --skip-covered, sys.excepthook support, tox.ini support.
New in 4.2: better support for multiprocessing and combining data.
New in 4.1: much-improved branch coverage.
New in 4.0: --concurrency, plugins for non-Python files, setup.cfg support, –skip-covered, HTML filtering, and more than 50 issues closed.
See the Quick Start section of the docs.
See the Contributing section of the docs.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.