[run]
branch = True

# This lets coverage include lines that happen in multiprocessing mode
concurrency = multiprocessing

[report]
# Regexes for lines to exclude from consideration
exclude_lines =
    # If you put this in a comment, you can manually exclude code from being covered.
    pragma: no cover

    # Don't complain about missing debug-only code:
    logger.debug

    # Don't complain if tests don't hit defensive checks of user input
    raise NotImplementedError
    raise ValueError
    raise RuntimeError
    raise TypeError
    raise AttributeError
    raise IndexError
    raise IOError
    raise KeyError

    # Don't complain about not hitting warning code
    if suppress_warnings is False:
    import warnings
    warnings.warn

    # Don't complain if non-runnable code isn't run:
    if False:
    if 0:
    if __name__ == .__main__.:

    # Don't complain about exceptional circumstances not under control of the test suite
    except .*KeyboardInterrupt
    except IOError
    except OSError

    # Or code for special cases of older versions of things.
    except ImportError
