[MESSAGE CONTROL]
# Disabling messages that either we don't care about we intentionally break.
disable =
    bad-continuation,  # we let black handle this
    ungrouped-imports,  # we let black handle this
    no-member,  # breaks with attrs
    too-few-public-methods,  # does not allow data classes
    no-else-return,  # we omit this on purpose for brevity where it would add no value
    attribute-defined-outside-init,  # breaks with attrs_post_init
    redefined-outer-name,  # we do this on purpose in multiple places

[BASIC]
# Allow function names up to 50 characters
function-rgx = [a-z_][a-z0-9_]{2,50}$
# Allow method names up to 50 characters
method-rgx = [a-z_][a-z0-9_]{2,50}$
# Allow class attribute names up to 50 characters
# Whitelist class attribute names:
class-attribute-rgx = (([A-Za-z_][A-Za-z0-9_]{2,50}|(__.*__))$)
# Whitelist attribute names:
attr-rgx = ([a-z_][a-z0-9_]{2,30}$)
# Whitelist argument names: iv
argument-rgx = ([a-z_][a-z0-9_]{2,30}$)|(^iv$)
# Whitelist variable names: iv
variable-rgx = ([a-z_][a-z0-9_]{2,30}$)|(^iv$)

[VARIABLES]
additional-builtins = raw_input

[DESIGN]
max-args = 10

[FORMAT]
max-line-length = 120

[REPORTS]
msg-template = {path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
