[MASTER]
ignore-patterns=test_*
reports=no

[MESSAGES CONTROL]
# For all codes, run 'pylint --list-msgs' or go to 'https://pylint.readthedocs.io/en/latest/reference_guide/features.html'
# locally-disabled: Warning locally suppressed using disable-msg
# cyclic-import: because of https://github.com/PyCQA/pylint/issues/850
# too-many-arguments: Due to the nature of the CLI many commands have large arguments set which reflect in large arguments set in corresponding methods.
# useless-object-inheritance: Specifies it can be removed from python3 bases, but we also support Python 2.7
# chained-comparison: Does not provide guidance on what would be better and arguably these are fine.
# useless-import-alias: Removing the alias often breaks the import, so it isn't really useless after all.
# useless-suppression: Depends on the Python version and the pylint version...
# wrong-import-order: Pylint keeps changing its mind...
disable=
    missing-docstring,
    locally-disabled,
    fixme,
    cyclic-import,
    too-many-arguments,
    invalid-name,
    duplicate-code,
    useless-object-inheritance,
    chained-comparison,
    useless-import-alias,
    useless-suppression,
    import-outside-toplevel,
    wrong-import-order,
    # These rules were added in Pylint >= 2.12, disable them to avoid making retroactive change
    broad-exception-raised,
    missing-timeout

[FORMAT]
max-line-length=120

[VARIABLES]
# Tells whether we should check for unused import in __init__ files.
init-import=yes

[DESIGN]
# Maximum number of locals for function / method body
max-locals=25
# Maximum number of branch for function / method body
max-branches=20

[SIMILARITIES]
min-similarity-lines=10
