# Copyright (c) 2019, Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 # pylint configuration for the PyLint check in check_compliance.py. # # To run pylint manually with this configuration from the Zephyr repo, do # # pylint3 --rcfile=ci-tools/scripts/pylintrc # # This command will check all scripts: # # pylint3 --rcfile=ci-tools/scripts/pylintrc $(git ls-files '*.py') [MASTER] # Use multiple processes jobs=0 # Do not pickle collected data for comparisons persistent=no [REPORTS] # Only show messages, not full report reports=no # Disable score score=no [MESSAGES CONTROL] # Only enable specific (hopefully) uncontroversial warnings. Use # 'pylint3 --list-msgs' to list messages and their IDs. # # These might be nice to check too, but currently trigger false positives: # # no-member # arguments-differ # redefine-in-handler # abstract-method # # These might be too controversial: # # no-else-return # consider-using-get # redefined-builtin # # These tell you to use logger.warning("foo %d bar", 3) instead of e.g. # logger.warning("foo {} bar".format(3)), but it's not a clear win in all # cases. f-strings would be nicer too, and it's easier to convert from format() # to those. # # logging-not-lazy # logging-format-interpolation # logging-fstring-interpolation disable=all # Identifiers are in the same order as in 'pylint3 --list-msgs'. Entire # message "types" (~= severities) like F(atal), E(error),... are listed # first. enable= F, # atal empty-docstring, unneeded-not, singleton-comparison, unidiomatic-typecheck, consider-using-enumerate, consider-iterating-dictionary, bad-classmethod-argument, bad-mcs-method-argument, bad-mcs-classmethod-argument, single-string-used-for-slots, trailing-newlines, trailing-whitespace, missing-final-newline, superfluous-parens, mixed-line-endings, unexpected-line-ending-format, invalid-characters-in-docstring, useless-import-alias, len-as-condition, syntax-error, init-is-generator, return-in-init, function-redefined, not-in-loop, return-outside-function, yield-outside-function, nonexistent-operator, duplicate-argument-name, abstract-class-instantiated, bad-reversed-sequence, too-many-star-expressions, invalid-star-assignment-target, star-needs-assignment-target, nonlocal-and-global, continue-in-finally, nonlocal-without-binding, misplaced-format-function, 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, non-iterator-returned, unexpected-special-method-signature, invalid-length-returned, relative-beyond-top-level, used-before-assignment, undefined-variable, undefined-all-variable, invalid-all-object, no-name-in-module, unpacking-non-sequence, bad-except-order, raising-bad-type, bad-exception-context, misplaced-bare-raise, raising-non-exception, notimplemented-raised, catching-non-exception, bad-super-call, not-callable, assignment-from-no-return, no-value-for-parameter, too-many-function-args, unexpected-keyword-arg, redundant-keyword-arg, missing-kwoa, invalid-sequence-index, invalid-slice-index, assignment-from-none, not-context-manager, invalid-unary-operand-type, unsupported-binary-operation, repeated-keyword, not-an-iterable, not-a-mapping, unsupported-membership-test, unsubscriptable-object, unsupported-assignment-operation, unsupported-delete-operation, invalid-metaclass, unhashable-dict-key, logging-unsupported-format, logging-format-truncated, logging-too-many-args, logging-too-few-args, bad-format-character, truncated-format-string, mixed-format-string, format-needs-mapping, missing-format-string-key, too-many-format-args, too-few-format-args, bad-string-format-type, bad-str-strip-call, invalid-envvar-value, yield-inside-async-function, not-async-context-manager, useless-suppression, deprecated-pragma, use-symbolic-message-instead, literal-comparison, comparison-with-itself, no-classmethod-decorator, no-staticmethod-decorator, cyclic-import, duplicate-code, consider-merging-isinstance, simplifiable-if-statement, redefined-argument-from-local, trailing-comma-tuple, stop-iteration-return, useless-return, consider-swap-variables, consider-using-join, consider-using-in, chained-comparison, consider-using-dict-comprehension, consider-using-set-comprehension, simplifiable-if-expression, unreachable, pointless-statement, pointless-string-statement, expression-not-assigned, unnecessary-pass, unnecessary-lambda, duplicate-key, useless-else-on-loop, confusing-with-statement, using-constant-test, comparison-with-callable, lost-exception, assert-on-tuple, bad-staticmethod-argument, super-init-not-called, non-parent-init-called, useless-super-delegation, unnecessary-semicolon, bad-indentation, deprecated-module, reimported, import-self, misplaced-future, global-variable-not-assigned, unused-import, unused-variable, undefined-loop-variable, unbalanced-tuple-unpacking, possibly-unused-variable, self-cls-assignment, bare-except, duplicate-except, try-except-raise, binary-op-exception, raising-format-tuple, wrong-exception-operation, keyword-arg-before-vararg, bad-format-string-key, unused-format-string-key, bad-format-string, unused-format-string-argument, format-combined-specification, missing-format-attribute, invalid-format-index, anomalous-backslash-in-string, anomalous-unicode-escape-in-string, bad-open-mode, redundant-unittest-assert, deprecated-method, bad-thread-instantiation, shallow-copy-environ, invalid-envvar-default, # Custom Zephyr check scripts zephyr-arg-parse, [SIMILARITIES] # Minimum lines number of a similarity. min-similarity-lines=20 # Ignore comments when computing similarities. ignore-comments=yes # Ignore docstrings when computing similarities. ignore-docstrings=yes # Ignore imports when computing similarities. ignore-imports=yes