coverage 7.15.4__tar.gz → 7.16.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. {coverage-7.15.4 → coverage-7.16.1}/.github/workflows/codeql-analysis.yml +3 -3
  2. {coverage-7.15.4 → coverage-7.16.1}/.github/workflows/coverage.yml +23 -5
  3. {coverage-7.15.4 → coverage-7.16.1}/.github/workflows/kit.yml +6 -6
  4. {coverage-7.15.4 → coverage-7.16.1}/.github/workflows/publish.yml +4 -4
  5. {coverage-7.15.4 → coverage-7.16.1}/.github/workflows/python-nightly.yml +1 -1
  6. {coverage-7.15.4 → coverage-7.16.1}/.github/workflows/quality.yml +10 -9
  7. {coverage-7.15.4 → coverage-7.16.1}/.github/workflows/testsuite.yml +5 -5
  8. coverage-7.16.1/.gitignore +59 -0
  9. {coverage-7.15.4 → coverage-7.16.1}/.pre-commit-config.yaml +1 -1
  10. {coverage-7.15.4 → coverage-7.16.1}/.readthedocs.yaml +1 -1
  11. {coverage-7.15.4 → coverage-7.16.1}/CHANGES.rst +72 -0
  12. {coverage-7.15.4 → coverage-7.16.1}/MANIFEST.in +3 -2
  13. {coverage-7.15.4 → coverage-7.16.1}/Makefile +16 -20
  14. {coverage-7.15.4 → coverage-7.16.1}/PKG-INFO +8 -12
  15. {coverage-7.15.4 → coverage-7.16.1}/README.rst +1 -5
  16. {coverage-7.15.4 → coverage-7.16.1}/ci/comment_on_fixes.py +0 -1
  17. {coverage-7.15.4 → coverage-7.16.1}/coverage/__init__.py +3 -0
  18. {coverage-7.15.4 → coverage-7.16.1}/coverage/annotate.py +7 -3
  19. {coverage-7.15.4 → coverage-7.16.1}/coverage/cmdline.py +2 -2
  20. {coverage-7.15.4 → coverage-7.16.1}/coverage/collector.py +4 -4
  21. {coverage-7.15.4 → coverage-7.16.1}/coverage/config.py +31 -24
  22. {coverage-7.15.4 → coverage-7.16.1}/coverage/control.py +32 -27
  23. {coverage-7.15.4 → coverage-7.16.1}/coverage/debug.py +2 -2
  24. {coverage-7.15.4 → coverage-7.16.1}/coverage/files.py +1 -1
  25. {coverage-7.15.4 → coverage-7.16.1}/coverage/html.py +4 -3
  26. {coverage-7.15.4 → coverage-7.16.1}/coverage/htmlfiles/coverage_html.js +11 -8
  27. {coverage-7.15.4 → coverage-7.16.1}/coverage/misc.py +8 -0
  28. {coverage-7.15.4 → coverage-7.16.1}/coverage/parser.py +48 -25
  29. {coverage-7.15.4 → coverage-7.16.1}/coverage/plugin.py +3 -3
  30. {coverage-7.15.4 → coverage-7.16.1}/coverage/pytracer.py +1 -1
  31. {coverage-7.15.4 → coverage-7.16.1}/coverage/results.py +5 -4
  32. {coverage-7.15.4 → coverage-7.16.1}/coverage/sqldata.py +50 -21
  33. {coverage-7.15.4 → coverage-7.16.1}/coverage/sysmon.py +2 -2
  34. {coverage-7.15.4 → coverage-7.16.1}/coverage/tomlconfig.py +9 -2
  35. {coverage-7.15.4 → coverage-7.16.1}/coverage/tracer.pyi +1 -1
  36. {coverage-7.15.4 → coverage-7.16.1}/coverage/types.py +4 -4
  37. {coverage-7.15.4 → coverage-7.16.1}/coverage/version.py +1 -1
  38. {coverage-7.15.4 → coverage-7.16.1}/coverage.egg-info/PKG-INFO +8 -12
  39. {coverage-7.15.4 → coverage-7.16.1}/coverage.egg-info/SOURCES.txt +10 -11
  40. {coverage-7.15.4 → coverage-7.16.1}/doc/api_coveragedata.rst +1 -1
  41. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_lcov.rst +1 -1
  42. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_run.rst +1 -1
  43. {coverage-7.15.4 → coverage-7.16.1}/doc/conf.py +4 -4
  44. {coverage-7.15.4 → coverage-7.16.1}/doc/config.rst +18 -18
  45. {coverage-7.15.4 → coverage-7.16.1}/doc/contexts.rst +1 -1
  46. {coverage-7.15.4 → coverage-7.16.1}/doc/contributing.rst +25 -8
  47. {coverage-7.15.4 → coverage-7.16.1}/doc/dbschema.rst +1 -1
  48. {coverage-7.15.4 → coverage-7.16.1}/doc/excluding.rst +2 -2
  49. {coverage-7.15.4 → coverage-7.16.1}/doc/index.rst +1 -1
  50. {coverage-7.15.4 → coverage-7.16.1}/doc/plugins.rst +1 -1
  51. {coverage-7.15.4 → coverage-7.16.1}/doc/requirements.in +4 -4
  52. coverage-7.16.1/doc/requirements.txt +883 -0
  53. {coverage-7.15.4 → coverage-7.16.1}/howto.txt +3 -5
  54. {coverage-7.15.4 → coverage-7.16.1}/pyproject.toml +24 -1
  55. {coverage-7.15.4 → coverage-7.16.1}/requirements/dev.in +3 -2
  56. coverage-7.16.1/requirements/dev.txt +1114 -0
  57. {coverage-7.15.4 → coverage-7.16.1}/requirements/kit.in +2 -2
  58. coverage-7.16.1/requirements/kit.txt +542 -0
  59. {coverage-7.15.4 → coverage-7.16.1}/requirements/light-threads.in +1 -1
  60. coverage-7.16.1/requirements/light-threads.txt +290 -0
  61. {coverage-7.15.4 → coverage-7.16.1}/requirements/mypy.in +1 -1
  62. coverage-7.16.1/requirements/mypy.txt +612 -0
  63. {coverage-7.15.4 → coverage-7.16.1}/requirements/pip.in +2 -2
  64. coverage-7.16.1/requirements/pip.txt +36 -0
  65. {coverage-7.15.4 → coverage-7.16.1}/requirements/pytest.in +3 -2
  66. coverage-7.16.1/requirements/pytest.txt +340 -0
  67. {coverage-7.15.4 → coverage-7.16.1}/requirements/tox.in +2 -2
  68. coverage-7.15.4/requirements/tox.pip → coverage-7.16.1/requirements/tox.txt +22 -23
  69. {coverage-7.15.4 → coverage-7.16.1}/setup.py +1 -2
  70. {coverage-7.15.4 → coverage-7.16.1}/tests/conftest.py +0 -3
  71. {coverage-7.15.4 → coverage-7.16.1}/tests/coveragetest.py +3 -7
  72. {coverage-7.15.4 → coverage-7.16.1}/tests/goldtest.py +0 -1
  73. {coverage-7.15.4 → coverage-7.16.1}/tests/helpers.py +2 -3
  74. {coverage-7.15.4 → coverage-7.16.1}/tests/hypo.py +6 -0
  75. coverage-7.16.1/tests/js/index.html +25 -0
  76. {coverage-7.15.4 → coverage-7.16.1}/tests/js/tests.js +36 -19
  77. {coverage-7.15.4 → coverage-7.16.1}/tests/mixins.py +0 -1
  78. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/p1a.py +2 -1
  79. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/process_test/try_execfile.py +0 -1
  80. coverage-7.16.1/tests/modules/usepkgs.py +14 -0
  81. {coverage-7.15.4 → coverage-7.16.1}/tests/osinfo.py +0 -1
  82. {coverage-7.15.4 → coverage-7.16.1}/tests/plugin1.py +0 -1
  83. {coverage-7.15.4 → coverage-7.16.1}/tests/plugin2.py +0 -1
  84. {coverage-7.15.4 → coverage-7.16.1}/tests/test_annotate.py +12 -1
  85. {coverage-7.15.4 → coverage-7.16.1}/tests/test_api.py +11 -9
  86. {coverage-7.15.4 → coverage-7.16.1}/tests/test_arcs.py +2 -3
  87. {coverage-7.15.4 → coverage-7.16.1}/tests/test_bytecode.py +1 -3
  88. {coverage-7.15.4 → coverage-7.16.1}/tests/test_cmdline.py +15 -5
  89. {coverage-7.15.4 → coverage-7.16.1}/tests/test_collector.py +0 -1
  90. {coverage-7.15.4 → coverage-7.16.1}/tests/test_concurrency.py +6 -9
  91. {coverage-7.15.4 → coverage-7.16.1}/tests/test_config.py +20 -2
  92. {coverage-7.15.4 → coverage-7.16.1}/tests/test_context.py +0 -2
  93. {coverage-7.15.4 → coverage-7.16.1}/tests/test_core.py +0 -1
  94. {coverage-7.15.4 → coverage-7.16.1}/tests/test_coverage.py +31 -1
  95. {coverage-7.15.4 → coverage-7.16.1}/tests/test_data.py +82 -10
  96. {coverage-7.15.4 → coverage-7.16.1}/tests/test_debug.py +1 -3
  97. {coverage-7.15.4 → coverage-7.16.1}/tests/test_execfile.py +2 -4
  98. {coverage-7.15.4 → coverage-7.16.1}/tests/test_filereporter.py +0 -1
  99. {coverage-7.15.4 → coverage-7.16.1}/tests/test_files.py +11 -3
  100. {coverage-7.15.4 → coverage-7.16.1}/tests/test_goldtest.py +2 -3
  101. {coverage-7.15.4 → coverage-7.16.1}/tests/test_html.py +6 -9
  102. {coverage-7.15.4 → coverage-7.16.1}/tests/test_json.py +4 -8
  103. {coverage-7.15.4 → coverage-7.16.1}/tests/test_lcov.py +0 -1
  104. {coverage-7.15.4 → coverage-7.16.1}/tests/test_misc.py +9 -5
  105. {coverage-7.15.4 → coverage-7.16.1}/tests/test_mixins.py +1 -2
  106. {coverage-7.15.4 → coverage-7.16.1}/tests/test_numbits.py +9 -12
  107. {coverage-7.15.4 → coverage-7.16.1}/tests/test_oddball.py +0 -1
  108. {coverage-7.15.4 → coverage-7.16.1}/tests/test_parser.py +63 -1
  109. {coverage-7.15.4 → coverage-7.16.1}/tests/test_phystokens.py +2 -4
  110. {coverage-7.15.4 → coverage-7.16.1}/tests/test_plugins.py +2 -5
  111. {coverage-7.15.4 → coverage-7.16.1}/tests/test_process.py +5 -6
  112. {coverage-7.15.4 → coverage-7.16.1}/tests/test_python.py +0 -1
  113. {coverage-7.15.4 → coverage-7.16.1}/tests/test_regions.py +0 -1
  114. {coverage-7.15.4 → coverage-7.16.1}/tests/test_report.py +2 -4
  115. {coverage-7.15.4 → coverage-7.16.1}/tests/test_report_common.py +0 -1
  116. {coverage-7.15.4 → coverage-7.16.1}/tests/test_report_core.py +1 -2
  117. {coverage-7.15.4 → coverage-7.16.1}/tests/test_results.py +6 -3
  118. {coverage-7.15.4 → coverage-7.16.1}/tests/test_setup.py +0 -2
  119. {coverage-7.15.4 → coverage-7.16.1}/tests/test_sqlitedb.py +0 -1
  120. {coverage-7.15.4 → coverage-7.16.1}/tests/test_sysmon.py +0 -1
  121. {coverage-7.15.4 → coverage-7.16.1}/tests/test_templite.py +8 -9
  122. {coverage-7.15.4 → coverage-7.16.1}/tests/test_testing.py +1 -3
  123. {coverage-7.15.4 → coverage-7.16.1}/tests/test_venv.py +3 -6
  124. {coverage-7.15.4 → coverage-7.16.1}/tests/test_version.py +0 -1
  125. {coverage-7.15.4 → coverage-7.16.1}/tests/test_xml.py +1 -3
  126. {coverage-7.15.4 → coverage-7.16.1}/tox.ini +8 -8
  127. coverage-7.15.4/doc/requirements.pip +0 -750
  128. coverage-7.15.4/requirements/dev.pip +0 -916
  129. coverage-7.15.4/requirements/kit.pip +0 -463
  130. coverage-7.15.4/requirements/light-threads.pip +0 -288
  131. coverage-7.15.4/requirements/mypy.pip +0 -368
  132. coverage-7.15.4/requirements/pip.pip +0 -38
  133. coverage-7.15.4/requirements/pytest.pip +0 -171
  134. coverage-7.15.4/tests/gold/html/support/favicon_32_cb_c827f16f.png +0 -0
  135. coverage-7.15.4/tests/gold/html/support/keybd_closed_cb_900cfef5.png +0 -0
  136. coverage-7.15.4/tests/js/index.html +0 -43
  137. coverage-7.15.4/tests/modules/usepkgs.py +0 -8
  138. {coverage-7.15.4 → coverage-7.16.1}/.editorconfig +0 -0
  139. {coverage-7.15.4 → coverage-7.16.1}/.git-blame-ignore-revs +0 -0
  140. {coverage-7.15.4 → coverage-7.16.1}/.github/CODE_OF_CONDUCT.md +0 -0
  141. {coverage-7.15.4 → coverage-7.16.1}/.github/FUNDING.yml +0 -0
  142. {coverage-7.15.4 → coverage-7.16.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  143. {coverage-7.15.4 → coverage-7.16.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  144. {coverage-7.15.4 → coverage-7.16.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  145. {coverage-7.15.4 → coverage-7.16.1}/.github/ISSUE_TEMPLATE/support.md +0 -0
  146. {coverage-7.15.4 → coverage-7.16.1}/.github/SECURITY.md +0 -0
  147. {coverage-7.15.4 → coverage-7.16.1}/.github/dependabot.yml +0 -0
  148. {coverage-7.15.4 → coverage-7.16.1}/.github/workflows/dependency-review.yml +0 -0
  149. {coverage-7.15.4 → coverage-7.16.1}/.github/zizmor.yml +0 -0
  150. {coverage-7.15.4 → coverage-7.16.1}/.ignore +0 -0
  151. {coverage-7.15.4 → coverage-7.16.1}/CITATION.cff +0 -0
  152. {coverage-7.15.4 → coverage-7.16.1}/CONTRIBUTORS.txt +0 -0
  153. {coverage-7.15.4 → coverage-7.16.1}/LICENSE.txt +0 -0
  154. {coverage-7.15.4 → coverage-7.16.1}/NOTICE.txt +0 -0
  155. {coverage-7.15.4 → coverage-7.16.1}/__main__.py +1 -1
  156. {coverage-7.15.4 → coverage-7.16.1}/a1_coverage.pth +0 -0
  157. {coverage-7.15.4 → coverage-7.16.1}/ci/README.txt +0 -0
  158. {coverage-7.15.4 → coverage-7.16.1}/ci/session.py +0 -0
  159. {coverage-7.15.4 → coverage-7.16.1}/ci/trigger_action.py +0 -0
  160. {coverage-7.15.4 → coverage-7.16.1}/ci/update_rtfd.py +0 -0
  161. {coverage-7.15.4 → coverage-7.16.1}/coverage/__main__.py +0 -0
  162. {coverage-7.15.4 → coverage-7.16.1}/coverage/bytecode.py +0 -0
  163. {coverage-7.15.4 → coverage-7.16.1}/coverage/context.py +0 -0
  164. {coverage-7.15.4 → coverage-7.16.1}/coverage/core.py +0 -0
  165. {coverage-7.15.4 → coverage-7.16.1}/coverage/ctracer/datastack.c +0 -0
  166. {coverage-7.15.4 → coverage-7.16.1}/coverage/ctracer/datastack.h +0 -0
  167. {coverage-7.15.4 → coverage-7.16.1}/coverage/ctracer/filedisp.c +0 -0
  168. {coverage-7.15.4 → coverage-7.16.1}/coverage/ctracer/filedisp.h +0 -0
  169. {coverage-7.15.4 → coverage-7.16.1}/coverage/ctracer/module.c +0 -0
  170. {coverage-7.15.4 → coverage-7.16.1}/coverage/ctracer/stats.h +0 -0
  171. {coverage-7.15.4 → coverage-7.16.1}/coverage/ctracer/tracer.c +0 -0
  172. {coverage-7.15.4 → coverage-7.16.1}/coverage/ctracer/tracer.h +0 -0
  173. {coverage-7.15.4 → coverage-7.16.1}/coverage/ctracer/util.h +0 -0
  174. {coverage-7.15.4 → coverage-7.16.1}/coverage/data.py +0 -0
  175. {coverage-7.15.4 → coverage-7.16.1}/coverage/disposition.py +0 -0
  176. {coverage-7.15.4 → coverage-7.16.1}/coverage/env.py +0 -0
  177. {coverage-7.15.4 → coverage-7.16.1}/coverage/exceptions.py +0 -0
  178. {coverage-7.15.4 → coverage-7.16.1}/coverage/execfile.py +0 -0
  179. {coverage-7.15.4 → coverage-7.16.1}/coverage/htmlfiles/favicon_32.png +0 -0
  180. {coverage-7.15.4 → coverage-7.16.1}/coverage/htmlfiles/index.html +0 -0
  181. {coverage-7.15.4 → coverage-7.16.1}/coverage/htmlfiles/keybd_closed.png +0 -0
  182. {coverage-7.15.4 → coverage-7.16.1}/coverage/htmlfiles/pyfile.html +0 -0
  183. {coverage-7.15.4 → coverage-7.16.1}/coverage/htmlfiles/style.css +0 -0
  184. {coverage-7.15.4 → coverage-7.16.1}/coverage/htmlfiles/style.scss +0 -0
  185. {coverage-7.15.4 → coverage-7.16.1}/coverage/inorout.py +0 -0
  186. {coverage-7.15.4 → coverage-7.16.1}/coverage/jsonreport.py +0 -0
  187. {coverage-7.15.4 → coverage-7.16.1}/coverage/lcovreport.py +0 -0
  188. {coverage-7.15.4 → coverage-7.16.1}/coverage/multiproc.py +0 -0
  189. {coverage-7.15.4 → coverage-7.16.1}/coverage/numbits.py +0 -0
  190. {coverage-7.15.4 → coverage-7.16.1}/coverage/patch.py +0 -0
  191. {coverage-7.15.4 → coverage-7.16.1}/coverage/phystokens.py +0 -0
  192. {coverage-7.15.4 → coverage-7.16.1}/coverage/plugin_support.py +0 -0
  193. {coverage-7.15.4 → coverage-7.16.1}/coverage/pth_file.py +0 -0
  194. {coverage-7.15.4 → coverage-7.16.1}/coverage/py.typed +0 -0
  195. {coverage-7.15.4 → coverage-7.16.1}/coverage/python.py +0 -0
  196. {coverage-7.15.4 → coverage-7.16.1}/coverage/regions.py +1 -1
  197. {coverage-7.15.4 → coverage-7.16.1}/coverage/report.py +0 -0
  198. {coverage-7.15.4 → coverage-7.16.1}/coverage/report_core.py +0 -0
  199. {coverage-7.15.4 → coverage-7.16.1}/coverage/sqlitedb.py +0 -0
  200. {coverage-7.15.4 → coverage-7.16.1}/coverage/templite.py +0 -0
  201. {coverage-7.15.4 → coverage-7.16.1}/coverage/xmlreport.py +0 -0
  202. {coverage-7.15.4 → coverage-7.16.1}/coverage.egg-info/dependency_links.txt +0 -0
  203. {coverage-7.15.4 → coverage-7.16.1}/coverage.egg-info/entry_points.txt +0 -0
  204. {coverage-7.15.4 → coverage-7.16.1}/coverage.egg-info/not-zip-safe +0 -0
  205. {coverage-7.15.4 → coverage-7.16.1}/coverage.egg-info/requires.txt +0 -0
  206. {coverage-7.15.4 → coverage-7.16.1}/coverage.egg-info/top_level.txt +0 -0
  207. {coverage-7.15.4 → coverage-7.16.1}/doc/_static/coverage.css +0 -0
  208. {coverage-7.15.4 → coverage-7.16.1}/doc/api.rst +0 -0
  209. {coverage-7.15.4 → coverage-7.16.1}/doc/api_coverage.rst +0 -0
  210. {coverage-7.15.4 → coverage-7.16.1}/doc/api_exceptions.rst +0 -0
  211. {coverage-7.15.4 → coverage-7.16.1}/doc/api_module.rst +0 -0
  212. {coverage-7.15.4 → coverage-7.16.1}/doc/api_plugin.rst +0 -0
  213. {coverage-7.15.4 → coverage-7.16.1}/doc/branch.rst +0 -0
  214. {coverage-7.15.4 → coverage-7.16.1}/doc/changes.rst +0 -0
  215. {coverage-7.15.4 → coverage-7.16.1}/doc/cog_helpers.py +0 -0
  216. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_annotate.rst +0 -0
  217. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_combine.rst +0 -0
  218. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_debug.rst +0 -0
  219. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_erase.rst +0 -0
  220. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_html.rst +0 -0
  221. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_json.rst +0 -0
  222. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_report.rst +0 -0
  223. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_reporting.rst +0 -0
  224. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/cmd_xml.rst +0 -0
  225. {coverage-7.15.4 → coverage-7.16.1}/doc/commands/index.rst +0 -0
  226. {coverage-7.15.4 → coverage-7.16.1}/doc/dict.txt +0 -0
  227. {coverage-7.15.4 → coverage-7.16.1}/doc/faq.rst +0 -0
  228. {coverage-7.15.4 → coverage-7.16.1}/doc/howitworks.rst +0 -0
  229. {coverage-7.15.4 → coverage-7.16.1}/doc/install.rst +0 -0
  230. {coverage-7.15.4 → coverage-7.16.1}/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White.png +0 -0
  231. {coverage-7.15.4 → coverage-7.16.1}/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White_small.png +0 -0
  232. {coverage-7.15.4 → coverage-7.16.1}/doc/media/sleepy-snake-600.png +0 -0
  233. {coverage-7.15.4 → coverage-7.16.1}/doc/media/sleepy-snake-circle-150.png +0 -0
  234. {coverage-7.15.4 → coverage-7.16.1}/doc/messages.rst +0 -0
  235. {coverage-7.15.4 → coverage-7.16.1}/doc/migrating.rst +0 -0
  236. {coverage-7.15.4 → coverage-7.16.1}/doc/other.rst +0 -0
  237. {coverage-7.15.4 → coverage-7.16.1}/doc/python-coverage.1.txt +0 -0
  238. {coverage-7.15.4 → coverage-7.16.1}/doc/sleepy.rst +0 -0
  239. {coverage-7.15.4 → coverage-7.16.1}/doc/source.rst +0 -0
  240. {coverage-7.15.4 → coverage-7.16.1}/doc/subprocess.rst +0 -0
  241. {coverage-7.15.4 → coverage-7.16.1}/doc/trouble.rst +0 -0
  242. {coverage-7.15.4 → coverage-7.16.1}/doc/whatsnew5x.rst +0 -0
  243. {coverage-7.15.4 → coverage-7.16.1}/igor.py +0 -0
  244. {coverage-7.15.4 → coverage-7.16.1}/lab/README.txt +0 -0
  245. {coverage-7.15.4 → coverage-7.16.1}/lab/branches.py +0 -0
  246. {coverage-7.15.4 → coverage-7.16.1}/lab/compare_times.sh +0 -0
  247. {coverage-7.15.4 → coverage-7.16.1}/lab/coverage-04.dtd +0 -0
  248. {coverage-7.15.4 → coverage-7.16.1}/lab/extract_code.py +0 -0
  249. {coverage-7.15.4 → coverage-7.16.1}/lab/goals.py +0 -0
  250. {coverage-7.15.4 → coverage-7.16.1}/lab/hack_pyc.py +0 -0
  251. {coverage-7.15.4 → coverage-7.16.1}/lab/notes/arcs-to-branches.txt +0 -0
  252. {coverage-7.15.4 → coverage-7.16.1}/lab/notes/bug1303.txt +0 -0
  253. {coverage-7.15.4 → coverage-7.16.1}/lab/notes/pypy-738-decorated-functions.txt +0 -0
  254. {coverage-7.15.4 → coverage-7.16.1}/lab/parse_all.py +0 -0
  255. {coverage-7.15.4 → coverage-7.16.1}/lab/parser.py +0 -0
  256. {coverage-7.15.4 → coverage-7.16.1}/lab/pick.py +0 -0
  257. {coverage-7.15.4 → coverage-7.16.1}/lab/platform_info.py +0 -0
  258. {coverage-7.15.4 → coverage-7.16.1}/lab/run_sysmon.py +0 -0
  259. {coverage-7.15.4 → coverage-7.16.1}/lab/run_trace.py +0 -0
  260. {coverage-7.15.4 → coverage-7.16.1}/lab/select_contexts.py +0 -0
  261. {coverage-7.15.4 → coverage-7.16.1}/lab/show_platform.py +0 -0
  262. {coverage-7.15.4 → coverage-7.16.1}/lab/show_pyc.py +0 -0
  263. {coverage-7.15.4 → coverage-7.16.1}/lab/treetopy.sh +0 -0
  264. {coverage-7.15.4 → coverage-7.16.1}/lab/warn_executed.py +0 -0
  265. {coverage-7.15.4 → coverage-7.16.1}/lab/warn_executed.toml +0 -0
  266. {coverage-7.15.4 → coverage-7.16.1}/metacov.ini +0 -0
  267. /coverage-7.15.4/requirements/pins.pip → /coverage-7.16.1/requirements/pins.txt +0 -0
  268. {coverage-7.15.4 → coverage-7.16.1}/setup.cfg +0 -0
  269. {coverage-7.15.4 → coverage-7.16.1}/tests/__init__.py +0 -0
  270. {coverage-7.15.4 → coverage-7.16.1}/tests/covmodzip1.py +0 -0
  271. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/README.rst +0 -0
  272. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/anno_dir/multi.py,cover +0 -0
  273. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/anno_dir/z_80084bf2fba02475___init__.py,cover +0 -0
  274. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/anno_dir/z_80084bf2fba02475_a.py,cover +0 -0
  275. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2___init__.py,cover +0 -0
  276. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2_b.py,cover +0 -0
  277. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/encodings/utf8.py,cover +0 -0
  278. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/mae/mae.py,cover +0 -0
  279. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/multi/a/__init__.py,cover +0 -0
  280. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/multi/a/a.py,cover +0 -0
  281. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/multi/b/__init__.py,cover +0 -0
  282. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/multi/b/b.py,cover +0 -0
  283. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/multi/multi.py,cover +0 -0
  284. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/annotate/white/white.py,cover +0 -0
  285. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/Makefile +0 -0
  286. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/a/a_py.html +0 -0
  287. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/a/class_index.html +0 -0
  288. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/a/function_index.html +0 -0
  289. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/a/index.html +0 -0
  290. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/b_branch/b_py.html +0 -0
  291. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/b_branch/class_index.html +0 -0
  292. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/b_branch/function_index.html +0 -0
  293. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/b_branch/index.html +0 -0
  294. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/bom/bom_py.html +0 -0
  295. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/bom/class_index.html +0 -0
  296. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/bom/function_index.html +0 -0
  297. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/bom/index.html +0 -0
  298. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/contexts/class_index.html +0 -0
  299. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/contexts/function_index.html +0 -0
  300. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/contexts/index.html +0 -0
  301. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/contexts/two_tests_py.html +0 -0
  302. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/isolatin1/class_index.html +0 -0
  303. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/isolatin1/function_index.html +0 -0
  304. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/isolatin1/index.html +0 -0
  305. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/isolatin1/isolatin1_py.html +0 -0
  306. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/multiline/class_index.html +0 -0
  307. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/multiline/function_index.html +0 -0
  308. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/multiline/index.html +0 -0
  309. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/multiline/multiline_py.html +0 -0
  310. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_1/class_index.html +0 -0
  311. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_1/function_index.html +0 -0
  312. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_1/index.html +0 -0
  313. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_1/m1_py.html +0 -0
  314. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_1/m2_py.html +0 -0
  315. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_1/m3_py.html +0 -0
  316. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_1/main_py.html +0 -0
  317. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_2/class_index.html +0 -0
  318. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_2/function_index.html +0 -0
  319. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_2/index.html +0 -0
  320. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_2/m2_py.html +0 -0
  321. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_2/m3_py.html +0 -0
  322. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_2/main_py.html +0 -0
  323. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_3/class_index.html +0 -0
  324. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_3/function_index.html +0 -0
  325. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_3/index.html +0 -0
  326. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_3/m3_py.html +0 -0
  327. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_3/main_py.html +0 -0
  328. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_4/class_index.html +0 -0
  329. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_4/function_index.html +0 -0
  330. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_4/index.html +0 -0
  331. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_4/m1_py.html +0 -0
  332. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_4/m3_py.html +0 -0
  333. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_4/main_py.html +0 -0
  334. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_5/class_index.html +0 -0
  335. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_5/function_index.html +0 -0
  336. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_5/index.html +0 -0
  337. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_5/m1_py.html +0 -0
  338. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/omit_5/main_py.html +0 -0
  339. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/other/blah_blah_other_py.html +0 -0
  340. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/other/class_index.html +0 -0
  341. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/other/function_index.html +0 -0
  342. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/other/here_py.html +0 -0
  343. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/other/index.html +0 -0
  344. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/partial/class_index.html +0 -0
  345. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/partial/function_index.html +0 -0
  346. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/partial/index.html +0 -0
  347. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/partial/partial_py.html +0 -0
  348. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/styled/a_py.html +0 -0
  349. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/styled/class_index.html +0 -0
  350. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/styled/function_index.html +0 -0
  351. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/styled/index.html +0 -0
  352. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/styled/myextra.css +0 -0
  353. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/styled/style.css +0 -0
  354. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/support/coverage_html_cb_dd2e7eb5.js +0 -0
  355. {coverage-7.15.4/doc/sample_html → coverage-7.16.1/tests/gold/html/support}/favicon_32_cb_c827f16f.png +0 -0
  356. {coverage-7.15.4/doc/sample_html → coverage-7.16.1/tests/gold/html/support}/keybd_closed_cb_900cfef5.png +0 -0
  357. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/support/style_cb_a90a112a.css +0 -0
  358. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/unicode/class_index.html +0 -0
  359. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/unicode/function_index.html +0 -0
  360. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/unicode/index.html +0 -0
  361. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/html/unicode/unicode_py.html +0 -0
  362. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/testing/getty/gettysburg.txt +0 -0
  363. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/testing/xml/output.xml +0 -0
  364. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/xml/x_xml/coverage.xml +0 -0
  365. {coverage-7.15.4 → coverage-7.16.1}/tests/gold/xml/y_xml_branch/coverage.xml +0 -0
  366. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/__init__.py +0 -0
  367. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/afile.odd.py +0 -0
  368. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/afile.py +0 -0
  369. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/bb/__init__.py +0 -0
  370. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/bb/bfile.odd.py +0 -0
  371. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/bb/bfile.py +0 -0
  372. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/bb/cc/__init__.py +0 -0
  373. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/bb/cc/cfile.py +0 -0
  374. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/bb.odd/bfile.py +0 -0
  375. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/aa/zfile.py +0 -0
  376. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/ambiguous/__init__.py +0 -0
  377. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/ambiguous/pkg1/__init__.py +0 -0
  378. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/ambiguous/pkg1/ambiguous.py +0 -0
  379. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/checkspec.py +0 -0
  380. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/covmod1.py +0 -0
  381. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/namespace_420/sub1/__init__.py +0 -0
  382. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/__init__.py +0 -0
  383. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/__main__.py +0 -0
  384. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/p1b.py +0 -0
  385. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/p1c.py +0 -0
  386. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/runmod2.py +0 -0
  387. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/sub/__init__.py +0 -0
  388. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/sub/__main__.py +0 -0
  389. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/sub/ps1a.py +0 -0
  390. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg1/sub/runmod3.py +0 -0
  391. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg2/__init__.py +0 -0
  392. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg2/p2a.py +0 -0
  393. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/pkg2/p2b.py +0 -0
  394. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/plugins/__init__.py +0 -0
  395. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/plugins/a_plugin.py +0 -0
  396. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/plugins/another.py +0 -0
  397. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/process_test/__init__.py +0 -0
  398. {coverage-7.15.4 → coverage-7.16.1}/tests/modules/runmod1.py +0 -0
  399. {coverage-7.15.4 → coverage-7.16.1}/tests/moremodules/namespace_420/sub2/__init__.py +0 -0
  400. {coverage-7.15.4 → coverage-7.16.1}/tests/moremodules/othermods/__init__.py +0 -0
  401. {coverage-7.15.4 → coverage-7.16.1}/tests/moremodules/othermods/othera.py +0 -0
  402. {coverage-7.15.4 → coverage-7.16.1}/tests/moremodules/othermods/otherb.py +0 -0
  403. {coverage-7.15.4 → coverage-7.16.1}/tests/moremodules/othermods/sub/__init__.py +0 -0
  404. {coverage-7.15.4 → coverage-7.16.1}/tests/moremodules/othermods/sub/osa.py +0 -0
  405. {coverage-7.15.4 → coverage-7.16.1}/tests/moremodules/othermods/sub/osb.py +0 -0
  406. {coverage-7.15.4 → coverage-7.16.1}/tests/plugin_config.py +0 -0
  407. {coverage-7.15.4 → coverage-7.16.1}/tests/qunit/jquery.tmpl.min.js +0 -0
  408. {coverage-7.15.4 → coverage-7.16.1}/tests/select_plugin.py +0 -0
  409. {coverage-7.15.4 → coverage-7.16.1}/tests/strategies.py +0 -0
  410. {coverage-7.15.4 → coverage-7.16.1}/tests/stress_phystoken.tok +0 -0
  411. {coverage-7.15.4 → coverage-7.16.1}/tests/stress_phystoken_dos.tok +0 -0
  412. {coverage-7.15.4 → coverage-7.16.1}/tests/testenv.py +0 -0
  413. {coverage-7.15.4 → coverage-7.16.1}/tests/zipsrc/zip1/__init__.py +0 -0
  414. {coverage-7.15.4 → coverage-7.16.1}/tests/zipsrc/zip1/zip1.py +0 -0
@@ -55,7 +55,7 @@ jobs:
55
55
 
56
56
  # Initializes the CodeQL tools for scanning.
57
57
  - name: Initialize CodeQL
58
- uses: github/codeql-action/init@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
58
+ uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
59
59
  with:
60
60
  languages: ${{ matrix.language }}
61
61
  # If you wish to specify custom queries, you can do so here or in a config file.
@@ -66,7 +66,7 @@ jobs:
66
66
  # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
67
67
  # If this step fails, then you should remove it and run the build manually (see below)
68
68
  - name: Autobuild
69
- uses: github/codeql-action/autobuild@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
69
+ uses: github/codeql-action/autobuild@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
70
70
 
71
71
  # ℹ️ Command-line programs to run using the OS shell.
72
72
  # 📚 https://git.io/JvXDl
@@ -80,4 +80,4 @@ jobs:
80
80
  # make release
81
81
 
82
82
  - name: Perform CodeQL Analysis
83
- uses: github/codeql-action/analyze@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
83
+ uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
@@ -44,7 +44,7 @@ jobs:
44
44
  persist-credentials: false
45
45
 
46
46
  - name: "Examine changed files"
47
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
47
+ uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
48
48
  id: filter
49
49
  with:
50
50
  filters: |
@@ -57,7 +57,7 @@ jobs:
57
57
  - ".github/workflows/coverage.yml"
58
58
  - "tox.ini"
59
59
  - "metacov.ini"
60
- - "requirements/*.pip"
60
+ - "requirements/*.txt"
61
61
  - "tests/gold/**"
62
62
 
63
63
  coverage:
@@ -133,7 +133,7 @@ jobs:
133
133
  # 3.10 on Windows. Commenting out the cache here fixed it. Someday
134
134
  # try using the cache again.
135
135
  #cache: pip
136
- #cache-dependency-path: 'requirements/*.pip'
136
+ #cache-dependency-path: 'requirements/*.txt'
137
137
 
138
138
  - name: "Show environment"
139
139
  run: |
@@ -146,7 +146,7 @@ jobs:
146
146
  - name: "Install dependencies"
147
147
  run: |
148
148
  set -xe
149
- python -m pip install -r requirements/tox.pip
149
+ python -m pip install -r requirements/tox.txt
150
150
 
151
151
  - name: "Run tox coverage for ${{ matrix.python-version }}"
152
152
  env:
@@ -184,6 +184,7 @@ jobs:
184
184
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
185
185
  with:
186
186
  persist-credentials: false
187
+ fetch-depth: 200
187
188
 
188
189
  - name: "Set up Python"
189
190
  uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
@@ -193,7 +194,7 @@ jobs:
193
194
  # 3.10 on Windows. Commenting out the cache here fixed it. Someday
194
195
  # try using the cache again.
195
196
  #cache: pip
196
- #cache-dependency-path: 'requirements/*.pip'
197
+ #cache-dependency-path: 'requirements/*.txt'
197
198
 
198
199
  - name: "Show environment"
199
200
  run: |
@@ -206,6 +207,7 @@ jobs:
206
207
  run: |
207
208
  set -xe
208
209
  python -m pip install -e .
210
+ python -m pip install -r requirements/pytest.txt
209
211
  python igor.py zip_mods
210
212
 
211
213
  - name: "Download coverage data"
@@ -266,6 +268,22 @@ jobs:
266
268
  exit 1
267
269
  fi
268
270
 
271
+ - name: "Check coverage on changed lines"
272
+ # Changed code must be fully covered, unless the PR is labeled with "missing-coverage-ok".
273
+ if: github.event_name == 'pull_request'
274
+ env:
275
+ BASE_REF: ${{ github.event.pull_request.base.ref }}
276
+ FAIL_UNDER: ${{ contains(github.event.pull_request.labels.*.name, 'missing-coverage-ok') && '0' || '100' }}
277
+ run: |
278
+ git fetch origin "${BASE_REF}"
279
+ diff-cover coverage.xml \
280
+ --compare-branch "origin/${BASE_REF}" \
281
+ --fail-under="${FAIL_UNDER}" \
282
+ --format markdown:report.md \
283
+ || status=$?
284
+ cat report.md >> "$GITHUB_STEP_SUMMARY"
285
+ exit "${status:-0}"
286
+
269
287
  publish:
270
288
  name: "Publish coverage report"
271
289
  needs: combine
@@ -192,7 +192,7 @@ jobs:
192
192
  with:
193
193
  python-version: "${{ matrix.cipy }}"
194
194
  cache: pip
195
- cache-dependency-path: 'requirements/*.pip'
195
+ cache-dependency-path: 'requirements/*.txt'
196
196
 
197
197
  # Rust toolchain is not currently installed on windows arm64 images.
198
198
  # We need it for nh3, needed by readme-renderer, needed by twine.
@@ -208,11 +208,11 @@ jobs:
208
208
 
209
209
  - name: "Install tools"
210
210
  run: |
211
- python -m pip install -r requirements/kit.pip
211
+ python -m pip install -r requirements/kit.txt
212
212
 
213
213
  - name: "Set up QEMU"
214
214
  if: ${{ matrix.arch == 'riscv64' }}
215
- uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
215
+ uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
216
216
 
217
217
  - name: "Show environment"
218
218
  run: |
@@ -257,11 +257,11 @@ jobs:
257
257
  with:
258
258
  python-version: "3.11" # PYVERSIONS: the kit-building version
259
259
  cache: pip
260
- cache-dependency-path: 'requirements/*.pip'
260
+ cache-dependency-path: 'requirements/*.txt'
261
261
 
262
262
  - name: "Install tools"
263
263
  run: |
264
- python -m pip install -r requirements/kit.pip
264
+ python -m pip install -r requirements/kit.txt
265
265
 
266
266
  - name: "Build non-binary artifacts"
267
267
  env:
@@ -309,7 +309,7 @@ jobs:
309
309
  files=$(find coverage-* 2>/dev/null | wc -l) && [ "$files" -eq "$EXPECTED" ] || exit 1
310
310
 
311
311
  - name: "Sign artifacts"
312
- uses: sigstore/gh-action-sigstore-python@5b79a39c381910c090341a2c9b0bf022c8b387e1 # v3.4.0
312
+ uses: sigstore/gh-action-sigstore-python@790bc6befb9d733738f18d8f895854b453640ec9 # v3.5.0
313
313
  with:
314
314
  inputs: coverage-*.*
315
315
 
@@ -86,12 +86,12 @@ jobs:
86
86
  files=$(find dist/* 2>/dev/null | wc -l) && [ "$files" -eq "$EXPECTED" ] || exit 1
87
87
 
88
88
  - name: "Generate attestations"
89
- uses: actions/attest-build-provenance@0f67c3f4856b2e3261c31976d6725780e5e4c373 # v4.1.1
89
+ uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
90
90
  with:
91
91
  subject-path: "dist/*"
92
92
 
93
93
  - name: "Publish dists to Test PyPI"
94
- uses: pypa/gh-action-pypi-publish@ba38be9e461d3875417946c167d0b5f3d385a247 # v1.14.1
94
+ uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
95
95
  with:
96
96
  repository-url: https://test.pypi.org/legacy/
97
97
 
@@ -127,9 +127,9 @@ jobs:
127
127
  files=$(find dist/* 2>/dev/null | wc -l) && [ "$files" -eq "$EXPECTED" ] || exit 1
128
128
 
129
129
  - name: "Generate attestations"
130
- uses: actions/attest-build-provenance@0f67c3f4856b2e3261c31976d6725780e5e4c373 # v4.1.1
130
+ uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
131
131
  with:
132
132
  subject-path: "dist/*"
133
133
 
134
134
  - name: "Publish dists to PyPI"
135
- uses: pypa/gh-action-pypi-publish@ba38be9e461d3875417946c167d0b5f3d385a247 # v1.14.1
135
+ uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
@@ -110,7 +110,7 @@ jobs:
110
110
 
111
111
  - name: "Install dependencies"
112
112
  run: |
113
- python -m pip install -r requirements/tox.pip
113
+ python -m pip install -r requirements/tox.txt
114
114
 
115
115
  - name: "Run tox"
116
116
  run: |
@@ -43,7 +43,7 @@ jobs:
43
43
  persist-credentials: false
44
44
 
45
45
  - name: "Examine changed files"
46
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
46
+ uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
47
47
  id: filter
48
48
  with:
49
49
  filters: |
@@ -52,12 +52,13 @@ jobs:
52
52
  docs:
53
53
  - "doc/**"
54
54
  - "coverage/**.py"
55
+ - "*.rst"
55
56
  actions:
56
57
  - ".github/workflows/**"
57
58
  workflow:
58
59
  - ".github/workflows/quality.yml"
59
60
  - "tox.ini"
60
- - "requirements/*.pip"
61
+ - "requirements/*.txt"
61
62
 
62
63
  lint:
63
64
  name: "Pylint etc"
@@ -83,11 +84,11 @@ jobs:
83
84
  with:
84
85
  python-version: "3.10" # Minimum of PYVERSIONS
85
86
  cache: pip
86
- cache-dependency-path: 'requirements/*.pip'
87
+ cache-dependency-path: 'requirements/*.txt'
87
88
 
88
89
  - name: "Install dependencies"
89
90
  run: |
90
- python -m pip install -r requirements/tox.pip
91
+ python -m pip install -r requirements/tox.txt
91
92
 
92
93
  - name: "Tox lint"
93
94
  run: |
@@ -113,11 +114,11 @@ jobs:
113
114
  with:
114
115
  python-version: "3.10" # Minimum of PYVERSIONS
115
116
  cache: pip
116
- cache-dependency-path: 'requirements/*.pip'
117
+ cache-dependency-path: 'requirements/*.txt'
117
118
 
118
119
  - name: "Install dependencies"
119
120
  run: |
120
- python -m pip install -r requirements/tox.pip
121
+ python -m pip install -r requirements/tox.txt
121
122
 
122
123
  - name: "Tox mypy"
123
124
  run: |
@@ -148,7 +149,7 @@ jobs:
148
149
  with:
149
150
  python-version: "3.12" # Doc version from PYVERSIONS
150
151
  cache: pip
151
- cache-dependency-path: 'requirements/*.pip'
152
+ cache-dependency-path: 'requirements/*.txt'
152
153
 
153
154
  - name: "Show environment"
154
155
  run: |
@@ -160,7 +161,7 @@ jobs:
160
161
  - name: "Install dependencies"
161
162
  run: |
162
163
  set -xe
163
- python -m pip install -r requirements/tox.pip
164
+ python -m pip install -r requirements/tox.txt
164
165
 
165
166
  - name: "Tox doc"
166
167
  run: |
@@ -184,7 +185,7 @@ jobs:
184
185
  persist-credentials: false
185
186
 
186
187
  - name: "Install uv"
187
- uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
188
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
188
189
  with:
189
190
  enable-cache: false
190
191
 
@@ -43,7 +43,7 @@ jobs:
43
43
  persist-credentials: false
44
44
 
45
45
  - name: "Examine changed files"
46
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
46
+ uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
47
47
  id: filter
48
48
  with:
49
49
  filters: |
@@ -55,7 +55,7 @@ jobs:
55
55
  - "**.c"
56
56
  - ".github/workflows/testsuite.yml"
57
57
  - "tox.ini"
58
- - "requirements/*.pip"
58
+ - "requirements/*.txt"
59
59
  - "tests/gold/**"
60
60
 
61
61
  tests:
@@ -129,7 +129,7 @@ jobs:
129
129
  # 3.10 on Windows. Commenting out the cache here fixed it. Someday
130
130
  # try using the cache again.
131
131
  #cache: pip
132
- #cache-dependency-path: 'requirements/*.pip'
132
+ #cache-dependency-path: 'requirements/*.txt'
133
133
 
134
134
  - name: "Show environment"
135
135
  run: |
@@ -149,7 +149,7 @@ jobs:
149
149
  - name: "Install dependencies"
150
150
  run: |
151
151
  set -xe
152
- python -m pip install -r requirements/tox.pip
152
+ python -m pip install -r requirements/tox.txt
153
153
 
154
154
  - name: "Run tox for ${{ matrix.python-version }}"
155
155
  run: |
@@ -171,6 +171,6 @@ jobs:
171
171
  runs-on: ubuntu-latest
172
172
  steps:
173
173
  - name: "Decide success or failure"
174
- uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
174
+ uses: re-actors/alls-green@b5b5b37504aa4183270bd3d855c52a67f212be35 # v1.3.0
175
175
  with:
176
176
  jobs: ${{ toJSON(needs) }}
@@ -0,0 +1,59 @@
1
+ # Files that can appear anywhere in the tree.
2
+ *.pyc
3
+ *.pyo
4
+ *$py.class
5
+ *.pyd
6
+ *.so
7
+ *.bak
8
+ .coverage
9
+ .coverage.*
10
+ .metacov
11
+ .metacov.*
12
+ *.swp
13
+
14
+ # Data files we should ignore in the root, but need for gold files.
15
+ /coverage.xml
16
+ /coverage.json
17
+ /coverage.lcov
18
+
19
+ # Stuff generated by editors.
20
+ .idea/
21
+ .vscode/
22
+ .vimtags
23
+
24
+ # Stuff in the root.
25
+ build
26
+ *.egg-info
27
+ cheats.txt
28
+ dist
29
+ htmlcov
30
+ MANIFEST
31
+ setuptools-*.egg
32
+ .tox
33
+ .noseids
34
+ .cache
35
+ .pytest_cache
36
+ .hypothesis
37
+ .ruby-version
38
+ .venv
39
+
40
+ # Stuff in the test directory.
41
+ covmain.zip
42
+ zipmods.zip
43
+ zip1.zip
44
+ tests/actual
45
+
46
+ # Stuff in the doc directory.
47
+ doc/_build
48
+ doc/_spell
49
+ doc/sample_html
50
+ doc/sample_html_beta
51
+
52
+ # Build intermediaries.
53
+ tmp
54
+ a1_coverage.pth
55
+
56
+ # OS junk
57
+ .DS_Store
58
+
59
+ !.github
@@ -16,7 +16,7 @@ repos:
16
16
  exclude: "stress_phystoken|\\.py,cover$"
17
17
 
18
18
  - repo: https://github.com/astral-sh/ruff-pre-commit
19
- rev: v0.16.1
19
+ rev: v0.16.7
20
20
  hooks:
21
21
  - id: ruff-format
22
22
 
@@ -21,6 +21,6 @@ formats: []
21
21
 
22
22
  python:
23
23
  install:
24
- - requirements: doc/requirements.pip
24
+ - requirements: doc/requirements.txt
25
25
  - method: pip
26
26
  path: .
@@ -22,6 +22,78 @@ upgrading your version of coverage.py.
22
22
 
23
23
  .. start-releases
24
24
 
25
+ .. _changes_7-16-1:
26
+
27
+ Version 7.16.1 — 2026-09-13
28
+ ---------------------------
29
+
30
+ - Fix: when the body of an irrefutable ``case`` (like ``case _:``) is entirely
31
+ excluded, the ``case`` line is now excluded too, just as an excluded
32
+ ``else:`` body removes the ``else:`` line. Previously the ``case`` line was
33
+ left behind and reported as missing. Closes `issue 1563`_ with `pull 2269`_.
34
+
35
+ - Fix: using :meth:`.CoverageData.update` twice on an in-memory database would
36
+ fail, as described in `issue 2279`_. This is now fixed.
37
+
38
+ .. _issue 1563: https://github.com/coveragepy/coveragepy/issues/1563
39
+ .. _pull 2269: https://github.com/coveragepy/coveragepy/pull/2269
40
+ .. _issue 2279: https://github.com/coveragepy/coveragepy/issues/2279
41
+
42
+ .. _changes_7-16-0:
43
+
44
+ Version 7.16.0 — 2026-08-28
45
+ ---------------------------
46
+
47
+ - When combining files, now path separator slashes will automatically be
48
+ converted to the local file system style. This makes it less necessary to
49
+ define ``[paths]`` configuration to combine data across operating systems.
50
+ Fixes `issue 2266`_.
51
+
52
+ - The :meth:`.Coverage.switch_context` method now returns the previous context.
53
+
54
+ - Fix: previously, a ``[paths]`` pattern would be replaced everywhere in a file
55
+ path when it was only meant to be replaced once, in the leading portion of
56
+ the path. This is now fixed, in `pull 2268`_.
57
+
58
+ - Fixes to validation of options and configuration settings:
59
+
60
+ - Negative precision settings now always cause useful error messages (`pull
61
+ 2261`_).
62
+
63
+ - An invalid regex in the ``--contexts`` option (or the ``[report]
64
+ contexts`` setting) reported a confusing "Couldn't use data file ...:
65
+ user-defined function raised exception" error. Now it raises a proper
66
+ configuration error naming the bad regex, like other regex settings do
67
+ (`pull 2262`_).
68
+
69
+ - Non-string values in TOML configuration settings now produce a helpful
70
+ error message instead of a traceback. This affects list settings whose
71
+ elements aren't strings (like ``omit``, ``exclude_lines``, or a ``[paths]``
72
+ entry), file settings like ``data_file``, and any wrong-typed value in the
73
+ ``[paths]`` section (`pull 2263`_).
74
+
75
+ - ``coverage run`` refuses run-affecting command-line options like
76
+ ``--branch`` alongside ``--concurrency=multiprocessing``, since they can't
77
+ reach the subprocesses. The check only recognized ``multiprocessing`` as
78
+ the entire option value, so ``--concurrency=multiprocessing,thread``
79
+ slipped through and failed later with "Can't combine statement coverage
80
+ data with branch data". Each named concurrency library is now properly
81
+ considered (`pull 2270`_).
82
+
83
+ - Fix: ``coverage annotate -d DIR`` raised an ``AssertionError`` if any
84
+ measured file had an extension other than ``.py``, such as a ``.pyw`` file on
85
+ Windows. The original extension is now restored on the annotated copy (`pull
86
+ 2265`_).
87
+
88
+ .. _pull 2261: https://github.com/coveragepy/coveragepy/pull/2261
89
+ .. _pull 2262: https://github.com/coveragepy/coveragepy/pull/2262
90
+ .. _pull 2263: https://github.com/coveragepy/coveragepy/pull/2263
91
+ .. _pull 2265: https://github.com/coveragepy/coveragepy/pull/2265
92
+ .. _issue 2266: https://github.com/coveragepy/coveragepy/issues/2266
93
+ .. _pull 2268: https://github.com/coveragepy/coveragepy/pull/2268
94
+ .. _pull 2270: https://github.com/coveragepy/coveragepy/pull/2270
95
+
96
+
25
97
  .. _changes_7-15-4:
26
98
 
27
99
  Version 7.15.4 — 2026-08-06
@@ -10,6 +10,7 @@
10
10
 
11
11
  include .editorconfig
12
12
  include .git-blame-ignore-revs
13
+ include .gitignore
13
14
  include .ignore
14
15
  include .pre-commit-config.yaml
15
16
  include .readthedocs.yaml
@@ -35,12 +36,12 @@ recursive-include .github *
35
36
  recursive-include coverage *.pyi
36
37
  recursive-include coverage/ctracer *.c *.h
37
38
 
38
- recursive-include doc *.py *.in *.pip *.rst *.txt *.png
39
+ recursive-include doc *.py *.in *.rst *.txt *.png
39
40
  recursive-include doc/_static *
40
41
  prune doc/_build
41
42
  prune doc/_spell
42
43
 
43
- recursive-include requirements *.in *.pip
44
+ recursive-include requirements *.in *.txt
44
45
 
45
46
  recursive-include tests *.py *.tok
46
47
  recursive-include tests/gold *
@@ -58,7 +58,7 @@ clean: debug_clean _clean_platform #- Remove artifacts of test execution, instal
58
58
  @rm -f .tox/*/lib/*/site-packages/a0_metacov.pth
59
59
  @rm -f */.coverage */*/.coverage */*/*/.coverage */*/*/*/.coverage */*/*/*/*/.coverage */*/*/*/*/*/.coverage
60
60
  @rm -f tests/covmain.zip tests/zipmods.zip tests/zip1.zip
61
- @rm -rf doc/_build doc/_spell doc/sample_html_beta
61
+ @rm -rf doc/_build doc/_spell doc/sample_html doc/sample_html_beta
62
62
  @rm -rf tmp
63
63
  @rm -rf a1_coverage.pth
64
64
  @rm -rf .*cache */.*cache */*/.*cache */*/*/.*cache .hypothesis
@@ -75,7 +75,7 @@ venv: .venv #- Create a virtualenv in .venv.
75
75
  $(VENV)
76
76
 
77
77
  install: venv #- Install the developer tools.
78
- $(INSTALL_R) requirements/dev.pip
78
+ $(INSTALL_R) requirements/dev.txt
79
79
 
80
80
 
81
81
  ### Tests and quality checks
@@ -112,11 +112,11 @@ metahtml: #- Produce meta-coverage HTML reports.
112
112
 
113
113
  # When updating requirements, a few rules to follow:
114
114
  #
115
- # 1) Don't install more than one .pip file at once. Always use pip-compile to
116
- # combine .in files onto a single .pip file that can be installed where needed.
115
+ # 1) Don't install more than one .txt file at once. Always use pip-compile to
116
+ # combine .in files onto a single .txt file that can be installed where needed.
117
117
  #
118
118
  # 2) Check manual pins before `make upgrade` to see if they can be removed. Look
119
- # in requirements/pins.pip, and search for "windows" in .in files to find pins
119
+ # in requirements/pins.txt, and search for "windows" in .in files to find pins
120
120
  # and extra requirements that have been needed, but might be obsolete.
121
121
 
122
122
  .PHONY: upgrade upgrade_one _upgrade diff_upgrade
@@ -135,24 +135,24 @@ PIP_COMPILE = uv pip compile -q --universal --generate-hashes ${COMPILE_OPTS}
135
135
  # Limit to packages that were released more than 10 days ago.
136
136
  # https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
137
137
  upgrade: export UV_EXCLUDE_NEWER=P10D
138
- upgrade: #- Update the *.pip files with the latest packages satisfying *.in files.
138
+ upgrade: #- Update the *.txt files with the latest packages satisfying *.in files.
139
139
  $(MAKE) _upgrade COMPILE_OPTS="--upgrade"
140
140
 
141
141
  # Upgrade just one package, with no cooldown.
142
- upgrade_one: #- Update the *.pip files for one package. `make upgrade_one package=...`
142
+ upgrade_one: #- Update the *.txt files for one package. `make upgrade_one package=...`
143
143
  @test -n "$(package)" || { echo "\nUsage: make upgrade_one package=...\n"; exit 1; }
144
144
  $(MAKE) _upgrade COMPILE_OPTS="--upgrade-package $(package)"
145
145
 
146
146
  _upgrade: export UV_CUSTOM_COMPILE_COMMAND=make upgrade
147
147
  _upgrade: $(DOCBIN) $(KITBIN)
148
- $(PIP_COMPILE) -o requirements/pip.pip requirements/pip.in
149
- $(PIP_COMPILE) -o requirements/pytest.pip requirements/pytest.in
150
- $(PIP_COMPILE) -p $(KITBIN)/python3 -o requirements/kit.pip requirements/kit.in
151
- $(PIP_COMPILE) -o requirements/tox.pip requirements/tox.in
152
- $(PIP_COMPILE) -o requirements/dev.pip requirements/dev.in
153
- $(PIP_COMPILE) -o requirements/light-threads.pip requirements/light-threads.in
154
- $(PIP_COMPILE) -o requirements/mypy.pip requirements/mypy.in
155
- $(PIP_COMPILE) -p $(DOCBIN)/python3 -o doc/requirements.pip doc/requirements.in
148
+ $(PIP_COMPILE) -o requirements/pip.txt requirements/pip.in
149
+ $(PIP_COMPILE) -o requirements/pytest.txt requirements/pytest.in
150
+ $(PIP_COMPILE) -p $(KITBIN)/python3 -o requirements/kit.txt requirements/kit.in
151
+ $(PIP_COMPILE) -o requirements/tox.txt requirements/tox.in
152
+ $(PIP_COMPILE) -o requirements/dev.txt requirements/dev.in
153
+ $(PIP_COMPILE) -o requirements/light-threads.txt requirements/light-threads.in
154
+ $(PIP_COMPILE) -o requirements/mypy.txt requirements/mypy.in
155
+ $(PIP_COMPILE) -p $(DOCBIN)/python3 -o doc/requirements.txt doc/requirements.in
156
156
  PYTHONWARNDEFAULTENCODING= pre-commit autoupdate
157
157
 
158
158
  diff_upgrade: #- Summarize the last `make upgrade`.
@@ -208,7 +208,7 @@ sample_html_beta: _sample_cog_html #- Generate sample HTML report for a beta rel
208
208
 
209
209
  ### Kitting: making releases
210
210
 
211
- .PHONY: release_version edit_for_release cheats relbranch relcommit1 relcommit2
211
+ .PHONY: release_version edit_for_release cheats relbranch relcommit1
212
212
  .PHONY: kit pypi_upload test_upload build_kits update_rtd
213
213
  .PHONY: _check_github_auth download_kits
214
214
  .PHONY: tag bump_version
@@ -231,10 +231,6 @@ relbranch: # Create the branch for releasing (see howto.txt).
231
231
  relcommit1: # Commit the first release changes (see howto.txt).
232
232
  git commit -am "docs: prep for $$(python setup.py --version)"
233
233
 
234
- relcommit2: # Commit the latest sample HTML report (see howto.txt).
235
- git add doc/sample_html
236
- git commit -am "docs: sample HTML for $$(python setup.py --version)"
237
-
238
234
  kit: #- Make a source distribution and some wheels.
239
235
  @# Makes sdist and binary wheel for current Python version and platform:
240
236
  python -m build
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: coverage
3
- Version: 7.15.4
3
+ Version: 7.16.1
4
4
  Summary: Code coverage measurement for Python
5
5
  Home-page: https://github.com/coveragepy/coveragepy
6
6
  Author: Ned Batchelder and 263 others
7
7
  Author-email: ned@nedbatchelder.com
8
8
  License: Apache-2.0
9
- Project-URL: Documentation, https://coverage.readthedocs.io/en/7.15.4
9
+ Project-URL: Documentation, https://coverage.readthedocs.io/en/7.16.1
10
10
  Project-URL: Funding, https://tidelift.com/subscription/pkg/pypi-coverage?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=pypi
11
11
  Project-URL: Issues, https://github.com/coveragepy/coveragepy/issues
12
12
  Project-URL: Mastodon, https://hachyderm.io/@coveragepy
@@ -68,7 +68,6 @@ Code coverage measurement for Python.
68
68
  | |kit| |license| |versions|
69
69
  | |test-status| |quality-status| |docs| |metacov|
70
70
  | |tidelift| |sponsor| |stars| |mastodon-coveragepy| |mastodon-nedbat|
71
- |bluesky-nedbat|
72
71
 
73
72
  Coverage.py measures code coverage, typically during test execution. It uses
74
73
  the code analysis tools and tracing hooks provided in the Python standard
@@ -78,13 +77,13 @@ Coverage.py runs on these versions of Python:
78
77
 
79
78
  .. PYVERSIONS
80
79
 
81
- * Python 3.10 through 3.15 rc1, including free-threading.
80
+ * Python 3.10 through 3.15 rc2, including free-threading.
82
81
  * PyPy3 versions 3.10 and 3.11.
83
82
 
84
83
  Documentation is on `Read the Docs`_. Code repository and issue tracker are on
85
84
  `GitHub`_.
86
85
 
87
- .. _Read the Docs: https://coverage.readthedocs.io/en/7.15.4/
86
+ .. _Read the Docs: https://coverage.readthedocs.io/en/7.16.1/
88
87
  .. _GitHub: https://github.com/coveragepy/coveragepy
89
88
 
90
89
 
@@ -113,7 +112,7 @@ Getting Started
113
112
  Looking to run ``coverage`` on your test suite? See the `Quick Start section`_
114
113
  of the docs.
115
114
 
116
- .. _Quick Start section: https://coverage.readthedocs.io/en/7.15.4/#quick-start
115
+ .. _Quick Start section: https://coverage.readthedocs.io/en/7.16.1/#quick-start
117
116
 
118
117
 
119
118
  Change history
@@ -121,7 +120,7 @@ Change history
121
120
 
122
121
  The complete history of changes is on the `change history page`_.
123
122
 
124
- .. _change history page: https://coverage.readthedocs.io/en/7.15.4/changes.html
123
+ .. _change history page: https://coverage.readthedocs.io/en/7.16.1/changes.html
125
124
 
126
125
 
127
126
  Code of Conduct
@@ -140,7 +139,7 @@ Contributing
140
139
  Found a bug? Want to help improve the code or documentation? See the
141
140
  `Contributing section`_ of the docs.
142
141
 
143
- .. _Contributing section: https://coverage.readthedocs.io/en/7.15.4/contributing.html
142
+ .. _Contributing section: https://coverage.readthedocs.io/en/7.16.1/contributing.html
144
143
 
145
144
 
146
145
  Security
@@ -168,7 +167,7 @@ Licensed under the `Apache 2.0 License`_. For details, see `NOTICE.txt`_.
168
167
  :target: https://github.com/coveragepy/coveragepy/actions/workflows/quality.yml
169
168
  :alt: Quality check status
170
169
  .. |docs| image:: https://readthedocs.org/projects/coverage/badge/?version=latest&style=flat
171
- :target: https://coverage.readthedocs.io/en/7.15.4/
170
+ :target: https://coverage.readthedocs.io/en/7.16.1/
172
171
  :alt: Documentation
173
172
  .. |kit| image:: https://img.shields.io/pypi/v/coverage
174
173
  :target: https://pypi.org/project/coverage/
@@ -194,9 +193,6 @@ Licensed under the `Apache 2.0 License`_. For details, see `NOTICE.txt`_.
194
193
  .. |mastodon-coveragepy| image:: https://img.shields.io/badge/dynamic/json?style=flat&labelColor=450657&logo=mastodon&logoColor=ffffff&label=@coveragepy&query=followers_count&url=https%3A%2F%2Fhachyderm.io%2Fapi%2Fv1%2Faccounts%2Flookup%3Facct=coveragepy
195
194
  :target: https://hachyderm.io/@coveragepy
196
195
  :alt: coveragepy on Mastodon
197
- .. |bluesky-nedbat| image:: https://img.shields.io/badge/dynamic/json?style=flat&color=96a3b0&labelColor=3686f7&logo=icloud&logoColor=white&label=@nedbat&url=https%3A%2F%2Fpublic.api.bsky.app%2Fxrpc%2Fapp.bsky.actor.getProfile%3Factor=nedbat.com&query=followersCount
198
- :target: https://bsky.app/profile/nedbat.com
199
- :alt: nedbat on Bluesky
200
196
  .. |sponsor| image:: https://img.shields.io/badge/%E2%9D%A4-Sponsor%20me-brightgreen?style=flat&logo=GitHub
201
197
  :target: https://github.com/sponsors/nedbat
202
198
  :alt: Sponsor me on GitHub