blob: f3b28d470891f7b274f51a4a7a3f4d5258133560 [file] [log] [blame]
Richard Burtondc0c6ed2020-04-08 16:39:05 +01001[MASTER]
2
Cathal Corbett31fb60b2021-11-24 18:14:31 +00003# Add files or directories to the ignore list. They should be base names, not
Richard Burtondc0c6ed2020-04-08 16:39:05 +01004# paths.
5ignore=CVS,generated,_generated
6
Cathal Corbett31fb60b2021-11-24 18:14:31 +00007# Add files or directories matching the regex patterns to the ignore list. The
Richard Burtondc0c6ed2020-04-08 16:39:05 +01008# regex matches against base names, not paths.
9ignore-patterns=_version.py
10
11# Python code to execute, usually for sys.path manipulation such as
12# pygtk.require().
13#init-hook=
14
15# Use multiple processes to speed up Pylint.
16jobs=1
17
18# List of plugins (as comma separated values of python modules names) to load,
19# usually to register additional checkers.
20load-plugins=
21
22# Pickle collected data for later comparisons.
23persistent=yes
24
25# Specify a configuration file.
26#rcfile=
27
28# Allow loading of arbitrary C extensions. Extensions are imported into the
29# active Python interpreter and may run arbitrary code.
30unsafe-load-any-extension=no
31
32
33[MESSAGES CONTROL]
34
35# Only show warnings with the listed confidence levels. Leave empty to show
36# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
37confidence=
38
39# Disable the message, report, category or checker with the given id(s). You
40# can either give multiple identifiers separated by comma (,) or put this
41# option multiple times (only on the command line, not in the configuration
42# file where it should appear only once).You can also use "--disable=all" to
43# disable everything first and then reenable specific checks. For example, if
44# you want to run only the similarities checker, you can use "--disable=all
45# --enable=similarities". If you want to run only the classes checker, but have
46# no Warning level messages displayed, use"--disable=all --enable=classes
47# --disable=W"
48disable=
49 print-statement,
50 parameter-unpacking,
51 unpacking-in-except,
52 old-raise-syntax,
53 backtick,
54 long-suffix,
55 old-ne-operator,
56 old-octal-literal,
57 import-star-module-level,
58 raw-checker-failed,
59 bad-inline-option,
60 locally-disabled,
61 locally-enabled,
62 file-ignored,
63 suppressed-message,
64 useless-suppression,
65 deprecated-pragma,
66 apply-builtin,
67 basestring-builtin,
68 buffer-builtin,
69 cmp-builtin,
70 coerce-builtin,
71 execfile-builtin,
72 file-builtin,
73 long-builtin,
74 raw_input-builtin,
75 reduce-builtin,
76 standarderror-builtin,
77 unicode-builtin,
78 xrange-builtin,
79 coerce-method,
80 delslice-method,
81 getslice-method,
82 setslice-method,
83 no-absolute-import,
84 old-division,
85 dict-iter-method,
86 dict-view-method,
87 next-method-called,
88 metaclass-assignment,
89 indexing-exception,
90 raising-string,
91 reload-builtin,
92 oct-method,
93 hex-method,
94 nonzero-method,
95 cmp-method,
96 input-builtin,
97 round-builtin,
98 intern-builtin,
99 unichr-builtin,
100 map-builtin-not-iterating,
101 zip-builtin-not-iterating,
102 range-builtin-not-iterating,
103 filter-builtin-not-iterating,
104 using-cmp-argument,
105 eq-without-hash,
106 div-method,
107 idiv-method,
108 rdiv-method,
109 exception-message-attribute,
110 invalid-str-codec,
111 sys-max-int,
112 bad-python3-import,
113 deprecated-string-function,
114 deprecated-str-translate-call
115
116# Enable the message, report, category or checker with the given id(s). You can
117# either give multiple identifier separated by comma (,) or put this option
118# multiple time (only on the command line, not in the configuration file where
119# it should appear only once). See also the "--disable" option for examples.
120enable=
121
122
123[REPORTS]
124
125# Python expression which should return a note less than 10 (10 is the highest
126# note). You have access to the variables errors warning, statement which
127# respectively contain the number of errors / warnings messages and the total
128# number of statements analyzed. This is used by the global evaluation report
129# (RP0004).
130evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
131
132# Template used to display messages. This is a python new-style format string
133# used to format the message information. See doc for all details
134#msg-template=
135
136# Set the output format. Available formats are text, parseable, colorized, json
137# and msvs (visual studio).You can also give a reporter class, eg
138# mypackage.mymodule.MyReporterClass.
139output-format=colorized
140
141# Tells whether to display a full report or only the messages
142reports=yes
143
144# Activate the evaluation score.
145score=yes
146
147
148[REFACTORING]
149
150# Maximum number of nested blocks for function / method body
151max-nested-blocks=5
152
153
154[BASIC]
155
156# Naming hint for argument names
157argument-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
158
159# Regular expression matching correct argument names
160argument-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
161
162# Naming hint for attribute names
163attr-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
164
165# Regular expression matching correct attribute names
166attr-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
167
168# Bad variable names which should always be refused, separated by a comma
169bad-names=foo,bar,baz,toto,tutu,tata
170
171# Naming hint for class attribute names
172class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
173
174# Regular expression matching correct class attribute names
175class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
176
177# Naming hint for class names
178class-name-hint=[A-Z_][a-zA-Z0-9]+$
179
180# Regular expression matching correct class names
181class-rgx=[A-Z_][a-zA-Z0-9]+$
182
183# Naming hint for constant names
184const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
185
186# Regular expression matching correct constant names
187const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
188
189# Minimum line length for functions/classes that require docstrings, shorter
190# ones are exempt.
191docstring-min-length=-1
192
193# Naming hint for function names
194function-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
195
196# Regular expression matching correct function names
197function-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
198
199# Good variable names which should always be accepted, separated by a comma
200good-names=i,j,k,ex,Run,_
201
202# Include a hint for the correct naming format with invalid-name
203include-naming-hint=no
204
205# Naming hint for inline iteration names
206inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
207
208# Regular expression matching correct inline iteration names
209inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
210
211# Naming hint for method names
212method-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
213
214# Regular expression matching correct method names
215method-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
216
217# Naming hint for module names
218module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
219
220# Regular expression matching correct module names
221module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
222
223# Colon-delimited sets of names that determine each other's naming style when
224# the name regexes allow several styles.
225name-group=
226
227# Regular expression which should only match function or class names that do
228# not require a docstring.
229no-docstring-rgx=^_
230
231# List of decorators that produce properties, such as abc.abstractproperty. Add
232# to this list to register other decorators that produce valid properties.
233property-classes=abc.abstractproperty
234
235# Naming hint for variable names
236variable-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
237
238# Regular expression matching correct variable names
239variable-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
240
241
242[SPELLING]
243
244# Spelling dictionary name. Available dictionaries: none. To make it working
245# install python-enchant package.
246spelling-dict=
247
248# List of comma separated words that should not be checked.
249spelling-ignore-words=
250
251# A path to a file that contains private dictionary; one word per line.
252spelling-private-dict-file=
253
254# Tells whether to store unknown words to indicated private dictionary in
255# --spelling-private-dict-file option instead of raising a message.
256spelling-store-unknown-words=no
257
258
259[SIMILARITIES]
260
261# Ignore comments when computing similarities.
262ignore-comments=yes
263
264# Ignore docstrings when computing similarities.
265ignore-docstrings=yes
266
267# Ignore imports when computing similarities.
268ignore-imports=no
269
270# Minimum lines number of a similarity.
271min-similarity-lines=4
272
273
274[FORMAT]
275
276# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
277expected-line-ending-format=
278
279# Regexp for a line that is allowed to be longer than the limit.
280ignore-long-lines=^\s*(# )?<?https?://\S+>?$
281
282# Number of spaces of indent required inside a hanging or continued line.
283indent-after-paren=4
284
285# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
286# tab).
287indent-string=' '
288
289# Maximum number of characters on a single line.
290max-line-length=120
291
292# Maximum number of lines in a module
293max-module-lines=1000
294
295# List of optional constructs for which whitespace checking is disabled. `dict-
296# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
297# `trailing-comma` allows a space between comma and closing bracket: (a, ).
298# `empty-line` allows space-only lines.
299no-space-check=trailing-comma,dict-separator
300
301# Allow the body of a class to be on the same line as the declaration if body
302# contains single statement.
303single-line-class-stmt=no
304
305# Allow the body of an if to be on the same line as the test if there is no
306# else.
307single-line-if-stmt=no
308
309
310[LOGGING]
311
312# Logging modules to check that the string format arguments are in logging
313# function parameter format
314logging-modules=logging
315
316
317[TYPECHECK]
318
319# List of decorators that produce context managers, such as
320# contextlib.contextmanager. Add to this list to register other decorators that
321# produce valid context managers.
322contextmanager-decorators=contextlib.contextmanager
323
324# List of members which are set dynamically and missed by pylint inference
325# system, and so shouldn't trigger E1101 when accessed. Python regular
326# expressions are accepted.
327generated-members=
328
329# Tells whether missing members accessed in mixin class should be ignored. A
330# mixin class is detected if its name ends with "mixin" (case insensitive).
331ignore-mixin-members=yes
332
333# This flag controls whether pylint should warn about no-member and similar
334# checks whenever an opaque object is returned when inferring. The inference
335# can return multiple potential results while evaluating a Python object, but
336# some branches might not be evaluated, which results in partial inference. In
337# that case, it might be useful to still emit no-member and other checks for
338# the rest of the inferred objects.
339ignore-on-opaque-inference=yes
340
341# List of class names for which member attributes should not be checked (useful
342# for classes with dynamically set attributes). This supports the use of
343# qualified names.
344ignored-classes=optparse.Values,thread._local,_thread._local
345
346# List of module names for which member attributes should not be checked
347# (useful for modules/projects where namespaces are manipulated during runtime
348# and thus existing member attributes cannot be deduced by static analysis. It
349# supports qualified module names, as well as Unix pattern matching.
350ignored-modules=
351
352# Show a hint with possible names when a member name was not found. The aspect
353# of finding the hint is based on edit distance.
354missing-member-hint=yes
355
356# The minimum edit distance a name should have in order to be considered a
357# similar match for a missing member name.
358missing-member-hint-distance=1
359
360# The total number of similar names that should be taken in consideration when
361# showing a hint for a missing member.
362missing-member-max-choices=1
363
364
365[VARIABLES]
366
367# List of additional names supposed to be defined in builtins. Remember that
368# you should avoid to define new builtins when possible.
369additional-builtins=
370
371# Tells whether unused global variables should be treated as a violation.
372allow-global-unused-variables=yes
373
374# List of strings which can identify a callback function by name. A callback
375# name must start or end with one of those strings.
376callbacks=cb_,_cb
377
378# A regular expression matching the name of dummy variables (i.e. expectedly
379# not used).
380dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
381
382# Argument names that match this expression will be ignored. Default to name
383# with leading underscore
384ignored-argument-names=_.*|^ignored_|^unused_
385
386# Tells whether we should check for unused import in __init__ files.
387init-import=no
388
389# List of qualified module names which can have objects that can redefine
390# builtins.
391redefining-builtins-modules=six.moves,future.builtins
392
393
394[MISCELLANEOUS]
395
396# List of note tags to take in consideration, separated by a comma.
397notes=FIXME,XXX,TODO
398
399
400[IMPORTS]
401
402# Allow wildcard imports from modules that define __all__.
403allow-wildcard-with-all=no
404
405# Analyse import fallback blocks. This can be used to support both Python 2 and
406# 3 compatible code, which means that the block might have code that exists
407# only in one or another interpreter, leading to false positives when analysed.
408analyse-fallback-blocks=no
409
410# Deprecated modules which should not be used, separated by a comma
411deprecated-modules=optparse,tkinter.tix
412
413# Create a graph of external dependencies in the given file (report RP0402 must
414# not be disabled)
415ext-import-graph=
416
417# Create a graph of every (i.e. internal and external) dependencies in the
418# given file (report RP0402 must not be disabled)
419import-graph=
420
421# Create a graph of internal dependencies in the given file (report RP0402 must
422# not be disabled)
423int-import-graph=
424
425# Force import order to recognize a module as part of the standard
426# compatibility libraries.
427known-standard-library=
428
429# Force import order to recognize a module as part of a third party library.
430known-third-party=enchant
431
432
433[CLASSES]
434
435# List of method names used to declare (i.e. assign) instance attributes.
436defining-attr-methods=__init__,__new__,setUp
437
438# List of member names, which should be excluded from the protected access
439# warning.
440exclude-protected=_asdict,_fields,_replace,_source,_make
441
442# List of valid names for the first argument in a class method.
443valid-classmethod-first-arg=cls
444
445# List of valid names for the first argument in a metaclass class method.
446valid-metaclass-classmethod-first-arg=mcs
447
448
449[DESIGN]
450
451# Maximum number of arguments for function / method
452max-args=5
453
454# Maximum number of attributes for a class (see R0902).
455max-attributes=7
456
457# Maximum number of boolean expressions in a if statement
458max-bool-expr=5
459
460# Maximum number of branch for function / method body
461max-branches=12
462
463# Maximum number of locals for function / method body
464max-locals=15
465
466# Maximum number of parents for a class (see R0901).
467max-parents=7
468
469# Maximum number of public methods for a class (see R0904).
470max-public-methods=20
471
472# Maximum number of return / yield for function / method body
473max-returns=6
474
475# Maximum number of statements in function / method body
476max-statements=50
477
478# Minimum number of public methods for a class (see R0903).
479min-public-methods=2
480
481
482[EXCEPTIONS]
483
484# Exceptions that will emit a warning when being caught. Defaults to
485# "Exception"
486overgeneral-exceptions=Exception