[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 which should always be accepted, separated by a comma.
good-names=i,
           j,
           k,
           ex,
           Run,
           _,
           fp,  # fp = open(...)
           fd,  # fd = os.open(...)
           ch,

[VARIABLES]

[STRING]

[SPELLING]

[FORMAT]

[SIMILARITIES]

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

[TYPECHECK]

[CLASSES]

[IMPORTS]

[DESIGN]

[EXCEPTIONS]
