1
# lint Python modules using external checkers.
3
# This is the main checker controlling the other ones and the reports
4
# generation. It is itself both a raw checker and an astng checker in order
6
# * handle message activation / deactivation at the module level
7
# * handle some basic but necessary stats'data (number of classes, methods...)
11
# Specify a configuration file.
14
# Python code to execute, usually for sys.path manipulation such as
21
# Add <file or directory> to the black list. It should be a base name, not a
22
# path. You may set this option multiple times.
25
# Pickle collected data for later comparisons.
28
# Set the cache size for astng objects.
31
# List of plugins (as comma separated values of python modules names) to load,
32
# usually to register additional checkers.
38
# Enable only checker(s) with the given id(s). This option conflicts with the
39
# disable-checker option
42
# Enable all checker(s) except those with the given id(s). This option
43
# conflicts with the enable-checker option
46
# Enable all messages in the listed categories.
49
# Disable all messages in the listed categories.
52
# Disable the message(s) with the given id(s) or categories
53
# W0142: *Used * or ** magic*
54
# W0613: Unused argument 'yyy'
55
# C0302: Too many lines in module
56
disable=R,I,W0142,W0613,C0302
61
# Set the output format. Available formats are text, parseable, colorized, msvs
62
# (visual studio) and html
63
output-format=colorized
65
# Include message's id in output
68
# Put messages in a separate file for each module / package specified on the
69
# command line instead of printing them on stdout. Reports (if any) will be
70
# written in a file name "pylint_global.[txt|html]".
73
# Tells whether to display a full report or only the messages
76
# Python expression which should return a note less than 10 (10 is the highest
77
# note). You have access to the variables errors warning, statement which
78
# respectively contain the number of errors / warnings messages and the total
79
# number of statements analyzed. This is used by the global evaluation report
81
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
83
# Add a comment according to your evaluation note. This is used by the global
84
# evaluation report (R0004).
87
# Enable the report(s) with the given id(s).
90
# Disable the report(s) with the given id(s).
94
# try to find bugs in the code using type inference
98
# Tells whether missing members accessed in mixin class should be ignored. A
99
# mixin class is detected if its name ends with "mixin" (case insensitive).
100
ignore-mixin-members=yes
102
# List of classes names for which member attributes should not be checked
103
# (useful for classes with attributes dynamically set).
106
# When zope mode is activated, add a predefined set of Zope acquired attributes
107
# to generated-members.
110
# List of members which are set dynamically and missed by pylint inference
111
# system, and so shouldn't trigger E0201 when accessed.
112
generated-members=REQUEST,acl_users,aq_parent
116
# * unused variables / imports
117
# * undefined variables
118
# * redefinition of variable from builtins or from an outer scope
119
# * use of variable before assignment
123
# Tells whether we should check for unused import in __init__ files.
126
# A regular expression matching names used for dummy variables (i.e. not used).
127
dummy-variables-rgx=_|dummy
129
# List of additional names supposed to be defined in builtins. Remember that
130
# you should avoid to define new builtins when possible.
136
# * modules / classes / functions / methods / arguments / variables name
137
# * number of arguments, local variables, branches, returns and statements in
139
# * required module attributes
140
# * dangerous default values as arguments
141
# * redefinition of function / method / class
142
# * uses of the global statement
146
# Required attributes for module, separated by a comma
149
# Regular expression which should only match functions or classes name which do
150
# not require a docstring
151
no-docstring-rgx=(__.*__|setUp|tearDown)
153
# Regular expression which should only match correct module names
154
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
156
# Regular expression which should only match correct module level names
157
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
159
# Regular expression which should only match correct class names
160
class-rgx=[A-Z_][a-zA-Z0-9]+$
162
# Regular expression which should only match correct function names
163
function-rgx=[a-z_][a-z0-9_]{2,79}$
165
# Regular expression which should only match correct method names
166
method-rgx=([a-z_][a-z0-9_]{2,79}$|setUp|tearDown)
168
# Regular expression which should only match correct instance attribute names
169
attr-rgx=[a-z_][a-z0-9_]{1,30}$
171
# Regular expression which should only match correct argument names
172
argument-rgx=[a-z_][a-z0-9_]{1,30}$
174
# Regular expression which should only match correct variable names
175
variable-rgx=[a-z_][a-z0-9_]{1,30}$
177
# Regular expression which should only match correct list comprehension /
178
# generator expression variable names
179
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
181
# Good variable names which should always be accepted, separated by a comma
182
good-names=d,e,f,g,i,j,k,ex,logger,Run,_
184
# Bad variable names which should always be refused, separated by a comma
185
bad-names=foo,bar,baz,toto,tutu,tata
187
# List of builtins function names that should not be used, separated by a comma
188
bad-functions=apply,input
191
# checks for sign of poor/misdesign:
192
# * number of methods, attributes, local variables...
193
# * size, complexity of functions, methods
197
# Maximum number of arguments for function / method
200
# Maximum number of locals for function / method body
203
# Maximum number of return / yield for function / method body
206
# Maximum number of branch for function / method body
209
# Maximum number of statements in function / method body
212
# Maximum number of parents for a class (see R0901).
215
# Maximum number of attributes for a class (see R0902).
218
# Minimum number of public methods for a class (see R0903).
221
# Maximum number of public methods for a class (see R0904).
222
max-public-methods=20
226
# * methods without self as first argument
227
# * overridden methods signature
228
# * access only to existent members via self
229
# * attributes not defined in the __init__ method
230
# * supported interfaces implementation
235
# List of interface methods to ignore, separated by a comma. This is used for
236
# instance to not check methods defines in Zopes Interface base class.
237
#ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by,providedBy
239
# List of method names used to declare (i.e. assign) instance attributes.
240
defining-attr-methods=__init__,__new__,setUp
244
# * external modules dependencies
245
# * relative / wildcard imports
247
# * uses of deprecated modules
251
# Deprecated modules which should not be used, separated by a comma
252
deprecated-modules=regsub,string,TERMIOS,Bastion,rexec
254
# Create a graph of every (i.e. internal and external) dependencies in the
255
# given file (report RP0402 must not be disabled)
258
# Create a graph of external dependencies in the given file (report RP0402 must
262
# Create a graph of internal dependencies in the given file (report RP0402 must
268
# * unauthorized constructions
269
# * strict indentation
271
# * use of <> instead of !=
275
# Maximum number of characters on a single line.
278
# Maximum number of lines in a module
279
max-module-lines=2000
281
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
286
# checks for similarities and duplicated code. This computation may be
287
# memory / CPU intensive, so you should disable it if you experiments some
292
# Minimum lines number of a similarity.
293
min-similarity-lines=4
295
# Ignore comments when computing similarities.
298
# Ignore docstrings when computing similarities.
299
ignore-docstrings=yes
303
# * warning notes in the code like FIXME, XXX
304
# * PEP 263: source code with non ascii character but no encoding declaration
308
# List of note tags to take in consideration, separated by a comma.
309
notes=FIXME,XXX,TODO,fixme,xxx,todo