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.
![]() |
Professional support for coverage.py is available as part of the Tidelift Subscription. Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional grade assurances from the experts who know it best, while seamlessly integrating with existing tools. |
Coverage.py runs on many versions of Python:
- CPython 2.7.
- CPython 3.4 through pre-alpha 3.8.
- PyPy2 6.0 and PyPy3 6.0.
- Jython 2.7.1, though not for reporting.
- IronPython 2.7.7, though not for reporting.
Documentation is on Read the Docs. Code repository and issue tracker are on GitHub.
New in 5.0: SQLite data storage, contexts, dropped support for Python 2.6 and 3.3.
See the Quick Start section of the docs.
See the Contributing section of the docs.
Licensed under the Apache 2.0 License. For details, see NOTICE.txt.