[MASTER]
jobs=0  # Speed up PyLint by using one process per CPU core.
load-plugins=pylint.extensions.bad_builtin,
             pylint.extensions.broad_try_clause,
             pylint.extensions.check_elif,
             pylint.extensions.comparetozero,
             pylint.extensions.docparams,
             pylint.extensions.emptystring,
             pylint.extensions.mccabe,
             pylint.extensions.overlapping_exceptions,
             pylint.extensions.redefined_variable_type,

# Fail if there are *any* messages from PyLint.
# The letters refer to PyLint's message categories, see
# https://pylint.pycqa.org/en/latest/messages/messages_introduction.html
fail-on=C,E,F,I,R,W

[MESSAGES CONTROL]
disable=missing-docstring,
        missing-type-doc,
        missing-yield-doc,
        missing-return-type-doc,
        missing-yield-type-doc,
        missing-return-doc,
        missing-raises-doc,
        missing-param-doc,
        wrong-import-order,
        # We use isort to sort and group our imports, so we don't need PyLint to
        # check them for us.
        ungrouped-imports,

        # We use Black to format our code automatically, so we don't need PyLint to
        # check formatting for us.
        line-too-long,
        too-few-public-methods,
        duplicate-code,

        # Ignored during pep8 -> pylint transition
        super-init-not-called,
        fixme,

        # Ignored until https://github.com/PyCQA/pylint/issues/3804 is closed
        comparison-with-callable,

good-names=
    # PyLint's default good names.
    i,j,k,ex,Run,_,ok,

    # The standard name used for the pyramid_tm transaction manager.
    tm,

    # websocket
    ws,
    # request.db
    db,
    # request.es
    es,
    # Primary key on models
    id,

[REPORTS]
output-format=colorized
score=no

[SIMILARITIES]

# Ignore comments when computing similarities.
ignore-comments=no

# Ignore docstrings when computing similarities.
ignore-docstrings=no

# Ignore imports when computing similarities.
ignore-imports=yes

# Set a slightly higher base for repeated code
min-similarity-lines=14
