1
# lint Python modules using external checkers.
3
# This is the main checker controling 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...)
10
# Set the cache size for astng objects.
14
# Disable some checkers
15
disable-checker=typecheck,design,similarities
17
# Disable all messages in the listed categories.
20
# Disable the message(s) with the given id(s).
21
# :E0101: *Explicit return in __init__*
22
# :W0142: *Used * or ** magic*
23
# :W0221: *Arguments number differs from %s method* (pylint is confused by * and **)
24
# :W0613: *Unused argument %r* (We get lots of these from interfaces)
25
# :W0621: *Redefining name %r from outer scope (line %s)* (pylint does a poor evaluation)
26
# :W0622: *Redefining built-in '%r'
27
disable-msg=E0101,W0142,W0221,W0613,W0621,W0622
31
# Tells wether to display a full report or only the messages
37
# * modules / classes / functions / methods / arguments / variables name
38
# * number of arguments, local variables, branchs, returns and statements in
40
# * required module attributes
41
# * dangerous default values as arguments
42
# * redefinition of function / method / class
43
# * uses of the global statement
48
# Required attributes for module, separated by a comma
51
# Regular expression which should only match functions or classes name which do
52
# not require a docstring
53
no-docstring-rgx=(__.*__|setUp|tearDown)
55
# Regular expression which should only match correct module names
56
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
58
# Regular expression which should only match correct module level names
59
const-rgx=([a-z_][a-z0-9_]*|[A-Z_][A-Z0-9_]*)$
61
# Regular expression which should only match correct class names
62
class-rgx=[A-Z_][a-zA-Z0-9]+$
64
# Regular expression which should only match correct function names
65
function-rgx=[a-z_][a-zA-Z0-9_]*$
67
# Regular expression which should only match correct method names
68
method-rgx=[a-z_][a-zA-Z0-9_]*$
70
# Regular expression which should only match correct instance attribute names
71
attr-rgx=[a-z_][a-zA-Z0-9_]*$
73
# Regular expression which should only match correct argument names
74
argument-rgx=[a-z_][a-zA-Z0-9_]{1,30}$
76
# Regular expression which should only match correct variable names
77
# They are normally all lowercase, but when a constant, they are all uppercase.
78
variable-rgx=([a-z_][a-z0-9_]*|[A-Z_][A-Z0-9_]*)$
80
# Regular expression which should only match correct list comprehension /
81
# generator expression variable names
82
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
84
# Good variable names which should always be accepted, separated by a comma
85
# Update this to supress warnings about inherrited names (C0103)
86
good-names=_,a,b,c,i,j,k,v,d,f,s,t,l,ex,_,orderBy,getByName,clauseTables
88
# Bad variable names which should always be refused, separated by a comma
89
bad-names=foo,bar,baz,toto,tutu,tata
91
# List of builtins function names that should not be used, separated by a comma
92
bad-functions=apply,input,reduce
96
# * warning notes in the code like FIXME, XXX
97
# * PEP 263: source code with non ascii character but no encoding declaration
100
# List of note tags to take in consideration, separated by a comma.
101
notes=FIXME,XXX,TODO,fixme,todo
105
# * unauthorized constructions
106
# * strict indentation
108
# * use of <> instead of !=
113
# Maximum number of characters on a single line.
116
# Maximum number of lines in a module
117
max-module-lines=1500
119
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1