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
# Enable the message(s) with the given id(s).
55
# Disable the message(s) with the given id(s).
56
# I0011: *Locally disabling %s*
62
# Set the output format. Available formats are text, parseable, colorized, msvs
63
# (visual studio) and html
64
output-format=parseable
66
# Include message's id in output
69
# Put messages in a separate file for each module / package specified on the
70
# command line instead of printing them on stdout. Reports (if any) will be
71
# written in a file name "pylint_global.[txt|html]".
74
# Tells wether to display a full report or only the messages
77
# Python expression which should return a note less than 10 (10 is the highest
78
# note). You have access to the variables errors warning, statement which
79
# respectivly contain the number of errors / warnings messages and the total
80
# number of statements analyzed. This is used by the global evaluation report
82
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
84
# Add a comment according to your evaluation note. This is used by the global
85
# evaluation report (R0004).
88
# Enable the report(s) with the given id(s).
91
# Disable the report(s) with the given id(s).
97
# * modules / classes / functions / methods / arguments / variables name
98
# * number of arguments, local variables, branchs, returns and statements in
100
# * required module attributes
101
# * dangerous default values as arguments
102
# * redefinition of function / method / class
103
# * uses of the global statement
107
# Required attributes for module, separated by a comma
110
# Regular expression which should only match functions or classes name which do
111
# not require a docstring
112
no-docstring-rgx=__.*__
114
# Regular expression which should only match correct module names
115
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
117
# Regular expression which should only match correct module level names
118
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
120
# Regular expression which should only match correct class names
121
class-rgx=[A-Z_][a-zA-Z0-9]+$
123
# Regular expression which should only match correct function names
124
function-rgx=[a-z_][a-z0-9_]{2,30}$
126
# Regular expression which should only match correct method names
127
method-rgx=[a-z_][a-z0-9_]{2,30}$
129
# Regular expression which should only match correct instance attribute names
130
attr-rgx=[a-z_][a-z0-9_]{2,30}$
132
# Regular expression which should only match correct argument names
133
argument-rgx=[a-z_][a-z0-9_]{2,30}$
135
# Regular expression which should only match correct variable names
136
variable-rgx=[a-z_][a-z0-9_]{2,30}$
138
# Regular expression which should only match correct list comprehension /
139
# generator expression variable names
140
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
142
# Good variable names which should always be accepted, separated by a comma
143
good-names=i,j,k,ex,Run,_
145
# Bad variable names which should always be refused, separated by a comma
146
bad-names=foo,bar,baz,toto,tutu,tata
148
# List of builtins function names that should not be used, separated by a comma
149
bad-functions=map,filter,apply,input
152
# try to find bugs in the code using type inference
156
# Tells wether missing members accessed in mixin class should be ignored. A
157
# mixin class is detected if its name ends with "mixin" (case insensitive).
158
ignore-mixin-members=yes
160
# List of classes names for which member attributes should not be checked
161
# (useful for classes with attributes dynamicaly set).
162
ignored-classes=SQLObject
164
# When zope mode is activated, add a predefined set of Zope acquired attributes
165
# to generated-members.
168
# List of members which are set dynamically and missed by pylint inference
169
# system, and so shouldn't trigger E0201 when accessed.
170
generated-members=REQUEST,acl_users,aq_parent
174
# * unused variables / imports
175
# * undefined variables
176
# * redefinition of variable from builtins or from an outer scope
177
# * use of variable before assigment
181
# Tells wether we should check for unused import in __init__ files.
184
# A regular expression matching names used for dummy variables (i.e. not used).
185
dummy-variables-rgx=_|dummy
187
# List of additional names supposed to be defined in builtins. Remember that
188
# you should avoid to define new builtins when possible.
193
# * methods without self as first argument
194
# * overridden methods signature
195
# * access only to existant members via self
196
# * attributes not defined in the __init__ method
197
# * supported interfaces implementation
202
# List of interface methods to ignore, separated by a comma. This is used for
203
# instance to not check methods defines in Zope's Interface base class.
204
ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
206
# List of method names used to declare (i.e. assign) instance attributes.
207
defining-attr-methods=__init__,__new__,setUp
210
# checks for sign of poor/misdesign:
211
# * number of methods, attributes, local variables...
212
# * size, complexity of functions, methods
216
# Maximum number of arguments for function / method
219
# Maximum number of locals for function / method body
222
# Maximum number of return / yield for function / method body
225
# Maximum number of branch for function / method body
228
# Maximum number of statements in function / method body
231
# Maximum number of parents for a class (see R0901).
234
# Maximum number of attributes for a class (see R0902).
237
# Minimum number of public methods for a class (see R0903).
240
# Maximum number of public methods for a class (see R0904).
241
max-public-methods=50
245
# * external modules dependencies
246
# * relative / wildcard imports
248
# * uses of deprecated modules
252
# Deprecated modules which should not be used, separated by a comma
253
deprecated-modules=regsub,string,TERMIOS,Bastion,rexec
255
# Create a graph of every (i.e. internal and external) dependencies in the
256
# given file (report R0402 must not be disabled)
259
# Create a graph of external dependencies in the given file (report R0402 must
263
# Create a graph of internal dependencies in the given file (report R0402 must
269
# * unauthorized constructions
270
# * strict indentation
272
# * use of <> instead of !=
276
# Maximum number of characters on a single line.
279
# Maximum number of lines in a module
280
max-module-lines=1000
282
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
288
# * warning notes in the code like FIXME, XXX
289
# * PEP 263: source code with non ascii character but no encoding declaration
293
# List of note tags to take in consideration, separated by a comma.
297
# checks for similarities and duplicated code. This computation may be
298
# memory / CPU intensive, so you should disable it if you experiments some
303
# Minimum lines number of a similarity.
304
min-similarity-lines=4
306
# Ignore comments when computing similarities.
309
# Ignore docstrings when computing similarities.
310
ignore-docstrings=yes