[MASTER]
ignore-paths=^src/tests/.*$,
    ^test/.*$,
    ^tools/.*$,
    ^docs/.*$,
    ^site/.*$

ignore=test/

load-plugins=
    pylint.extensions.docparams,
    pylint.extensions.mccabe

generated-members=orjson.*

[BASIC]
good-names=i,j,k,x,r,e,v,_,b,dt,d

[MESSAGES CONTROL]
# Reasons disabled:
# format - handled by black
# locally-disabled - it spams too much
# duplicate-code - unavoidable
# cyclic-import - doesn't test if both import on load
# abstract-class-little-used - prevents from setting right foundation
# unused-argument - generic callbacks and setup methods create a lot of warnings
# global-statement - used for the on-demand requirement installation
# redefined-variable-type - this is Python, we're duck typing!
# too-many-* - are not enforced for the sake of readability
# too-few-* - same as too-many-*
# abstract-method - with intro of async there are always methods missing
# inconsistent-return-statements - doesn't handle raise
# not-an-iterable - https://github.com/PyCQA/pylint/issues/2311
# unnecessary-pass - readability for functions which only contain pass

disable=
    format,
    abstract-method,
    arguments-differ,
    broad-exception-caught,
    cyclic-import,
    duplicate-code,
    fixme,
    global-statement,
    inconsistent-return-statements,
    invalid-name,
    locally-disabled,
    not-an-iterable,
    too-few-public-methods,
    too-many-arguments,
    too-many-branches,
    too-many-instance-attributes,
    too-many-lines,
    too-many-locals,
    too-many-positional-arguments,
    too-many-public-methods,
    too-many-return-statements,
    too-many-statements,
    too-complex,
    wildcard-import,
    unused-wildcard-import,
    unnecessary-pass,
    unused-argument,
    useless-super-delegation,

[REPORTS]
#reports=no

[TYPECHECK]

[FORMAT]
expected-line-ending-format=LF
max-line-length=90
