Skip to content

Instantly share code, notes, and snippets.

@chapmanjacobd
Created April 24, 2023 10:15
Show Gist options
  • Select an option

  • Save chapmanjacobd/481ef1ccefcda6750e76bad4dd19ebd2 to your computer and use it in GitHub Desktop.

Select an option

Save chapmanjacobd/481ef1ccefcda6750e76bad4dd19ebd2 to your computer and use it in GitHub Desktop.
pylint pyproject.toml
[tool.pylint.main]
fail-under = 8.0
ignore = ["input"]
ignored-modules = ["pandas", "numpy"]
limit-inference-results = 100
persistent = true
suggestion-mode = true
[tool.pylint.basic]
argument-naming-style = "snake_case"
attr-naming-style = "snake_case"
bad-names = ["foo", "bar", "baz", "toto", "tutu", "tata"]
class-attribute-naming-style = "any"
class-const-naming-style = "UPPER_CASE"
class-naming-style = "PascalCase"
const-naming-style = "UPPER_CASE"
docstring-min-length = -1
function-naming-style = "snake_case"
good-names = ["i"]
inlinevar-naming-style = "any"
method-naming-style = "snake_case"
module-naming-style = "snake_case"
no-docstring-rgx = "^_"
property-classes = ["abc.abstractproperty"]
variable-naming-style = "snake_case"
[tool.pylint.classes]
defining-attr-methods = ["__init__", "__new__", "setUp", "__post_init__"]
exclude-protected = ["_asdict", "_fields", "_replace", "_source", "_make"]
valid-classmethod-first-arg = ["cls"]
valid-metaclass-classmethod-first-arg = ["cls"]
[tool.pylint.design]
max-args = 5
max-attributes = 7
max-bool-expr = 5
max-branches = 12
max-locals = 15
max-parents = 7
max-public-methods = 20
max-returns = 6
max-statements = 60
min-public-methods = 2
[tool.pylint.exceptions]
overgeneral-exceptions = ["BaseException"]
[tool.pylint.format]
ignore-long-lines = "^\\s*(# )|^\\s*(\\w*\\s*=\\s*)?(\\\"|\\').*(\\\"|\\'),?\\s*$"
indent-after-paren = 4
indent-string = " "
max-line-length = 350
max-module-lines = 1500
[tool.pylint.imports]
known-third-party = ["enchant"]
[tool.pylint.logging]
logging-format-style = "old"
logging-modules = ["logging"]
[tool.pylint."messages control"]
confidence = ["HIGH", "CONTROL_FLOW", "INFERENCE", "INFERENCE_FAILURE", "UNDEFINED"]
disable = [
"locally-disabled",
"file-ignored",
"suppressed-message",
"use-symbolic-message-instead",
"c-extension-no-member",
"unnecessary-dunder-call",
"too-many-lines",
"trailing-whitespace",
"missing-final-newline",
"wrong-import-order",
"ungrouped-imports",
"wrong-import-position",
"useless-import-alias",
"import-outside-toplevel",
"unnecessary-lambda-assignment",
"unnecessary-direct-lambda-call",
"non-ascii-name",
"non-ascii-module-import",
"bad-file-encoding",
"invalid-name",
"typevar-name-incorrect-variance",
"typevar-double-variance",
"typevar-name-mismatch",
"missing-module-docstring",
"missing-class-docstring",
"missing-function-docstring",
"consider-using-dict-items",
"use-maxsplit-arg",
"use-sequence-for-iteration",
"consider-using-f-string",
"use-implicit-booleaness-not-len",
"use-implicit-booleaness-not-comparison",
"too-many-ancestors",
"too-many-instance-attributes",
"too-few-public-methods",
"too-many-public-methods",
"too-many-return-statements",
"too-many-branches",
"too-many-arguments",
"too-many-locals",
"too-many-statements",
"cyclic-import",
"consider-using-from-import",
"duplicate-code",
"literal-comparison",
"comparison-with-itself",
"comparison-of-constants",
"consider-merging-isinstance",
"redefined-argument-from-local",
"no-else-return",
"consider-using-ternary",
"trailing-comma-tuple",
"stop-iteration-return",
"simplify-boolean-expression",
"inconsistent-return-statements",
"useless-return",
"consider-swap-variables",
"consider-using-join",
"consider-using-in",
"consider-using-get",
"chained-comparison",
"consider-using-dict-comprehension",
"consider-using-set-comprehension",
"simplifiable-if-expression",
"no-else-raise",
"unnecessary-comprehension",
"consider-using-sys-exit",
"no-else-break",
"no-else-continue",
"super-with-arguments",
"simplifiable-condition",
"condition-evals-to-constant",
"consider-using-generator",
"use-a-generator",
"consider-using-min-builtin",
"consider-using-max-builtin",
"consider-using-with",
"unnecessary-dict-index-lookup",
"use-list-literal",
"use-dict-literal",
"unnecessary-list-index-lookup",
"unnecessary-ellipsis",
"try-except-raise",
"raise-missing-from",
"raising-format-tuple",
"wrong-exception-operation",
"bad-indentation",
"wildcard-import",
"preferred-module",
"logging-not-lazy",
"logging-fstring-interpolation",
"missing-timeout",
"fixme",
"modified-iterating-list",
"non-ascii-file-name",
"bad-thread-instantiation",
"shallow-copy-environ",
"invalid-envvar-default",
"subprocess-popen-preexec-fn",
"subprocess-run-check",
"unspecified-encoding",
"forgotten-debug-statement",
"method-cache-max-size-none",
"deprecated-argument",
"deprecated-class",
"deprecated-decorator",
"duplicate-string-formatting-argument",
"f-string-without-interpolation",
"format-string-without-interpolation",
"implicit-str-concat",
"inconsistent-quotes",
"redundant-u-string-prefix",
"useless-with-lock",
"keyword-arg-before-vararg",
"arguments-out-of-order",
"non-str-assignment-to-dunder-name",
"isinstance-second-argument-not-valid-type",
"using-f-string-in-unsupported-version",
"using-final-decorator-in-unsupported-version",
"global-statement",
"unused-import",
"unused-wildcard-import",
"unbalanced-tuple-unpacking",
"possibly-unused-variable",
"self-cls-assignment",
"missing-parentheses-for-call-in-test",
"self-assigning-variable",
"redeclared-assigned-name",
"assert-on-string-literal",
"duplicate-value",
"comparison-with-callable",
"nan-comparison",
"bad-plugin-value",
"bad-configuration-section",
"unrecognized-option",
"yield-inside-async-function",
"not-async-context-manager",
"bad-exception-cause",
"notimplemented-raised",
"relative-beyond-top-level",
"logging-format-truncated",
"modified-iterating-dict",
"modified-iterating-set",
"invalid-envvar-value",
"mixed-format-string",
"bad-string-format-type",
"no-member",
"missing-kwoa",
"unsupported-assignment-operation",
"unsupported-delete-operation",
"invalid-metaclass",
"dict-iter-missing-items",
"await-outside-async",
"unhashable-member",
"invalid-unicode-codec",
"bidirectional-unicode",
"invalid-character-backspace",
"invalid-character-carriage-return",
"invalid-character-sub",
"invalid-character-esc",
"invalid-character-nul",
"invalid-character-zero-width-space",
"invalid-all-format",
"potential-index-error",
"too-many-star-expressions",
"invalid-star-assignment-target",
"star-needs-assignment-target",
"nonlocal-and-global",
"nonlocal-without-binding",
"used-prior-global-declaration",
"misplaced-format-function",
"config-parse-error",
"multiple-imports",
]
enable = [
"raw-checker-failed",
"bad-inline-option",
"useless-suppression",
"deprecated-pragma",
"line-too-long",
"trailing-newlines",
"multiple-statements",
"superfluous-parens",
"mixed-line-endings",
"unexpected-line-ending-format",
"wrong-spelling-in-comment",
"wrong-spelling-in-docstring",
"invalid-characters-in-docstring",
"disallowed-name",
"empty-docstring",
"singleton-comparison",
"unidiomatic-typecheck",
"bad-classmethod-argument",
"bad-mcs-method-argument",
"bad-mcs-classmethod-argument",
"single-string-used-for-slots",
"unneeded-not",
"consider-using-enumerate",
"consider-iterating-dictionary",
"useless-option-value",
"too-many-boolean-expressions",
"no-classmethod-decorator",
"no-staticmethod-decorator",
"useless-object-inheritance",
"property-with-parameters",
"too-many-nested-blocks",
"simplifiable-if-statement",
"unknown-option-value",
"bare-except",
"broad-except",
"duplicate-except",
"binary-op-exception",
"unnecessary-semicolon",
"reimported",
"import-self",
"misplaced-future",
"deprecated-module",
"logging-format-interpolation",
"bad-open-mode",
"boolean-datetime",
"redundant-unittest-assert",
"deprecated-method",
"bad-format-string-key",
"unused-format-string-key",
"bad-format-string",
"missing-format-argument-key",
"unused-format-string-argument",
"format-combined-specification",
"missing-format-attribute",
"invalid-format-index",
"anomalous-backslash-in-string",
"anomalous-unicode-escape-in-string",
"global-variable-undefined",
"global-variable-not-assigned",
"global-at-module-level",
"unused-variable",
"unused-argument",
"redefined-outer-name",
"redefined-builtin",
"undefined-loop-variable",
"cell-var-from-loop",
"useless-else-on-loop",
"unreachable",
"dangerous-default-value",
"pointless-statement",
"pointless-string-statement",
"expression-not-assigned",
"unnecessary-lambda",
"duplicate-key",
"exec-used",
"eval-used",
"confusing-with-statement",
"using-constant-test",
"lost-exception",
"assert-on-tuple",
"unnecessary-pass",
"attribute-defined-outside-init",
"bad-staticmethod-argument",
"protected-access",
"arguments-differ",
"signature-differs",
"abstract-method",
"super-init-not-called",
"non-parent-init-called",
"invalid-overridden-method",
"arguments-renamed",
"unused-private-member",
"overridden-final-method",
"subclassed-final-class",
"redefined-slots-in-subclass",
"super-without-brackets",
"useless-parent-delegation",
"syntax-error",
"unrecognized-inline-option",
"bad-except-order",
"raising-bad-type",
"misplaced-bare-raise",
"raising-non-exception",
"catching-non-exception",
"import-error",
"logging-unsupported-format",
"logging-too-many-args",
"logging-too-few-args",
"bad-super-call",
"bad-format-character",
"truncated-format-string",
"format-needs-mapping",
"missing-format-string-key",
"too-many-format-args",
"too-few-format-args",
"bad-str-strip-call",
"not-callable",
"assignment-from-no-return",
"no-value-for-parameter",
"too-many-function-args",
"unexpected-keyword-arg",
"redundant-keyword-arg",
"invalid-sequence-index",
"invalid-slice-index",
"assignment-from-none",
"not-context-manager",
"invalid-unary-operand-type",
"unsupported-binary-operation",
"repeated-keyword",
"unsupported-membership-test",
"unsubscriptable-object",
"not-an-iterable",
"not-a-mapping",
"used-before-assignment",
"undefined-variable",
"undefined-all-variable",
"invalid-all-object",
"no-name-in-module",
"unpacking-non-sequence",
"init-is-generator",
"return-in-init",
"function-redefined",
"not-in-loop",
"return-outside-function",
"yield-outside-function",
"return-arg-in-generator",
"nonexistent-operator",
"duplicate-argument-name",
"abstract-class-instantiated",
"continue-in-finally",
"bad-reversed-sequence",
"method-hidden",
"access-member-before-definition",
"no-method-argument",
"no-self-argument",
"invalid-slots-object",
"assigning-non-slot",
"invalid-slots",
"inherit-non-class",
"inconsistent-mro",
"duplicate-bases",
"class-variable-slots-conflict",
"invalid-class-object",
"invalid-enum-extension",
"non-iterator-returned",
"unexpected-special-method-signature",
"invalid-length-returned",
"invalid-bool-returned",
"invalid-index-returned",
"invalid-repr-returned",
"invalid-str-returned",
"invalid-bytes-returned",
"invalid-hash-returned",
"invalid-length-hint-returned",
"invalid-format-returned",
"invalid-getnewargs-returned",
"invalid-getnewargs-ex-returned",
"fatal",
"astroid-error",
"parse-error",
"method-check-failed",
]
[tool.pylint.method_args]
timeout-methods = [
"requests.api.delete",
"requests.api.get",
"requests.api.head",
"requests.api.options",
"requests.api.patch",
"requests.api.post",
"requests.api.put",
"requests.api.request",
]
[tool.pylint.miscellaneous]
notes = ["FIXME", "XXX", "TODO"]
[tool.pylint.refactoring]
max-nested-blocks = 5
never-returning-functions = ["sys.exit", "argparse.parse_error"]
[tool.pylint.reports]
evaluation = "10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)"
score = true
[tool.pylint.similarities]
# ignore-comments = true
# ignore-docstrings = true
# ignore-signatures = true
# ignore-imports = true
min-similarity-lines = 3
[tool.pylint.spelling]
max-spelling-suggestions = 4
spelling-ignore-comment-directives = "fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy:"
[tool.pylint.typecheck]
contextmanager-decorators = ["contextlib.contextmanager"]
generated-members = "googleapiclient.discovery.build"
# ignore-none = true
# ignore-on-opaque-inference = true
ignored-checks-for-mixins = ["no-member", "not-async-context-manager", "not-context-manager", "attribute-defined-outside-init"]
ignored-classes = ["optparse.Values", "thread._local", "_thread._local"]
missing-member-hint = true
missing-member-hint-distance = 1
missing-member-max-choices = 1
mixin-class-rgx = ".*[Mm]ixin"
[tool.pylint.variables]
# allow-global-unused-variables = true
callbacks = ["cb_", "_cb"]
dummy-variables-rgx = "_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_"
ignored-argument-names = "_.*"
redefining-builtins-modules = ["six.moves", "past.builtins", "future.builtins", "builtins", "io", "rich"]
@avivlevy37

Copy link
Copy Markdown

🔥

@chapmanjacobd

Copy link
Copy Markdown
Author

🧯

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment