Code coverage measurement for Python
.. Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 .. For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
Code coverage testing for Python.
.. image:: https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg :target: https://vshymanskyy.github.io/StandWithUkraine :alt: Stand with Ukraine
| |kit| |license| |versions| | |test-status| |quality-status| |docs| |metacov| | |tidelift| |sponsor| |stars| |mastodon-coveragepy| |mastodon-nedbat|
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 these versions of Python:
.. PYVERSIONS
Documentation is on Read the Docs
. Code repository and issue tracker are on
GitHub
.
.. _Read the Docs: https://coverage.readthedocs.io/en/7.4.0/ .. _GitHub: https://github.com/nedbat/coveragepy
New in 7.x:
experimental support for sys.monitoring;
dropped support for Python 3.7;
added Coverage.collect()
context manager;
improved data combining;
[run] exclude_also
setting;
report --format=
;
type annotations.
New in 6.x: dropped support for Python 2.7, 3.5, and 3.6; write data on SIGTERM; added support for 3.10 match/case statements.
.. |tideliftlogo| image:: https://nedbatchelder.com/pix/Tidelift_Logo_small.png :alt: Tidelift :target: https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=readme
.. list-table:: :widths: 10 100
Available as part of the Tidelift Subscription. <https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=readme>
_
Coverage and thousands of other packages are working with
Tidelift to deliver one enterprise subscription that covers all of the open
source you use. If you want the flexibility of open source and the confidence
of commercial-grade software, this is for you.
Learn more. <https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=readme>
_Looking to run coverage
on your test suite? See the Quick Start section
_
of the docs.
.. _Quick Start section: https://coverage.readthedocs.io/en/7.4.0/#quick-start
The complete history of changes is on the change history page
_.
.. _change history page: https://coverage.readthedocs.io/en/7.4.0/changes.html
Everyone participating in the coverage.py project is expected to treat other
people with respect and to follow the guidelines articulated in the Python Community Code of Conduct
_.
.. _Python Community Code of Conduct: https://www.python.org/psf/codeofconduct/
Found a bug? Want to help improve the code or documentation? See the
Contributing section
_ of the docs.
.. _Contributing section: https://coverage.readthedocs.io/en/7.4.0/contributing.html
To report a security vulnerability, please use the Tidelift security contact
_. Tidelift will coordinate the fix and disclosure.
.. _Tidelift security contact: https://tidelift.com/security
Licensed under the Apache 2.0 License
. For details, see NOTICE.txt
.
.. _Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0 .. _NOTICE.txt: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
.. |test-status| image:: https://github.com/nedbat/coveragepy/actions/workflows/testsuite.yml/badge.svg?branch=master&event=push :target: https://github.com/nedbat/coveragepy/actions/workflows/testsuite.yml :alt: Test suite status .. |quality-status| image:: https://github.com/nedbat/coveragepy/actions/workflows/quality.yml/badge.svg?branch=master&event=push :target: https://github.com/nedbat/coveragepy/actions/workflows/quality.yml :alt: Quality check status .. |docs| image:: https://readthedocs.org/projects/coverage/badge/?version=latest&style=flat :target: https://coverage.readthedocs.io/en/7.4.0/ :alt: Documentation .. |kit| image:: https://img.shields.io/pypi/v/coverage :target: https://pypi.org/project/coverage/ :alt: PyPI status .. |versions| image:: https://img.shields.io/pypi/pyversions/coverage.svg?logo=python&logoColor=FBE072 :target: https://pypi.org/project/coverage/ :alt: Python versions supported .. |license| image:: https://img.shields.io/pypi/l/coverage.svg :target: https://pypi.org/project/coverage/ :alt: License .. |metacov| image:: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/nedbat/8c6980f77988a327348f9b02bbaf67f5/raw/metacov.json :target: https://nedbat.github.io/coverage-reports/latest.html :alt: Coverage reports .. |tidelift| image:: https://tidelift.com/badges/package/pypi/coverage :target: https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=readme :alt: Tidelift .. |stars| image:: https://img.shields.io/github/stars/nedbat/coveragepy.svg?logo=github :target: https://github.com/nedbat/coveragepy/stargazers :alt: GitHub stars .. |mastodon-nedbat| image:: https://img.shields.io/badge/dynamic/json?style=flat&labelColor=450657&logo=mastodon&logoColor=ffffff&link=https%3A%2F%2Fhachyderm.io%2F%40nedbat&url=https%3A%2F%2Fhachyderm.io%2Fusers%2Fnedbat%2Ffollowers.json&query=totalItems&label=@nedbat :target: https://hachyderm.io/@nedbat :alt: nedbat on Mastodon .. |mastodon-coveragepy| image:: https://img.shields.io/badge/dynamic/json?style=flat&labelColor=450657&logo=mastodon&logoColor=ffffff&link=https%3A%2F%2Fhachyderm.io%2F%40coveragepy&url=https%3A%2F%2Fhachyderm.io%2Fusers%2Fcoveragepy%2Ffollowers.json&query=totalItems&label=@coveragepy :target: https://hachyderm.io/@coveragepy :alt: coveragepy on Mastodon .. |sponsor| image:: https://img.shields.io/badge/%E2%9D%A4-Sponsor%20me-brightgreen?style=flat&logo=GitHub :target: https://github.com/sponsors/nedbat :alt: Sponsor me on GitHub