Skip to main content

Covers: Near Zero-Overhead Python Code Coverage

Covers is a fast Python code coverage tool, originally based on SlipCover. This version has been re-written as a Rust / PyO3 extension for improved performance and maintainability.

license pypi pyversions tests

About Covers

Covers is a fast code coverage tool. It tracks a Python program as it runs and reports on the parts that executed and those that didn't. That can help guide your testing (showing code that isn't being tested), debugging, fuzzing or to find "dead" code.

Past code coverage tools can make programs significantly slower; it is not uncommon for them to take twice as long to execute. Covers aims to provide the same information with near-zero overhead, often almost as fast as running the original Python program.

How it works

Previous coverage tools like Coverage.py rely on Python's tracing facilities, which add significant overhead. Instead, Covers uses the new sys.monitoring API to collect coverage information with minimal performance impact. The core data collection is implemented in Rust for maximum efficiency.

Getting started

Covers is available from PyPI. You can install it like any other Python module with

pip3 install covers

You could then run your Python script with:

python3 -m covers myscript.py

Using it with a test harness

Covers can also execute a Python module, as in:

python3 -m covers -m pytest -x -v

which starts pytest, passing it any options (-x -v in this example) after the module name. No plug-in is required for pytest.

Platforms

Our GitHub workflows run the automated test suite on Linux, MacOS and Windows, but really it should work anywhere where CPython does.

Contributing

Covers is under active development; contributions are welcome! Please also feel free to create a new issue with any suggestions or issues you may encounter.

Metadata

Release files for covers 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for covers 0.0.4
File Size Uploaded Provenance
covers-0.0.4.tar.gz 333.0 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for covers 0.0.4
File
covers-0.0.4-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
covers-0.0.4-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details
covers-0.0.4-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details
covers-0.0.4-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
covers-0.0.4-cp312-abi3-macosx_10_12_x86_64.whl CPython 3.12 abi3 macOS 10.12+ x86-64 Details

Total release size: 8.1 MB

Release files / covers-0.0.4.tar.gz

Download URL covers-0.0.4.tar.gz
Size 333.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5a3fa001e04085f79e8ee2d5abdf43c2c77bbf49cd49712a4d1c0fd4886e79b2
BLAKE2b-256 checksum
How to use checksums
5d36bd20707a4ce6ba29cdbebc849542a4b5de43397aed1410479becaaac25d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.6

Release files / covers-0.0.4-cp312-abi3-win_amd64.whl

Download URL covers-0.0.4-cp312-abi3-win_amd64.whl
Size 1.5 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
3021c451c0d12510d0fd4bae76eda7bcf640273318d7122963ec662bc190e21e
BLAKE2b-256 checksum
How to use checksums
54527774ea0d28ff652cd1f2183e52a747cabb2319ca7152eb9607cdfd354ecb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.6

Release files / covers-0.0.4-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL covers-0.0.4-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
27d468fb117a0468665ce45d6fcccc6ce570224482dbba1efc9836cd264ecc93
BLAKE2b-256 checksum
How to use checksums
d0a84d4487b72208e190351ea8c6683d0d06b0b3cee62435f597feaa4460b166
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.6

Release files / covers-0.0.4-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL covers-0.0.4-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
ac3835413cff82e1abc465592901f8567c086c1f7b2ea3401be8c30f9beda5e4
BLAKE2b-256 checksum
How to use checksums
1e63249011888efd439a487b9c7362dfb4ac04b9a2967c7f0e2898c7241f3227
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.6

Release files / covers-0.0.4-cp312-abi3-macosx_11_0_arm64.whl

Download URL covers-0.0.4-cp312-abi3-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
40246657fdf67d8cf7ab2bd3fd05a7e3a3fc3ffffc0d281e0b1619333eb0c42a
BLAKE2b-256 checksum
How to use checksums
f4560d8a816aaa7275a36286b74f1c581c9cddd66f3e3c6683bc54314e3ba049
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.6

Release files / covers-0.0.4-cp312-abi3-macosx_10_12_x86_64.whl

Download URL covers-0.0.4-cp312-abi3-macosx_10_12_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
41962a405f33d894827c15738b482b66b3b33c89a71b3a07f00ce721129c6352
BLAKE2b-256 checksum
How to use checksums
9ab99236a7c05595208df9a84158ab89b4ce24fcb64833c4104888b90139832d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.9.6

Security for covers 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.4 This release

6 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page