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