1# lint Python modules using external checkers. 2# 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 5# to: 6# * handle message activation / deactivation at the module level 7# * handle some basic but necessary stats'data (number of classes, methods...) 8# 9[MASTER] 10 11 12# Specify a configuration file. 13#rcfile= 14 15# Profiled execution. 16profile=no 17 18# Add <file or directory> to the black list. It should be a base name, not a 19# path. You may set this option multiple times. 20ignore=.svn 21 22# Pickle collected data for later comparisons. 23persistent=yes 24 25# Set the cache size for astng objects. 26cache-size=500 27 28# List of plugins (as comma separated values of python modules names) to load, 29# usually to register additional checkers. 30load-plugins= 31 32 33[MESSAGES CONTROL] 34 35# Enable only checker(s) with the given id(s). This option conflict with the 36# disable-checker option 37#enable-checker= 38 39# Enable all checker(s) except those with the given id(s). This option conflict 40# with the disable-checker option 41#disable-checker= 42 43# Enable all messages in the listed categories. 44#enable-msg-cat= 45 46# Disable all messages in the listed categories. 47#disable-msg-cat= 48 49# Enable the message(s) with the given id(s). 50#enable-msg= 51 52# Disable the message(s) with the given id(s). 53# disable-msg=C0323,W0142,C0301,C0103,C0111,E0213,C0302,C0203,W0703,R0201 54disable-msg=C0301,C0111,C0103,R0201,W0702,C0324 55 56[REPORTS] 57 58# set the output format. Available formats are text, parseable, colorized and 59# html 60output-format=colorized 61 62# Include message's id in output 63include-ids=yes 64 65# Put messages in a separate file for each module / package specified on the 66# command line instead of printing them on stdout. Reports (if any) will be 67# written in a file name "pylint_global.[txt|html]". 68files-output=no 69 70# Tells wether to display a full report or only the messages 71reports=yes 72 73# Python expression which should return a note less than 10 (10 is the highest 74# note).You have access to the variables errors warning, statement which 75# respectivly contain the number of errors / warnings messages and the total 76# number of statements analyzed. This is used by the global evaluation report 77# (R0004). 78evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) 79 80# Add a comment according to your evaluation note. This is used by the global 81# evaluation report (R0004). 82comment=no 83 84# Enable the report(s) with the given id(s). 85#enable-report= 86 87# Disable the report(s) with the given id(s). 88#disable-report= 89 90# checks for 91# * unused variables / imports 92# * undefined variables 93# * redefinition of variable from builtins or from an outer scope 94# * use of variable before assigment 95# 96[VARIABLES] 97 98# Tells wether we should check for unused import in __init__ files. 99init-import=yes 100 101# A regular expression matching names used for dummy variables (i.e. not used). 102dummy-variables-rgx=_|dummy 103 104# List of additional names supposed to be defined in builtins. Remember that 105# you should avoid to define new builtins when possible. 106additional-builtins= 107 108 109# try to find bugs in the code using type inference 110# 111[TYPECHECK] 112 113# Tells wether missing members accessed in mixin class should be ignored. A 114# mixin class is detected if its name ends with "mixin" (case insensitive). 115ignore-mixin-members=yes 116 117# When zope mode is activated, consider the acquired-members option to ignore 118# access to some undefined attributes. 119zope=no 120 121# List of members which are usually get through zope's acquisition mecanism and 122# so shouldn't trigger E0201 when accessed (need zope=yes to be considered). 123acquired-members=REQUEST,acl_users,aq_parent 124 125 126# checks for : 127# * doc strings 128# * modules / classes / functions / methods / arguments / variables name 129# * number of arguments, local variables, branches, returns and statements in 130# functions, methods 131# * required module attributes 132# * dangerous default values as arguments 133# * redefinition of function / method / class 134# * uses of the global statement 135# 136[BASIC] 137 138# Required attributes for module, separated by a comma 139required-attributes= 140 141# Regular expression which should only match functions or classes name which do 142# not require a docstring 143no-docstring-rgx=__.*__ 144 145# Regular expression which should only match correct module names 146module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ 147 148# Regular expression which should only match correct module level names 149const-rgx=(([A-Z_][A-Z1-9_]*)|(__.*__))$ 150 151# Regular expression which should only match correct class names 152class-rgx=[A-Z_][a-zA-Z0-9]+$ 153 154# Regular expression which should only match correct function names 155function-rgx=[a-z_][a-z0-9_]{2,30}$ 156 157# Regular expression which should only match correct method names 158method-rgx=[a-z_][a-z0-9_]{2,30}$ 159 160# Regular expression which should only match correct instance attribute names 161attr-rgx=[a-z_][a-z0-9_]{2,30}$ 162 163# Regular expression which should only match correct argument names 164argument-rgx=[a-z_][a-z0-9_]{2,30}$ 165 166# Regular expression which should only match correct variable names 167variable-rgx=[a-z_][a-z0-9_]{2,30}$ 168 169# Regular expression which should only match correct list comprehension / 170# generator expression variable names 171inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$ 172 173# Good variable names which should always be accepted, separated by a comma 174good-names=i,j,k,ex,Run,_ 175 176# Bad variable names which should always be refused, separated by a comma 177bad-names=foo,bar,baz,toto,tutu,tata 178 179# List of builtins function names that should not be used, separated by a comma 180bad-functions=apply,input 181 182 183# checks for sign of poor/misdesign: 184# * number of methods, attributes, local variables... 185# * size, complexity of functions, methods 186# 187[DESIGN] 188 189# Maximum number of arguments for function / method 190max-args=12 191 192# Maximum number of locals for function / method body 193max-locals=30 194 195# Maximum number of return / yield for function / method body 196max-returns=12 197 198# Maximum number of branch for function / method body 199max-branchs=30 200 201# Maximum number of statements in function / method body 202max-statements=60 203 204# Maximum number of parents for a class (see R0901). 205max-parents=7 206 207# Maximum number of attributes for a class (see R0902). 208max-attributes=20 209 210# Minimum number of public methods for a class (see R0903). 211min-public-methods=0 212 213# Maximum number of public methods for a class (see R0904). 214max-public-methods=20 215 216 217# checks for 218# * external modules dependencies 219# * relative / wildcard imports 220# * cyclic imports 221# * uses of deprecated modules 222# 223[IMPORTS] 224 225# Deprecated modules which should not be used, separated by a comma 226deprecated-modules=regsub,string,TERMIOS,Bastion,rexec 227 228# Create a graph of every (i.e. internal and external) dependencies in the 229# given file (report R0402 must not be disabled) 230import-graph= 231 232# Create a graph of external dependencies in the given file (report R0402 must 233# not be disabled) 234ext-import-graph= 235 236# Create a graph of internal dependencies in the given file (report R0402 must 237# not be disabled) 238int-import-graph= 239 240 241# checks for : 242# * methods without self as first argument 243# * overridden methods signature 244# * access only to existant members via self 245# * attributes not defined in the __init__ method 246# * supported interfaces implementation 247# * unreachable code 248# 249[CLASSES] 250 251# List of interface methods to ignore, separated by a comma. This is used for 252# instance to not check methods defines in Zope's Interface base class. 253# ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by 254 255# List of method names used to declare (i.e. assign) instance attributes. 256defining-attr-methods=__init__,__new__,setUp 257 258 259# checks for similarities and duplicated code. This computation may be 260# memory / CPU intensive, so you should disable it if you experiments some 261# problems. 262# 263[SIMILARITIES] 264 265# Minimum lines number of a similarity. 266min-similarity-lines=5 267 268# Ignore comments when computing similarities. 269ignore-comments=yes 270 271# Ignore docstrings when computing similarities. 272ignore-docstrings=yes 273 274 275# checks for: 276# * warning notes in the code like FIXME, XXX 277# * PEP 263: source code with non ascii character but no encoding declaration 278# 279[MISCELLANEOUS] 280 281# List of note tags to take in consideration, separated by a comma. 282notes=FIXME,XXX,TODO,BUG: 283 284 285# checks for : 286# * unauthorized constructions 287# * strict indentation 288# * line length 289# * use of <> instead of != 290# 291[FORMAT] 292 293# Maximum number of characters on a single line. 294max-line-length=80 295 296# Maximum number of lines in a module 297max-module-lines=1000 298 299# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 300# tab). 301indent-string=' ' 302