spectrochempy/spectrochempy

View on GitHub
setup.cfg

Summary

Maintainability
Test Coverage
[flake8]
ignore =
# whitespace before ‘,’, ‘;’, or ‘:’
    E203,
# module level import not at top of file
    E402,
# line too long > 88 (compatibility with black)   (To be retired when all files will be fixed)
    E501,
# statement ends with a semicolon
    E703,
# do not assign a lambda expression, use a def
    E731,
# PermissionError: [Errno 13] Permission denied
    E902,
# name may be undefined, or defined from star imports: module
    F405,
# line break before binary operator
    W503,
# line break after binary operator
    W504,
# invalid escape sequence ‘x’
    W605,

# class name should use CapWords convention
    N801
# function name should be lowercase
    N802,
# argument name should be lowercase
    N803,
# first argument of a method should be named 'self'
    N805,
# variable in function should be lowercase
    N806,
# lowercase variable imported as non lowercase variable
    N812,
# variable in class scope should not be mixedCase
    N815,
# variable in function should be lowercase
    N816

rst-roles =
    class,
    meth,
    func,
    ref,
    term,
    attr,
    const,
    cite:t

rst-directives =
    plot

per-file-ignores =
    docs/**/*.py:E501

# compatibility with default black line length
max-line-length = 88

max-complexity = 100
select =
    C,
# All E class violations are “errors” reported by pycodestyle
    E,
# All F class violations are reported by pyflakes
    F,
# All W class violations are “warnings” reported by pycodestyle
    W,
# Check your code against PEP 8 naming conventions.
# N8
# RST and docstring analysis (uncomment for testing with flake 8 + flake8-rst-docstrings locally,
# but comment it for committing on github as many problems cannot be solved easily.
# RST

count = True
statistics = True
exclude =
# exclude test, and some other folder for now (may be done later)
    .idea
    .eggs
    build
    ~*
    docs/sphinxext
# docs/userguide
    *.ipynb_checkpoints

[tool:pytest]
testpaths =
    "tests"

addopts =
    --ignore="~*"
    --doctest-plus
    -p no:warnings

doctest_plus = enabled
doctest_optionflags =
    ELLIPSIS
    NORMALIZE_WHITESPACE
    IGNORE_EXCEPTION_DETAIL
    ALLOW_UNICODE
    ALLOW_BYTES

;filterwarnings =
;    ignore::DeprecationWarning
;    ignore::UserWarning
;    ignore::numpy.ComplexWarning
;    ignore::FutureWarning
;    ignore:invalid value encountered in .*:RuntimeWarning

[coverage:run]
source = spectrochempy/

[coverage:report]
exclude_lines =
    pragma: no cover
    '# '
    if self.debug:
    raise AssertionError
    raise NotImplementedError
    if 0:
    if __name__ == .__main__.:
    def __repr__
    if settings.DEBUG
ignore_errors = true
omit =
    */.ci/**/*
    */tests/**/
    */docs/**/*
    */build/**/*
    */.eggs/**/*
    */scripts/**/*
    */scp_data/**/*
    */~sandbox/**/*
    */~tools/**/*
    */spectrochempy/extern/**/*