|
1 .. Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 |
|
2 .. For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt |
|
3 |
|
4 =========== |
|
5 Coverage.py |
|
6 =========== |
|
7 |
|
8 Code coverage testing for Python. |
|
9 |
|
10 .. image:: https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg |
|
11 :target: https://vshymanskyy.github.io/StandWithUkraine |
|
12 :alt: Stand with Ukraine |
|
13 |
|
14 ------------- |
|
15 |
|
16 | |license| |versions| |status| |
|
17 | |test-status| |quality-status| |docs| |metacov| |
|
18 | |kit| |downloads| |format| |repos| |
|
19 | |stars| |forks| |contributors| |
|
20 | |tidelift| |sponsor| |twitter-coveragepy| |twitter-nedbat| |
|
21 |
|
22 Coverage.py measures code coverage, typically during test execution. It uses |
|
23 the code analysis tools and tracing hooks provided in the Python standard |
|
24 library to determine which lines are executable, and which have been executed. |
|
25 |
|
26 Coverage.py runs on these versions of Python: |
|
27 |
|
28 .. PYVERSIONS |
|
29 |
|
30 * CPython 3.7 through 3.11.0b4. |
|
31 * PyPy3 7.3.8. |
|
32 |
|
33 Documentation is on `Read the Docs`_. Code repository and issue tracker are on |
|
34 `GitHub`_. |
|
35 |
|
36 .. _Read the Docs: https://coverage.readthedocs.io/ |
|
37 .. _GitHub: https://github.com/nedbat/coveragepy |
|
38 |
|
39 |
|
40 **New in 6.x:** dropped support for Python 2.7, 3.5, and 3.6; |
|
41 write data on SIGTERM; |
|
42 added support for 3.10 match/case statements. |
|
43 |
|
44 |
|
45 For Enterprise |
|
46 -------------- |
|
47 |
|
48 .. |tideliftlogo| image:: https://nedbatchelder.com/pix/Tidelift_Logo_small.png |
|
49 :alt: Tidelift |
|
50 :target: https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=readme |
|
51 |
|
52 .. list-table:: |
|
53 :widths: 10 100 |
|
54 |
|
55 * - |tideliftlogo| |
|
56 - `Available as part of the Tidelift Subscription. <https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=readme>`_ |
|
57 Coverage and thousands of other packages are working with |
|
58 Tidelift to deliver one enterprise subscription that covers all of the open |
|
59 source you use. If you want the flexibility of open source and the confidence |
|
60 of commercial-grade software, this is for you. |
|
61 `Learn more. <https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=readme>`_ |
|
62 |
|
63 |
|
64 Getting Started |
|
65 --------------- |
|
66 |
|
67 See the `Quick Start section`_ of the docs. |
|
68 |
|
69 .. _Quick Start section: https://coverage.readthedocs.io/#quick-start |
|
70 |
|
71 |
|
72 Change history |
|
73 -------------- |
|
74 |
|
75 The complete history of changes is on the `change history page`_. |
|
76 |
|
77 .. _change history page: https://coverage.readthedocs.io/en/latest/changes.html |
|
78 |
|
79 |
|
80 Contributing |
|
81 ------------ |
|
82 |
|
83 See the `Contributing section`_ of the docs. |
|
84 |
|
85 .. _Contributing section: https://coverage.readthedocs.io/en/latest/contributing.html |
|
86 |
|
87 |
|
88 Security |
|
89 -------- |
|
90 |
|
91 To report a security vulnerability, please use the `Tidelift security |
|
92 contact`_. Tidelift will coordinate the fix and disclosure. |
|
93 |
|
94 .. _Tidelift security contact: https://tidelift.com/security |
|
95 |
|
96 |
|
97 License |
|
98 ------- |
|
99 |
|
100 Licensed under the `Apache 2.0 License`_. For details, see `NOTICE.txt`_. |
|
101 |
|
102 .. _Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0 |
|
103 .. _NOTICE.txt: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt |
|
104 |
|
105 |
|
106 .. |test-status| image:: https://github.com/nedbat/coveragepy/actions/workflows/testsuite.yml/badge.svg?branch=master&event=push |
|
107 :target: https://github.com/nedbat/coveragepy/actions/workflows/testsuite.yml |
|
108 :alt: Test suite status |
|
109 .. |quality-status| image:: https://github.com/nedbat/coveragepy/actions/workflows/quality.yml/badge.svg?branch=master&event=push |
|
110 :target: https://github.com/nedbat/coveragepy/actions/workflows/quality.yml |
|
111 :alt: Quality check status |
|
112 .. |docs| image:: https://readthedocs.org/projects/coverage/badge/?version=latest&style=flat |
|
113 :target: https://coverage.readthedocs.io/ |
|
114 :alt: Documentation |
|
115 .. |kit| image:: https://badge.fury.io/py/coverage.svg |
|
116 :target: https://pypi.org/project/coverage/ |
|
117 :alt: PyPI status |
|
118 .. |format| image:: https://img.shields.io/pypi/format/coverage.svg |
|
119 :target: https://pypi.org/project/coverage/ |
|
120 :alt: Kit format |
|
121 .. |downloads| image:: https://img.shields.io/pypi/dw/coverage.svg |
|
122 :target: https://pypi.org/project/coverage/ |
|
123 :alt: Weekly PyPI downloads |
|
124 .. |versions| image:: https://img.shields.io/pypi/pyversions/coverage.svg?logo=python&logoColor=FBE072 |
|
125 :target: https://pypi.org/project/coverage/ |
|
126 :alt: Python versions supported |
|
127 .. |status| image:: https://img.shields.io/pypi/status/coverage.svg |
|
128 :target: https://pypi.org/project/coverage/ |
|
129 :alt: Package stability |
|
130 .. |license| image:: https://img.shields.io/pypi/l/coverage.svg |
|
131 :target: https://pypi.org/project/coverage/ |
|
132 :alt: License |
|
133 .. |metacov| image:: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/nedbat/8c6980f77988a327348f9b02bbaf67f5/raw/metacov.json |
|
134 :target: https://nedbat.github.io/coverage-reports/latest.html |
|
135 :alt: Coverage reports |
|
136 .. |repos| image:: https://repology.org/badge/tiny-repos/python:coverage.svg |
|
137 :target: https://repology.org/project/python:coverage/versions |
|
138 :alt: Packaging status |
|
139 .. |tidelift| image:: https://tidelift.com/badges/package/pypi/coverage |
|
140 :target: https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=readme |
|
141 :alt: Tidelift |
|
142 .. |stars| image:: https://img.shields.io/github/stars/nedbat/coveragepy.svg?logo=github |
|
143 :target: https://github.com/nedbat/coveragepy/stargazers |
|
144 :alt: Github stars |
|
145 .. |forks| image:: https://img.shields.io/github/forks/nedbat/coveragepy.svg?logo=github |
|
146 :target: https://github.com/nedbat/coveragepy/network/members |
|
147 :alt: Github forks |
|
148 .. |contributors| image:: https://img.shields.io/github/contributors/nedbat/coveragepy.svg?logo=github |
|
149 :target: https://github.com/nedbat/coveragepy/graphs/contributors |
|
150 :alt: Contributors |
|
151 .. |twitter-coveragepy| image:: https://img.shields.io/twitter/follow/coveragepy.svg?label=coveragepy&style=flat&logo=twitter&logoColor=4FADFF |
|
152 :target: https://twitter.com/coveragepy |
|
153 :alt: coverage.py on Twitter |
|
154 .. |twitter-nedbat| image:: https://img.shields.io/twitter/follow/nedbat.svg?label=nedbat&style=flat&logo=twitter&logoColor=4FADFF |
|
155 :target: https://twitter.com/nedbat |
|
156 :alt: nedbat on Twitter |
|
157 .. |sponsor| image:: https://img.shields.io/badge/%E2%9D%A4-Sponsor%20me-brightgreen?style=flat&logo=GitHub |
|
158 :target: https://github.com/sponsors/nedbat |
|
159 :alt: Sponsor me on GitHub |