Skip to content
SPECIFICTION
Get listed

Coverage.py vs ReportGenerator

Coverage.py

coverage.readthedocs.io

ReportGenerator

reportgenerator.io

Side by side

FigureCoverage.pyReportGenerator
Price fromFreeFree
Free planYesYes
Free trial—Yes
Open sourceYes—
WindowsYesYes
macOSYesYes
LinuxYesYes
APIYes—
Self-hostedYes—
Plans published25
Spec score · Test Coverage Tools8.9 (#2)7.8 (#10)
IntegrationsOfficial examples cover pytest, unittest, and nose, and pytest commonly uses the pytest-cov plugin.The maker states that GitHub Actions and Azure DevOps are supported.
PurposeCoverage.py measures which parts of Python programs ran and identifies executable code that did not run, commonly to gauge test effectiveness.ReportGenerator converts code coverage reports into human-readable reports in multiple formats and visualizes covered source lines.
SecurityThe project directs vulnerability reports to Tidelift, which it says will coordinate the fix and disclosure.The opened maker pages do not state security certifications or compliance claims.
SupportUsers can seek help on the Python discussion forums or Python Discord, report bugs on GitHub, and obtain professional support through Tidelift Subscription.The maker invites users with issues to get in touch, and Paddle handles customer service inquiries and returns for orders.

Plans

Coverage.py

  • Coverage.pyFree
  • FreeFree

Coverage.py pricing →

ReportGenerator

  • FreeFree
  • Free TrialFree
  • Individual$79, paid once
  • Team$249, paid once
  • Enterprise$599, paid once

ReportGenerator pricing →

In their own words

Coverage.py

Coverage.py measures which parts of Python programs run and highlights executable code that remains untouched, helping developers assess what their tests exercise. It measures statement coverage by default and can also track branch coverage. Reports are available as text, HTML, XML, LCOV, and JSON. Dynamic contexts can associate lines of execution with the test function that ran them. Coverage.py can run test suites through their usual command; pytest-cov is available but the documentation says most users do not need it. Third-party plugins can extend measurement to non-Python files, such as connecting executed Python to Django templates. Data is stored in a SQLite database, and advanced use can rely on its API. The current documentation lists Python 3.10 through 3.15 rc2 and PyPy3 versions 3.10 and 3.11. The tool provides ctrace, pytrace, and sysmon measurement cores; sysmon is faster for simple line and branch coverage but lacks support for dynamic contexts and plugins. Coverage.py is licensed under Apache 2.0 and runs on Linux, macOS, and Windows, with self-hosting available. It is free.

Visit coverage.readthedocs.io

ReportGenerator

ReportGenerator is a command-line tool that turns code coverage reports into readable reports and visualizes covered source lines. It runs on Windows, Linux, and macOS, and accepts input from tools and formats including coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, and lcov. Reports visualize line and branch coverage; method coverage is a PRO feature. A history chart tracks coverage over time, and the summary table can be filtered and sorted. Risk hotspot analysis can use cyclomatic complexity, NPath complexity, and CRAP score when those values are available, with configurable warning thresholds. Output choices include HTML, Clover, Cobertura, OpenCover, SonarQube, lcov, TeamCity summary, XML, Markdown, JSON, CSV, and text. The maker says GitHub Actions and Azure DevOps are supported. The project is open source under the Apache License, with basic features free and additional features requiring PRO. Lifetime licenses cost $79 as a one-time purchase for an individual, $249, paid once for up to 10 developers, or $599, paid once for unlimited developers.

Visit reportgenerator.io