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