[MASTER]

ignore-patterns=_version.py,model_config_pb2.py

extension-pkg-allow-list=hugectr,nvtabular_cpp

[MESSAGES CONTROL]
disable=fixme,
    # docstrings aren't required (yet).
    missing-function-docstring,
    missing-module-docstring,
    missing-class-docstring,

    # formatting checks that we're handling with black/isort
    wrong-import-order,
    wrong-import-position,
    ungrouped-imports,
    line-too-long,
    superfluous-parens,
    trailing-whitespace,

    # we'll probably never enable these checks
    invalid-name,
    import-error,
    no-self-use,

    # disable code-complexity checks for now
    # TODO: should we configure the thresholds for these rather than just disable?
    too-many-function-args,
    too-many-instance-attributes,
    too-many-locals,
    too-many-branches,
    too-many-nested-blocks,
    too-many-statements,
    too-many-arguments,
    too-many-return-statements,
    too-many-lines,
    too-few-public-methods,
    
    # many of these checks would be great to include at some point, but would
    # require some changes to our codebase
    useless-return,
    protected-access,
    arguments-differ,
    unused-argument,
    unused-variable,
    abstract-method,
    no-name-in-module,
    attribute-defined-outside-init,
    redefined-outer-name,
    import-outside-toplevel,
    no-else-continue,
    no-else-return,
    no-else-raise,
    no-member,
    super-with-arguments,
    unsupported-assignment-operation, 
    inconsistent-return-statements,
    duplicate-string-formatting-argument,
    len-as-condition,
    cyclic-import,

    # producing false positives
    unexpected-keyword-arg,
    not-an-iterable,
    unsubscriptable-object

[SIMILARITIES]
min-similarity-lines=20
ignore-comments=yes
ignore-docstrings=yes
ignore-imports=yes
