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