Skip to main content

A coverage plugin to provide sensible default settings

Project description

Build Status Azure DevOps coverage


A coverage plugin to provide sensible default settings


pip install covdefaults


to enable the plugin, add covdefaults to your coverage plugins

in .coveragerc:

plugins = covdefaults

in setup.cfg / tox.ini:

plugins = covdefaults

in pyproject.toml:

plugins = ["covdefaults"]

default settings


branch = True
source = .
omit =


show_missing = True
skip_covered = True
fail_under = 100
exclude_lines =
    # a more strict default pragma
    \# pragma: no cover\b

    # allow defensive code
    ^\s*raise AssertionError\b
    ^\s*raise NotImplementedError\b
    ^\s*return NotImplemented\b

    # typing-related code
    ^if (False|TYPE_CHECKING):
    : \.\.\.(\s*#.*)?$
    ^ +\.\.\.$
    -> ['"]?NoReturn['"]?:

    # non-runnable code
    if __name__ == ['"]__main__['"]:$

    # additional platform related pragmas (see below)

platform specific # pragma: no cover

several # pragma: no cover tags will be added automatically based on the platform and implementation.

these will be in the form of:

# pragma: TAG no cover


# pragma: TAG cover

these tags will be generated by the following values:

    • nt (windows)
    • posix (linux, macOs, cygwin, etc.)
  • sys.platform
    • cygwin
    • darwin (macOs)
    • linux
    • msys
    • win32
    • cpython
    • pypy

for every tag which does not match, you can use negation. here's an example:

if sys.platform == 'win32':  # pragma: win32 cover
    bin_dir = 'Scripts'
else:  # pragma: win32 no cover
    bin_dir = 'bin'

note here that # pragma: win32 cover will become a "no cover" for everything which is not win32 -- whereas the # pragma: win32 no cover will be a "no cover" only on win32.

overriding options

several of the options can be overridden / extended in your coverage configuration. the examples below assume .coveragerc however any of the files coverage supports work as well.


omit =

this will result in the pre_commit/resources/* being omitted in addition to the defaults provided by covdefaults.

subtract_omit = */.tox/*

this will result in */.tox/* not being omitted (*/.tox/* is among the defaults provided by covdefaults).


source = $PWD

covdefaults will not override this value to . if it is set manually.


exclude_lines =
    ^if MYPY:$

this will result in lines matching ^if MYPY:$ to additionally be excluded from coverage in addition to the defaults provided by covdefaults.


fail_under = 90

covdefaults will not change the value if you provide one for fail_under

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for covdefaults, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size covdefaults-1.2.0-py2.py3-none-any.whl (4.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size covdefaults-1.2.0.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page