strictness: high
inherits:
  - strictness_high

doc-warnings: true
member-warnings: true
test-warnings: true

autodetect: false
output-format: grouped

pep8:
  full: true
  options:
    max-line-length: 120

pep257:
  explain: true
  source: true
  disable:
    - D203  # 1 blank line required before class docstring, D211 (after) is enforce instead
    - D213  # Multi-line docstring summary should start at the second line, D212 (first line) is enforced instead
    - D406  # Section name should end with a newline, incompatible with Google Style Python Docstrings
    - D407  # Missing dashed underline after section, incompatible with Google Style Python Docstrings

pylint:
  disable:
    - pointless-string-statement  # used as documentation for class attributes
    - unsubscriptable-object  # Breaks for latest pylint https://github.com/PyCQA/pylint/issues/3882
    - consider-using-f-string  # The code still use format(), disable for now
  options:
    ignore: vulture_whitelist.py
    max-line-length: 120
    max-args: 6
    max-positional-arguments: 7
    max-attributes: 14
    max-locals: 16
    include-naming-hint: true
    variable-rgx: (([a-z][a-z0-9_]{0,30})|(_[a-z0-9_]*))$
    variable-name-hint: (([a-z][a-z0-9_]{0,30})|(_[a-z0-9_]*))$

pyroma:
  run: true

vulture:
  run: true
