[flake8]
exclude = 
    .git/
    build/
    coriolis-data/
    dist.win32/
    FDevIDs/
    venv/
    venv-py39/
    wix/

# Show exactly where in a line the error happened
#show-source = True

max-line-length = 120
# Add _ as a builtin for localisation stuff
builtins = _

# check syntax in doctests
doctests = True 
max-complexity = 15
per-file-ignores = ./EDMC.py:E402

# Plugin configs
# required plugins:

# https://github.com/Melevir/flake8-cognitive-complexity
# Provides cognitive complexity checking

# https://github.com/adamchainz/flake8-comprehensions
# Checks list/dict/set/* comprehensions for simplification or replacement

# https://github.com/PyCQA/pep8-naming
# checks names against PEP8 rules (eg CamelCase for class names)

# https://github.com/best-doctor/flake8-annotations-coverage
# Checks code for type annotations

# https://pypi.org/project/flake8-isort/
# Ensures imports are well sorted

# https://pypi.org/project/flake8-noqa/
# Ensures that noqa statements are correctly formed

# https://github.com/MichaelKim0407/flake8-use-fstring
# Prefers fstrings over .format and modulo based formatters

max-cognitive-complexity = 15

# require that all noqa directves disable specific errors
noqa-require-code = True

docstring-convention = numpy