blob: 38a7dc44737d62baf165106f73b427301baaa490 [file] [log] [blame]
Anas Nashif288ae282020-06-08 11:58:14 -04001# Copyright (c) 2019, Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4# pylint configuration for the PyLint check in check_compliance.py.
5#
6# To run pylint manually with this configuration from the Zephyr repo, do
7#
8# pylint3 --rcfile=ci-tools/scripts/pylintrc <Python file>
9#
10# This command will check all scripts:
11#
12# pylint3 --rcfile=ci-tools/scripts/pylintrc $(git ls-files '*.py')
13
14[MASTER]
15
16# Use multiple processes
17jobs=0
18
19# Do not pickle collected data for comparisons
20persistent=no
21
22
23[REPORTS]
24
25# Only show messages, not full report
26reports=no
27
28# Disable score
29score=no
30
31
32[MESSAGES CONTROL]
33
34# Only enable specific (hopefully) uncontroversial warnings. Use
35# 'pylint3 --list-msgs' to list messages and their IDs.
36#
37# These might be nice to check too, but currently trigger false positives:
38#
39# no-member
40# arguments-differ
41# redefine-in-handler
42# abstract-method
43#
44# These might be too controversial:
45#
46# no-else-return
47# consider-using-get
48# redefined-builtin
49#
50# These tell you to use logger.warning("foo %d bar", 3) instead of e.g.
51# logger.warning("foo {} bar".format(3)), but it's not a clear win in all
52# cases. f-strings would be nicer too, and it's easier to convert from format()
53# to those.
54#
55# logging-not-lazy
56# logging-format-interpolation
57# logging-fstring-interpolation
58
59disable=all
60# Identifiers are in the same order as in 'pylint3 --list-msgs'. Entire
61# message "types" (~= severities) like F(atal), E(error),... are listed
62# first.
63enable=
64 F, # atal
65 empty-docstring,
66 unneeded-not,
67 singleton-comparison,
68 misplaced-comparison-constant,
69 unidiomatic-typecheck,
70 consider-using-enumerate,
71 consider-iterating-dictionary,
72 bad-classmethod-argument,
73 bad-mcs-method-argument,
74 bad-mcs-classmethod-argument,
75 single-string-used-for-slots,
76 trailing-newlines,
77 trailing-whitespace,
78 missing-final-newline,
79 superfluous-parens,
80 mixed-line-endings,
81 unexpected-line-ending-format,
82 invalid-characters-in-docstring,
83 useless-import-alias,
84 len-as-condition,
85 syntax-error,
86 init-is-generator,
87 return-in-init,
88 function-redefined,
89 not-in-loop,
90 return-outside-function,
91 yield-outside-function,
92 nonexistent-operator,
93 duplicate-argument-name,
94 abstract-class-instantiated,
95 bad-reversed-sequence,
96 too-many-star-expressions,
97 invalid-star-assignment-target,
98 star-needs-assignment-target,
99 nonlocal-and-global,
100 continue-in-finally,
101 nonlocal-without-binding,
102 misplaced-format-function,
103 method-hidden,
104 access-member-before-definition,
105 no-method-argument,
106 no-self-argument,
107 invalid-slots-object,
108 assigning-non-slot,
109 invalid-slots,
110 inherit-non-class,
111 inconsistent-mro,
112 duplicate-bases,
113 non-iterator-returned,
114 unexpected-special-method-signature,
115 invalid-length-returned,
116 relative-beyond-top-level,
117 used-before-assignment,
118 undefined-variable,
119 undefined-all-variable,
120 invalid-all-object,
121 no-name-in-module,
122 unpacking-non-sequence,
123 bad-except-order,
124 raising-bad-type,
125 bad-exception-context,
126 misplaced-bare-raise,
127 raising-non-exception,
128 notimplemented-raised,
129 catching-non-exception,
130 bad-super-call,
131 not-callable,
132 assignment-from-no-return,
133 no-value-for-parameter,
134 too-many-function-args,
135 unexpected-keyword-arg,
136 redundant-keyword-arg,
137 missing-kwoa,
138 invalid-sequence-index,
139 invalid-slice-index,
140 assignment-from-none,
141 not-context-manager,
142 invalid-unary-operand-type,
143 unsupported-binary-operation,
144 repeated-keyword,
145 not-an-iterable,
146 not-a-mapping,
147 unsupported-membership-test,
148 unsubscriptable-object,
149 unsupported-assignment-operation,
150 unsupported-delete-operation,
151 invalid-metaclass,
152 unhashable-dict-key,
153 logging-unsupported-format,
154 logging-format-truncated,
155 logging-too-many-args,
156 logging-too-few-args,
157 bad-format-character,
158 truncated-format-string,
159 mixed-format-string,
160 format-needs-mapping,
161 missing-format-string-key,
162 too-many-format-args,
163 too-few-format-args,
164 bad-string-format-type,
165 bad-str-strip-call,
166 invalid-envvar-value,
167 yield-inside-async-function,
168 not-async-context-manager,
169 useless-suppression,
170 deprecated-pragma,
171 use-symbolic-message-instead,
172 literal-comparison,
173 comparison-with-itself,
174 no-self-use,
175 no-classmethod-decorator,
176 no-staticmethod-decorator,
177 cyclic-import,
178 duplicate-code,
179 consider-merging-isinstance,
180 simplifiable-if-statement,
181 redefined-argument-from-local,
182 trailing-comma-tuple,
183 stop-iteration-return,
184 useless-return,
185 consider-swap-variables,
186 consider-using-join,
187 consider-using-in,
188 chained-comparison,
189 consider-using-dict-comprehension,
190 consider-using-set-comprehension,
191 simplifiable-if-expression,
192 unreachable,
193 pointless-statement,
194 pointless-string-statement,
195 expression-not-assigned,
196 unnecessary-pass,
197 unnecessary-lambda,
198 duplicate-key,
199 assign-to-new-keyword,
200 useless-else-on-loop,
201 confusing-with-statement,
202 using-constant-test,
203 comparison-with-callable,
204 lost-exception,
205 assert-on-tuple,
206 bad-staticmethod-argument,
207 super-init-not-called,
208 non-parent-init-called,
209 useless-super-delegation,
210 unnecessary-semicolon,
211 bad-indentation,
212 mixed-indentation,
213 deprecated-module,
214 reimported,
215 import-self,
216 misplaced-future,
217 global-variable-not-assigned,
218 unused-import,
219 unused-variable,
220 undefined-loop-variable,
221 unbalanced-tuple-unpacking,
222 possibly-unused-variable,
223 self-cls-assignment,
224 bare-except,
225 duplicate-except,
226 try-except-raise,
227 binary-op-exception,
228 raising-format-tuple,
229 wrong-exception-operation,
230 keyword-arg-before-vararg,
231 bad-format-string-key,
232 unused-format-string-key,
233 bad-format-string,
234 unused-format-string-argument,
235 format-combined-specification,
236 missing-format-attribute,
237 invalid-format-index,
238 anomalous-backslash-in-string,
239 anomalous-unicode-escape-in-string,
240 bad-open-mode,
241 redundant-unittest-assert,
242 deprecated-method,
243 bad-thread-instantiation,
244 shallow-copy-environ,
245 invalid-envvar-default,
246 deprecated-string-function,
247 deprecated-str-translate-call,
248 deprecated-itertools-function,
249 deprecated-types-field,
Jamie McCraed72e1352023-01-18 12:26:06 +0000250 # Custom Zephyr check scripts
251 zephyr-arg-parse,
Anas Nashif70dc6b42021-04-09 12:32:51 -0400252
253[SIMILARITIES]
254
255# Minimum lines number of a similarity.
256min-similarity-lines=10
257
258# Ignore comments when computing similarities.
259ignore-comments=yes
260
261# Ignore docstrings when computing similarities.
262ignore-docstrings=yes
263
264# Ignore imports when computing similarities.
265ignore-imports=yes