[MASTER]
ignore=tests,generated,vendored_sdks,privates
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.
# import-outside-toplevel: Lazy import to improve performance
disable=
    missing-docstring,
    locally-disabled,
    fixme,
    cyclic-import,
    too-many-arguments,
    invalid-name,
    duplicate-code,
    import-outside-toplevel,
    # These rules were added in Pylint >= 2.12, disable them to avoid making retroactive change
    broad-exception-raised,
    missing-timeout

[TYPECHECK]
# For Azure CLI extensions, we ignore some import errors as they'll be available in the environment of the CLI
ignored-modules=azure,azure.cli,azure.cli.core,azure.cli.core.commands,knack,msrestazure,argcomplete,azure_devtools,isodate,OpenSSL

[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
