allow-shorthand: false

ignore-patterns:
  - ^setup.py$

pylint:
  enable:
    - deprecated-argument
    - deprecated-attribute
    - deprecated-class
    - deprecated-decorator
    - deprecated-disable-all
    - deprecated-method
    - deprecated-module
    - deprecated-pragma
    - deprecated-typing-alias
    - old-deprecated-argument
    - old-deprecated-class
    - old-deprecated-decorator
    - old-deprecated-method
    - old-deprecated-module
  disable:
    - abstract-class-instantiated
    - abstract-method
    - access-member-before-definition
    - anomalous-backslash-in-string
    - anomalous-unicode-escape-in-string
    - arguments-differ
    - arguments-out-of-order
    - arguments-renamed
    - assert-on-string-literal
    - assert-on-tuple
    - assigning-non-slot
    - assignment-from-no-return
    - assignment-from-none
    - astroid-error
    - attribute-defined-outside-init
    - await-outside-async
    - bad-builtin
    - bad-chained-comparison
    - bad-classmethod-argument
    - bad-configuration-section
    - bad-context-manager
    - bad-docstring-quotes
    - bad-dunder-name
    - bad-except-order
    - bad-exception-cause
    - bad-exception-context
    - bad-file-encoding
    - bad-format-character
    - bad-format-string
    - bad-format-string-key
    - bad-indentation
    - bad-inline-option
    - bad-mcs-classmethod-argument
    - bad-mcs-method-argument
    - bad-open-mode
    - bad-option-value
    - bad-plugin-value
    - bad-reversed-sequence
    - bad-staticmethod-argument
    - bad-str-strip-call
    - bad-string-format-type
    - bad-super-call
    - bad-thread-instantiation
    - bare-except
    - bidirectional-unicode
    - binary-op-exception
    - blacklisted-name
    - boolean-datetime
    - broad-except
    - broad-exception-caught
    - broad-exception-raised
    - broken-collections-callable
    - broken-noreturn
    - c-extension-no-member
    - cache-max-size-none
    - catching-non-exception
    - cell-var-from-loop
    - chained-comparison
    - class-variable-slots-conflict
    - compare-to-empty-string
    - compare-to-zero
    - comparison-of-constants
    - comparison-with-callable
    - comparison-with-itself
    - condition-evals-to-constant
    - config-parse-error
    - confusing-consecutive-elif
    - confusing-with-statement
    - consider-alternative-union-syntax
    - consider-iterating-dictionary
    - consider-merging-isinstance
    - consider-refactoring-into-while-condition
    - consider-swap-variables
    - consider-ternary-expression
    - consider-using-alias
    - consider-using-any-or-all
    - consider-using-assignment-expr
    - consider-using-augmented-assign
    - consider-using-dict-comprehension
    - consider-using-dict-items
    - consider-using-enumerate
    - consider-using-f-string
    - consider-using-from-import
    - consider-using-generator
    - consider-using-get
    - consider-using-in
    - consider-using-join
    - consider-using-max-builtin
    - consider-using-min-builtin
    - consider-using-namedtuple-or-dataclass
    - consider-using-set-comprehension
    - consider-using-sys-exit
    - consider-using-ternary
    - consider-using-tuple
    - consider-using-with
    - continue-in-finally
    - cyclic-import
    - dangerous-default-value
    - dict-init-mutate
    - dict-iter-missing-items
    - differing-param-doc
    - differing-type-doc
    - disallowed-name
    - docstring-first-line-empty
    - duplicate-argument-name
    - duplicate-bases
    - duplicate-code
    - duplicate-except
    - duplicate-key
    - duplicate-string-formatting-argument
    - duplicate-value
    - else-if-used
    - empty-comment
    - empty-docstring
    - eq-without-hash
    - eval-used
    - exec-used
    - expression-not-assigned
    - f-string-without-interpolation
    - fatal
    - file-ignored
    - fixme
    - forgotten-debug-statement
    - format-combined-specification
    - format-needs-mapping
    - format-string-without-interpolation
    - function-redefined
    - global-at-module-level
    - global-statement
    - global-variable-not-assigned
    - global-variable-undefined
    - implicit-flag-alias
    - implicit-str-concat
    - implicit-str-concat-in-sequence
    - import-error
    - import-outside-toplevel
    - import-private-name
    - import-self
    - inconsistent-mro
    - inconsistent-quotes
    - inconsistent-return-statements
    - inherit-non-class
    - init-is-generator
    - invalid-all-format
    - invalid-all-object
    - invalid-bool-returned
    - invalid-bytes-returned
    - invalid-character-backspace
    - invalid-character-carriage-return
    - invalid-character-esc
    - invalid-character-nul
    - invalid-character-sub
    - invalid-character-zero-width-space
    - invalid-characters-in-docstring
    - invalid-class-object
    - invalid-enum-extension
    - invalid-envvar-default
    - invalid-envvar-value
    - invalid-field-call
    - invalid-format-index
    - invalid-format-returned
    - invalid-getnewargs-ex-returned
    - invalid-getnewargs-returned
    - invalid-hash-returned
    - invalid-index-returned
    - invalid-length-hint-returned
    - invalid-length-returned
    - invalid-metaclass
    - invalid-name
    - invalid-overridden-method
    - invalid-repr-returned
    - invalid-sequence-index
    - invalid-slice-index
    - invalid-slice-step
    - invalid-slots
    - invalid-slots-object
    - invalid-star-assignment-target
    - invalid-str-returned
    - invalid-unary-operand-type
    - invalid-unicode-codec
    - isinstance-second-argument-not-valid-type
    - keyword-arg-before-vararg
    - kwarg-superseded-by-positional-arg
    - len-as-condition
    - line-too-long
    - literal-comparison
    - locally-disabled
    - logging-format-interpolation
    - logging-format-truncated
    - logging-fstring-interpolation
    - logging-not-lazy
    - logging-too-few-args
    - logging-too-many-args
    - logging-unsupported-format
    - lost-exception
    - lru-cache-decorating-method
    - magic-value-comparison
    - maybe-no-member
    - method-cache-max-size-none
    - method-check-failed
    - method-hidden
    - misplaced-bare-raise
    - misplaced-comparison-constant
    - misplaced-format-function
    - misplaced-future
    - missing-any-param-doc
    - missing-class-docstring
    - missing-docstring
    - missing-final-newline
    - missing-format-argument-key
    - missing-format-attribute
    - missing-format-string-key
    - missing-function-docstring
    - missing-kwoa
    - missing-module-docstring
    - missing-param-doc
    - missing-parentheses-for-call-in-test
    - missing-raises-doc
    - missing-return-doc
    - missing-return-type-doc
    - missing-timeout
    - missing-type-doc
    - missing-yield-doc
    - missing-yield-type-doc
    - mixed-format-string
    - mixed-line-endings
    - modified-iterating-dict
    - modified-iterating-list
    - modified-iterating-set
    - multiple-constructor-doc
    - multiple-imports
    - multiple-statements
    - named-expr-without-context
    - nan-comparison
    - nested-min-max
    - no-classmethod-decorator
    - no-else-break
    - no-else-continue
    - no-else-raise
    - no-else-return
    - no-member
    - no-method-argument
    - no-name-in-module
    - no-self-argument
    - no-self-use
    - no-staticmethod-decorator
    - no-value-for-parameter
    - non-ascii-file-name
    - non-ascii-module-import
    - non-ascii-name
    - non-iterator-returned
    - non-parent-init-called
    - non-str-assignment-to-dunder-name
    - nonexistent-operator
    - nonlocal-and-global
    - nonlocal-without-binding
    - not-a-mapping
    - not-an-iterable
    - not-async-context-manager
    - not-callable
    - not-context-manager
    - not-in-loop
    - notimplemented-raised
    - old-assignment-from-none
    - old-empty-docstring
    - old-import-error
    - old-misplaced-comparison-constant
    - old-missing-param-doc
    - old-missing-returns-doc
    - old-missing-type-doc
    - old-missing-yields-doc
    - old-no-self-use
    - old-non-ascii-name
    - old-non-iterator-returned-1
    - old-non-iterator-returned-2
    - old-simplifiable-if-statement
    - old-too-many-nested-blocks
    - old-unbalanced-tuple-unpacking
    - old-unidiomatic-typecheck
    - old-unpacking-non-sequence
    - overlapping-except
    - overridden-final-method
    - parse-error
    - pointless-exception-statement
    - pointless-statement
    - pointless-string-statement
    - positional-only-arguments-expected
    - possibly-unused-variable
    - potential-index-error
    - prefer-typing-namedtuple
    - preferred-module
    - property-with-parameters
    - protected-access
    - raise-missing-from
    - raising-bad-type
    - raising-format-tuple
    - raising-non-exception
    - raw-checker-failed
    - redeclared-assigned-name
    - redefined-argument-from-local
    - redefined-builtin
    - redefined-loop-name
    - redefined-outer-name
    - redefined-slots-in-subclass
    - redefined-variable-type
    - redundant-keyword-arg
    - redundant-returns-doc
    - redundant-typehint-argument
    - redundant-u-string-prefix
    - redundant-unittest-assert
    - redundant-yields-doc
    - reimported
    - relative-beyond-top-level
    - repeated-keyword
    - return-arg-in-generator
    - return-in-finally
    - return-in-init
    - return-outside-function
    - self-assigning-variable
    - self-cls-assignment
    - shadowed-import
    - shallow-copy-environ
    - signature-differs
    - simplifiable-condition
    - simplifiable-if-expression
    - simplifiable-if-statement
    - simplify-boolean-expression
    - single-string-used-for-slots
    - singledispatch-method
    - singledispatchmethod-function
    - singleton-comparison
    - star-needs-assignment-target
    - stop-iteration-return
    - subclassed-final-class
    - subprocess-popen-preexec-fn
    - subprocess-run-check
    - super-init-not-called
    - super-with-arguments
    - super-without-brackets
    - superfluous-parens
    - suppressed-message
    - syntax-error
    - too-complex
    - too-few-format-args
    - too-few-public-methods
    - too-many-ancestors
    - too-many-arguments
    - too-many-boolean-expressions
    - too-many-branches
    - too-many-format-args
    - too-many-function-args
    - too-many-instance-attributes
    - too-many-lines
    - too-many-locals
    - too-many-nested-blocks
    - too-many-positional
    - too-many-public-methods
    - too-many-return-statements
    - too-many-star-expressions
    - too-many-statements
    - too-many-try-statements
    - trailing-comma-tuple
    - trailing-newlines
    - trailing-whitespace
    - truncated-format-string
    - try-except-raise
    - typevar-double-variance
    - typevar-name-incorrect-variance
    - typevar-name-mismatch
    - unbalanced-dict-unpacking
    - unbalanced-tuple-unpacking
    - undefined-all-variable
    - undefined-loop-variable
    - undefined-variable
    - unexpected-keyword-arg
    - unexpected-line-ending-format
    - unexpected-special-method-signature
    - ungrouped-imports
    - unhashable-dict-key
    - unhashable-member
    - unidiomatic-typecheck
    - unknown-option-value
    - unnecessary-comprehension
    - unnecessary-dict-index-lookup
    - unnecessary-direct-lambda-call
    - unnecessary-dunder-call
    - unnecessary-ellipsis
    - unnecessary-lambda
    - unnecessary-lambda-assignment
    - unnecessary-list-index-lookup
    - unnecessary-negation
    - unnecessary-pass
    - unnecessary-semicolon
    - unneeded-not
    - unpacking-non-sequence
    - unreachable
    - unrecognized-inline-option
    - unrecognized-option
    - unspecified-encoding
    - unsubscriptable-object
    - unsupported-assignment-operation
    - unsupported-binary-operation
    - unsupported-delete-operation
    - unsupported-membership-test
    - unused-argument
    - unused-format-string-argument
    - unused-format-string-key
    - unused-import
    - unused-private-member
    - unused-variable
    - unused-wildcard-import
    - use-a-generator
    - use-dict-literal
    - use-implicit-booleaness-not-comparison
    - use-implicit-booleaness-not-comparison-to-string
    - use-implicit-booleaness-not-comparison-to-zero
    - use-implicit-booleaness-not-len
    - use-list-literal
    - use-maxsplit-arg
    - use-sequence-for-iteration
    - use-set-for-membership
    - use-symbolic-message-instead
    - use-yield-from
    - used-before-assignment
    - used-prior-global-declaration
    - useless-else-on-loop
    - useless-import-alias
    - useless-object-inheritance
    - useless-option-value
    - useless-param-doc
    - useless-parent-delegation
    - useless-return
    - useless-super-delegation
    - useless-suppression
    - useless-type-doc
    - useless-with-lock
    - using-constant-test
    - using-f-string-in-unsupported-version
    - using-final-decorator-in-unsupported-version
    - while-used
    - wildcard-import
    - wrong-exception-operation
    - wrong-import-order
    - wrong-import-position
    - wrong-spelling-in-comment
    - wrong-spelling-in-docstring
    - yield-inside-async-function
    - yield-outside-function



  options:
    max-locals: 15
    max-returns: 6
    max-branches: 15
    max-statements: 60
    min-public-methods: 1
    max-public-methods: 20
    max-line-length: 99

pycodestyle:
  enable:
    - W605
  disable:
    - E101
    - E111
    - E112
    - E113
    - E114
    - E115
    - E116
    - E117
    - E121
    - E122
    - E123
    - E124
    - E125
    - E126
    - E127
    - E128
    - E129
    - E131
    - E133
    - E201
    - E202
    - E203
    - E211
    - E221
    - E222
    - E223
    - E224
    - E225
    - E226
    - E227
    - E228
    - E231
    - E241
    - E242
    - E251
    - E261
    - E262
    - E265
    - E266
    - E271
    - E272
    - E273
    - E274
    - E275
    - E301
    - E302
    - E303
    - E304
    - E305
    - E306
    - E401
    - E402
    - E501
    - E502
    - E701
    - E702
    - E703
    - E704
    - E711
    - E712
    - E713
    - E714
    - E721
    - E722
    - E731
    - E741
    - E742
    - E743
    - E901
    - E902
    - W191
    - W291
    - W292
    - W293
    - W391
    - W503
    - W504
    - W505

pyroma:
  run: false

pydocstyle:
  run: false

mccabe:
  run: false

pyflakes:
  run: false

dodgy:
  run: false
