This release is a pre-release and may not be stable for production use.
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.
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.5.dev202511112326
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| covers-0.0.5.dev202511112326.tar.gz | 341.6 kB | Without provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| covers-0.0.5.dev202511112326-cp312-abi3-win_amd64.whl | CPython 3.12 | abi3 | Windows x86-64 | Details |
| covers-0.0.5.dev202511112326-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.5.dev202511112326-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.12 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| covers-0.0.5.dev202511112326-cp312-abi3-macosx_11_0_arm64.whl | CPython 3.12 | abi3 | macOS 11.0+ ARM64 | Details |
| covers-0.0.5.dev202511112326-cp312-abi3-macosx_10_12_x86_64.whl | CPython 3.12 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 8.4 MB
Release files / covers-0.0.5.dev202511112326.tar.gz
| Download URL | covers-0.0.5.dev202511112326.tar.gz |
|---|---|
| Size | 341.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a077db5f61b9b0bfc1601d6d7a5c4eff238d4c0712cf2822527642b8769e3c05
|
|
BLAKE2b-256 checksum How to use checksums |
db90fc30a09eed045738e6298be0b5fe8a45239a7a49436cd72bf30e01300aca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.10.1
|
Release files / covers-0.0.5.dev202511112326-cp312-abi3-win_amd64.whl
| Download URL | covers-0.0.5.dev202511112326-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
bead8fafbd4ebea5c87d0500b80dfabfc87723bbcc9eb431cd757568e3234c31
|
|
BLAKE2b-256 checksum How to use checksums |
b2fd93c223fc3104c50c77731ab0ee20b7ab8b07c792c838dbcb155c4cfec466
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.10.1
|
Release files / covers-0.0.5.dev202511112326-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | covers-0.0.5.dev202511112326-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
46bb2003449e99af5cdfbb922ef06f936619905ee3336d64fef36b0d0cf4d0f1
|
|
BLAKE2b-256 checksum How to use checksums |
62913d49d29cd79d5fd97933ef28e9fe5d4ae5e542b20c4bb0a21136703c4489
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.10.1
|
Release files / covers-0.0.5.dev202511112326-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | covers-0.0.5.dev202511112326-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 |
870910ade7eb3c1b1be901667867aa730a01a1a996a1001d61b17a8df487d122
|
|
BLAKE2b-256 checksum How to use checksums |
361708c2d870da0bb7ca4239faefa993b15a2ab9c703045d5d3c78c7f3e3cc20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.10.1
|
Release files / covers-0.0.5.dev202511112326-cp312-abi3-macosx_11_0_arm64.whl
| Download URL | covers-0.0.5.dev202511112326-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 |
41c1b225050f5c4b763ddb31b84d1a1c4fbe88e6b396a0fbdf56c129e49c1fc7
|
|
BLAKE2b-256 checksum How to use checksums |
fc73927bf8b135210663e8973b4609e4383aed5a569259388d4a10181b7083e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.10.1
|
Release files / covers-0.0.5.dev202511112326-cp312-abi3-macosx_10_12_x86_64.whl
| Download URL | covers-0.0.5.dev202511112326-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 |
de6fb703ed6c94de0c22181d9a920e51a500cf062dc1e7ec233fa56ba696ad2a
|
|
BLAKE2b-256 checksum How to use checksums |
a38cb8a84b5d8d7f7c9ae5a17daa70a4e08ff7b8dad1efdc907ea544e5f61b89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.10.1
|
Security for covers 0.0.5.dev202511112326
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.