fastcov
A massively parallel gcov wrapper for generating intermediate coverage formats fast
What it is and what it does
Fastcov is a Python tool that wraps gcov to generate code coverage reports in multiple formats—JSON, LCOV info, and SonarQube XML. It parallelizes gcov execution across multiple cores to process large numbers of .gcda files much faster than traditional tools like lcov. The tool is designed as a drop-in replacement for lcov in C/C++ projects, handling the intermediate coverage format generation that can then be consumed by report generators like genhtml or uploaded to services like Codecov and Coveralls.
The package requires GCC 9.0.0 or later (for JSON intermediate format and stdout streaming support) and Python 3.8 minimum. Object files must be compiled with absolute include paths or from the same root directory. Fastcov supports filtering by file path using substring matching, branch coverage selection, combining multiple coverage reports, and exclusion marker scanning. It ships as a single-file Python script that can be copied directly or installed via pip, with optional utility scripts for summarizing coverage and converting to SonarQube format.
Use it for:
- Accelerate CI/CD coverage report generation in large C/C++ projects with hundreds of .gcda files.
- Combine coverage reports from multiple test runs or build configurations into a single unified report.
- Generate coverage reports in SonarQube XML format for integration with SonarQube quality gates.
- Filter coverage data to exclude system headers and test files before publishing to coverage services.
- Check coverage thresholds (function, line, branch) in CI pipelines using the fastcov_summary utility.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Fastcov generates code coverage reports in JSON, LCOV, and SonarQube XML formats by parallelizing gcov execution, designed as a faster alternative to lcov for C/C++ projects.
Yes. Fastcov is actively maintained, has no dependencies, installs easily, and solves a real performance problem for C/C++ projects generating coverage reports. The MIT license is permissive. The only real constraint is the GCC 9.0.0 requirement—if your project meets that and uses gcov-based coverage, fastcov is a straightforward win for CI speed.
Install
fastcov on PyPI
pip
pip install fastcovuv
uv add fastcovpoetry
poetry add fastcovInstalling fastcov
Before you install
Low friction: pure Python wheel with no runtime dependencies. Actively maintained as of 2026-07-15 with stable production status. Requires GCC 9.0.0 or later and Python 3.8 minimum.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install fastcov
fastcov.py --gcov gcov-9 --exclude /usr/include --lcov -o report.info
genhtml -o coverage_report report.info
GCC version 9.0.0 or later required; object files must be compiled with absolute include paths or from the same root directory; Python 3.8 minimum.
Verify before relying
- Whether fastcov's parallelization speedup (claimed as 100x faster than lcov) holds across different project sizes and core counts.
- Compatibility with non-GCC compilers (e.g., Clang) for coverage generation.
- Whether the Docker image is the recommended deployment method or if native installation is equally supported.
Package facts
| License | mit (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 77 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 117,396/month — #12,164 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fastcov-1.17-py2.py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
gcovrGcovr processes GCC code coverage data and…
permissive · top 5,000 on PyPI
lcov-coberturaConverts code coverage reports from lcov format…
permissive · top 5,000 on PyPI
diff-coverCompares test coverage reports against git…
permissive · top 1,000 on PyPI
slipcoverSlipCover is a fast code coverage tool that…
permissive · top 15,000 on PyPI
junit-xml-2Generates JUnit XML test result reports from…
permissive · top 15,000 on PyPI
flake8-formatter-junit-xmlFormats flake8 linting output as JUnit XML,…
permissive · top 15,000 on PyPI
colcon-parallel-executorExtends colcon-core to execute package builds…
permissive · top 15,000 on PyPI
bigquery-schema-generatorGenerates BigQuery table schemas from complete…
permissive · top 15,000 on PyPI
colcon-cmakecolcon-cmake is a plugin for colcon that adds…
permissive · top 15,000 on PyPI
pyucisPyUCIS provides a Python API and CLI tools for…
permissive · top 15,000 on PyPI