[MASTER]

# Add files or directories matching the regex patterns to the ignore list.
# The regex matches against base names, not paths.
ignore-patterns=schema.py,


[MESSAGES CONTROL]

# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=fixme,
        missing-docstring,
        too-many-arguments,
        too-many-branches,
        too-many-statements,
        too-many-instance-attributes,
        consider-using-f-string,

[REPORTS]

[REFACTORING]

[MISCELLANEOUS]

[LOGGING]

[BASIC]

# Good variable names regexes, separated by a comma. If names match any regex,
# they will always be accepted.
#
# Suppress complaints about short names.  PEP-8 is cool with them,
# and so are we.
good-names-rgxs=^[_a-z][_a-z0-9]?$

[VARIABLES]

[STRING]

[SPELLING]

[FORMAT]

[SIMILARITIES]

# Ignore import statements themselves when computing similarities.
ignore-imports=yes

[TYPECHECK]

[CLASSES]

[IMPORTS]

[DESIGN]

[EXCEPTIONS]
