blob: 00878f728cdbc77577d5c3f92064ea5105501a05 [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
8# Add files or directories to the blacklist. They should be base names, not
9# paths.
10ignore=CVS
11
12# Add files or directories matching the regex patterns to the blacklist. The
13# 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,
93 xrange-builtin,
94 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,
142 fixme
143
144# Enable the message, report, category or checker with the given id(s). You can
145# either give multiple identifier separated by comma (,) or put this option
146# multiple time (only on the command line, not in the configuration file where
147# it should appear only once). See also the "--disable" option for examples.
148enable=c-extension-no-member
149
150
151[REPORTS]
152
153# Python expression which should return a score less than or equal to 10. You
154# have access to the variables 'error', 'warning', 'refactor', and 'convention'
155# which contain the number of messages in each category, as well as 'statement'
156# which is the total number of statements analyzed. This score is used by the
157# global evaluation report (RP0004).
158evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
159
160# Template used to display messages. This is a python new-style format string
161# used to format the message information. See doc for all details.
162#msg-template=
163
164# Set the output format. Available formats are text, parseable, colorized, json
165# and msvs (visual studio). You can also give a reporter class, e.g.
166# mypackage.mymodule.MyReporterClass.
167output-format=text
168
169# Tells whether to display a full report or only the messages.
170reports=no
171
172# Activate the evaluation score.
173score=yes
174
175
176[REFACTORING]
177
178# Maximum number of nested blocks for function / method body
179max-nested-blocks=5
180
181# Complete name of functions that never returns. When checking for
182# inconsistent-return-statements if a never returning function is called then
183# it will be considered as an explicit return statement and no message will be
184# printed.
185never-returning-functions=sys.exit
186
187
188[BASIC]
189
190# Naming style matching correct argument names.
191argument-naming-style=snake_case
192
193# Regular expression matching correct argument names. Overrides argument-
194# naming-style.
195#argument-rgx=
196
197# Naming style matching correct attribute names.
198attr-naming-style=snake_case
199
200# Regular expression matching correct attribute names. Overrides attr-naming-
201# style.
202#attr-rgx=
203
204# Bad variable names which should always be refused, separated by a comma.
205bad-names=foo,
206 bar,
207 baz,
208 toto,
209 tutu,
210 tata
211
212# Naming style matching correct class attribute names.
213class-attribute-naming-style=any
214
215# Regular expression matching correct class attribute names. Overrides class-
216# attribute-naming-style.
217#class-attribute-rgx=
218
219# Naming style matching correct class names.
220class-naming-style=PascalCase
221
222# Regular expression matching correct class names. Overrides class-naming-
223# style.
224#class-rgx=
225
226# Naming style matching correct constant names.
227const-naming-style=UPPER_CASE
228
229# Regular expression matching correct constant names. Overrides const-naming-
230# style.
231#const-rgx=
232
233# Minimum line length for functions/classes that require docstrings, shorter
234# ones are exempt.
235docstring-min-length=-1
236
237# Naming style matching correct function names.
238function-naming-style=snake_case
239
240# Regular expression matching correct function names. Overrides function-
241# naming-style.
242#function-rgx=
243
244# Good variable names which should always be accepted, separated by a comma.
245good-names=i,
246 j,
247 k,
248 ex,
249 Run,
250 _
251
252# Include a hint for the correct naming format with invalid-name.
253include-naming-hint=no
254
255# Naming style matching correct inline iteration names.
256inlinevar-naming-style=any
257
258# Regular expression matching correct inline iteration names. Overrides
259# inlinevar-naming-style.
260#inlinevar-rgx=
261
262# Naming style matching correct method names.
263method-naming-style=snake_case
264
265# Regular expression matching correct method names. Overrides method-naming-
266# style.
267#method-rgx=
268
269# Naming style matching correct module names.
270module-naming-style=snake_case
271
272# Regular expression matching correct module names. Overrides module-naming-
273# style.
274#module-rgx=
275
276# Colon-delimited sets of names that determine each other's naming style when
277# the name regexes allow several styles.
278name-group=
279
280# Regular expression which should only match function or class names that do
281# not require a docstring.
282no-docstring-rgx=^_
283
284# List of decorators that produce properties, such as abc.abstractproperty. Add
285# to this list to register other decorators that produce valid properties.
286# These decorators are taken in consideration only for invalid-name.
287property-classes=abc.abstractproperty
288
289# Naming style matching correct variable names.
290variable-naming-style=snake_case
291
292# Regular expression matching correct variable names. Overrides variable-
293# naming-style.
294#variable-rgx=
295
296
297[SIMILARITIES]
298
299# Ignore comments when computing similarities.
300ignore-comments=yes
301
302# Ignore docstrings when computing similarities.
303ignore-docstrings=yes
304
305# Ignore imports when computing similarities.
306ignore-imports=no
307
308# Minimum lines number of a similarity.
309min-similarity-lines=4
310
311
312[FORMAT]
313
314# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
315expected-line-ending-format=
316
317# Regexp for a line that is allowed to be longer than the limit.
318ignore-long-lines=^\s*(# )?<?https?://\S+>?$
319
320# Number of spaces of indent required inside a hanging or continued line.
321indent-after-paren=4
322
323# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
324# tab).
jonathanmetzmand76fe9a2020-01-13 09:34:28 -0800325indent-string=' '
jonathanmetzman363d00b2020-01-10 10:19:42 -0800326
327# Maximum number of characters on a single line.
328max-line-length=100
329
330# Maximum number of lines in a module.
331max-module-lines=1000
332
333# List of optional constructs for which whitespace checking is disabled. `dict-
334# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
335# `trailing-comma` allows a space between comma and closing bracket: (a, ).
336# `empty-line` allows space-only lines.
337no-space-check=trailing-comma,
338 dict-separator
339
340# Allow the body of a class to be on the same line as the declaration if body
341# contains single statement.
342single-line-class-stmt=no
343
344# Allow the body of an if to be on the same line as the test if there is no
345# else.
346single-line-if-stmt=no
347
348
349[MISCELLANEOUS]
350
351# List of note tags to take in consideration, separated by a comma.
352notes=FIXME,
353 XXX,
354 TODO
355
356
357[TYPECHECK]
358
359# List of decorators that produce context managers, such as
360# contextlib.contextmanager. Add to this list to register other decorators that
361# produce valid context managers.
362contextmanager-decorators=contextlib.contextmanager
363
364# List of members which are set dynamically and missed by pylint inference
365# system, and so shouldn't trigger E1101 when accessed. Python regular
366# expressions are accepted.
367generated-members=
368
369# Tells whether missing members accessed in mixin class should be ignored. A
370# mixin class is detected if its name ends with "mixin" (case insensitive).
371ignore-mixin-members=yes
372
373# Tells whether to warn about missing members when the owner of the attribute
374# is inferred to be None.
375ignore-none=yes
376
377# This flag controls whether pylint should warn about no-member and similar
378# checks whenever an opaque object is returned when inferring. The inference
379# can return multiple potential results while evaluating a Python object, but
380# some branches might not be evaluated, which results in partial inference. In
381# that case, it might be useful to still emit no-member and other checks for
382# the rest of the inferred objects.
383ignore-on-opaque-inference=yes
384
385# List of class names for which member attributes should not be checked (useful
386# for classes with dynamically set attributes). This supports the use of
387# qualified names.
388ignored-classes=optparse.Values,thread._local,_thread._local
389
390# List of module names for which member attributes should not be checked
391# (useful for modules/projects where namespaces are manipulated during runtime
392# and thus existing member attributes cannot be deduced by static analysis). It
393# supports qualified module names, as well as Unix pattern matching.
394ignored-modules=
395
396# Show a hint with possible names when a member name was not found. The aspect
397# of finding the hint is based on edit distance.
398missing-member-hint=yes
399
400# The minimum edit distance a name should have in order to be considered a
401# similar match for a missing member name.
402missing-member-hint-distance=1
403
404# The total number of similar names that should be taken in consideration when
405# showing a hint for a missing member.
406missing-member-max-choices=1
407
408# List of decorators that change the signature of a decorated function.
409signature-mutators=
410
411
412[SPELLING]
413
414# Limits count of emitted suggestions for spelling mistakes.
415max-spelling-suggestions=4
416
417# Spelling dictionary name. Available dictionaries: none. To make it work,
418# install the python-enchant package.
419spelling-dict=
420
421# List of comma separated words that should not be checked.
422spelling-ignore-words=
423
424# A path to a file that contains the private dictionary; one word per line.
425spelling-private-dict-file=
426
427# Tells whether to store unknown words to the private dictionary (see the
428# --spelling-private-dict-file option) instead of raising a message.
429spelling-store-unknown-words=no
430
431
432[VARIABLES]
433
434# List of additional names supposed to be defined in builtins. Remember that
435# you should avoid defining new builtins when possible.
436additional-builtins=
437
438# Tells whether unused global variables should be treated as a violation.
439allow-global-unused-variables=yes
440
441# List of strings which can identify a callback function by name. A callback
442# name must start or end with one of those strings.
443callbacks=cb_,
444 _cb
445
446# A regular expression matching the name of dummy variables (i.e. expected to
447# not be used).
448dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
449
450# Argument names that match this expression will be ignored. Default to name
451# with leading underscore.
452ignored-argument-names=_.*|^ignored_|^unused_
453
454# Tells whether we should check for unused import in __init__ files.
455init-import=no
456
457# List of qualified module names which can have objects that can redefine
458# builtins.
459redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io
460
461
462[LOGGING]
463
464# Format style used to check logging format string. `old` means using %
465# formatting, `new` is for `{}` formatting,and `fstr` is for f-strings.
466logging-format-style=old
467
468# Logging modules to check that the string format arguments are in logging
469# function parameter format.
470logging-modules=logging
471
472
473[STRING]
474
475# This flag controls whether the implicit-str-concat-in-sequence should
476# generate a warning on implicit string concatenation in sequences defined over
477# several lines.
478check-str-concat-over-line-jumps=no
479
480
481[IMPORTS]
482
483# List of modules that can be imported at any level, not just the top level
484# one.
485allow-any-import-level=
486
487# Allow wildcard imports from modules that define __all__.
488allow-wildcard-with-all=no
489
490# Analyse import fallback blocks. This can be used to support both Python 2 and
491# 3 compatible code, which means that the block might have code that exists
492# only in one or another interpreter, leading to false positives when analysed.
493analyse-fallback-blocks=no
494
495# Deprecated modules which should not be used, separated by a comma.
496deprecated-modules=optparse,tkinter.tix
497
498# Create a graph of external dependencies in the given file (report RP0402 must
499# not be disabled).
500ext-import-graph=
501
502# Create a graph of every (i.e. internal and external) dependencies in the
503# given file (report RP0402 must not be disabled).
504import-graph=
505
506# Create a graph of internal dependencies in the given file (report RP0402 must
507# not be disabled).
508int-import-graph=
509
510# Force import order to recognize a module as part of the standard
511# compatibility libraries.
512known-standard-library=
513
514# Force import order to recognize a module as part of a third party library.
515known-third-party=enchant
516
517# Couples of modules and preferred modules, separated by a comma.
518preferred-modules=
519
520
521[CLASSES]
522
523# List of method names used to declare (i.e. assign) instance attributes.
524defining-attr-methods=__init__,
525 __new__,
526 setUp,
527 __post_init__
528
529# List of member names, which should be excluded from the protected access
530# warning.
531exclude-protected=_asdict,
532 _fields,
533 _replace,
534 _source,
535 _make
536
537# List of valid names for the first argument in a class method.
538valid-classmethod-first-arg=cls
539
540# List of valid names for the first argument in a metaclass class method.
541valid-metaclass-classmethod-first-arg=cls
542
543
544[DESIGN]
545
546# Maximum number of arguments for function / method.
547max-args=5
548
549# Maximum number of attributes for a class (see R0902).
550max-attributes=7
551
552# Maximum number of boolean expressions in an if statement (see R0916).
553max-bool-expr=5
554
555# Maximum number of branch for function / method body.
556max-branches=12
557
558# Maximum number of locals for function / method body.
559max-locals=15
560
561# Maximum number of parents for a class (see R0901).
562max-parents=7
563
564# Maximum number of public methods for a class (see R0904).
565max-public-methods=20
566
567# Maximum number of return / yield for function / method body.
568max-returns=6
569
570# Maximum number of statements in function / method body.
571max-statements=50
572
573# Minimum number of public methods for a class (see R0903).
574min-public-methods=2
575
576
577[EXCEPTIONS]
578
579# Exceptions that will emit a warning when being caught. Defaults to
580# "BaseException, Exception".
581overgeneral-exceptions=BaseException,
582 Exception
583
jonathanmetzman363d00b2020-01-10 10:19:42 -0800584# Maximum number of characters on a single line.
585max-line-length=80