coverage-badge icon indicating copy to clipboard operation
coverage-badge copied to clipboard

Create badges/shields for your Python test coverage!

Coverage.py Badge

.. |buildstatus| image:: https://github.com/dbrgn/coverage-badge/workflows/CI/badge.svg :alt: Build status :target: https://github.com/dbrgn/coverage-badge/actions?query=branch%3Amain .. |downloads| image:: https://img.shields.io/pypi/dm/coverage-badge.svg :alt: PyPI Downloads :target: https://pypi.python.org/pypi/coverage-badge .. |example| image:: https://cdn.rawgit.com/dbrgn/coverage-badge/main/example.svg :alt: Example coverage badge

|buildstatus| |downloads|

⚠️ coverage-badge is in maintenance mode. I might still do occasional updates and fixes from time to time, but there will be no added features. Most people using coverage-badge might want to use genbadge_ instead, which has more features (e.g. test badges, flake8 reports, etc).

A small script to generate coverage badges using Coverage.py.

Example of a generated badge: |example|

The badge template has been taken from shields.io_, therefore it should look mostly good. (The spec is a bit stricter on the margins, but I can't easily do text width calculations in Python so the margins might not always be 4px.)

.. _shields.io: http://shields.io/ .. _genbadge: https://smarie.github.io/python-genbadge/

Installation

Run:

.. code-block::

pip install coverage-badge

Usage

First, run Coverage.py to generate the necessary coverage data. Then you can either return the badge SVG to stdout::

$ coverage-badge

...or write it to a file::

$ coverage-badge -o coverage.svg

It's important that you run coverage-badge from the directory where the .coverage data file is located.

Different colors for cover ranges:

.. image:: https://cdn.rawgit.com/dbrgn/coverage-badge/main/media/15.svg :alt: 15%

.. image:: https://cdn.rawgit.com/dbrgn/coverage-badge/main/media/45.svg :alt: 45%

.. image:: https://cdn.rawgit.com/dbrgn/coverage-badge/main/media/65.svg :alt: 65%

.. image:: https://cdn.rawgit.com/dbrgn/coverage-badge/main/media/80.svg :alt: 80%

.. image:: https://cdn.rawgit.com/dbrgn/coverage-badge/main/media/93.svg :alt: 93%

.. image:: https://cdn.rawgit.com/dbrgn/coverage-badge/main/media/97.svg :alt: 97%


The full usage text::

usage: __main__.py [-h] [-o FILEPATH] [-p] [-f] [-q] [-v]

Generate coverage badges for Coverage.py.

optional arguments:
  -h, --help   show this help message and exit
  -o FILEPATH  Save the file to the specified path.
  -p           Plain color mode. Standard green badge.
  -f           Force overwrite image, use with -o key.
  -q           Don't output any non-error messages.
  -v           Show version.

License

MIT License, see LICENSE.txt file..