pylintrc revision 2828
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# CDDL HEADER START
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# The contents of this file are subject to the terms of the
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Common Development and Distribution License (the "License").
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# You may not use this file except in compliance with the License.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# See the License for the specific language governing permissions
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# and limitations under the License.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# When distributing Covered Code, include this CDDL HEADER in each
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# If applicable, add the following below this CDDL HEADER, with the
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# fields enclosed by brackets "[]" replaced with your own identifying
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# information: Portions Copyright [yyyy] [name of copyright owner]
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# CDDL HEADER END
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# This file is used to control pylint when checking python source
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Profiled execution.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# Add <file or directory> to the black list. It should be a base name, not a
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# path. You may set this option multiple times.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# Pickle collected data for later comparisons.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smithpersistent=no
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# List of plugins (as comma separated values of python modules names) to load,
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# usually to register additional checkers.
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smithload-plugins=
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith[MESSAGES CONTROL]
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Enable all checker(s) except those with the given id(s). This option
98c1ab155c0e2148f69291b1abe1007c9d5a08e8Satyen Desai# conflicts with the enable-checker option
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaidisable-checker=similarities
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Disable the message(s) with the given id(s).
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# C0103 Invalid name "%s" Used when the const/var/class name doesn't match regex
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# C0302 Too many lines in module
98c1ab155c0e2148f69291b1abe1007c9d5a08e8Satyen Desai# R0901 Too many ancestors (%s/%s)
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# R0902 Too many instance attributes
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# R0904 Too many public methods
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# R0911 Too many return statements
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# R0912 Too many branches
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# R0913 Too many arguments
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# R0914 Too many local variables
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# R0915 Too many statements
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# R0923 Interface not implemented
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# W0141 Used builtin function '%s'
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# W0142 Used * or ** magic
98c1ab155c0e2148f69291b1abe1007c9d5a08e8Satyen Desai# W0614 Unused import %s from wildcard import
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# I0011 Locally disabling %r
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaidisable=C0103,C0302,R0901,R0902,R0904,R0911,R0912,R0913,R0914,R0915,R0923,W0141,W0142,W0614,I0011
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# set the output format. Available formats are text, parseable, colorized, msvs
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# (visual studio) and html
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaioutput-format=text
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Include message's id in output
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiinclude-ids=yes
98c1ab155c0e2148f69291b1abe1007c9d5a08e8Satyen Desai# Put messages in a separate file for each module / package specified on the
98c1ab155c0e2148f69291b1abe1007c9d5a08e8Satyen Desai# command line instead of printing them on stdout. Reports (if any) will be
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# written in a file name "pylint_global.[txt|html]".
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaifiles-output=no
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Tells wether to display a full report or only the messages
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Python expression which should return a note less than 10 (10 is the highest
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# note).You have access to the variables errors warning, statement which
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# respectivly contain the number of errors / warnings messages and the total
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# number of statements analyzed. This is used by the global evaluation report
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaievaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Add a comment according to your evaluation note. This is used by the global
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# evaluation report (R0004).
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# checks for :
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * doc strings
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * modules / classes / functions / methods / arguments / variables name
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * number of arguments, local variables, branchs, returns and statements in
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# functions, methods
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * required module attributes
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * dangerous default values as arguments
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * redefinition of function / method / class
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * uses of the global statement
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Required attributes for module, separated by a comma
98c1ab155c0e2148f69291b1abe1007c9d5a08e8Satyen Desairequired-attributes=
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# Regular expression which should only match functions or classes name which do
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# not require a docstring
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desaino-docstring-rgx=__.*__
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# Regular expression which should only match correct module names
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desaimodule-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# Regular expression which should only match correct module level names
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desaiconst-rgx=(([A-Z_][A-Z1-9_]*)|(__.*__))$
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# Regular expression which should only match correct class names
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desaiclass-rgx=[A-Z_][a-zA-Z0-9]+$
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# Regular expression which should only match correct function names
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desaifunction-rgx=[a-z_][a-z0-9_]{2,30}$
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# Regular expression which should only match correct method names
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desaimethod-rgx=[a-z_][a-z0-9_]{2,30}$
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# Regular expression which should only match correct instance attribute names
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desaiattr-rgx=[a-z_][a-z0-9_]{2,30}$
81ed0aaa8456bd5c6a54e7797258b1f182eb1f5bSatyen Desai# Regular expression which should only match correct argument names
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiargument-rgx=[a-z_][a-z0-9_]{2,30}$
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Regular expression which should only match correct variable names
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaivariable-rgx=[a-z_][a-z0-9_]{2,30}$
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Regular expression which should only match correct list comprehension /
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# generator expression variable names
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiinlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Good variable names which should always be accepted, separated by a comma
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaigood-names=i,j,k,ex,Run,_
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Bad variable names which should always be refused, separated by a comma
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaibad-names=foo,bar,baz,toto,tutu,tata
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# List of builtins function names that should not be used, separated by a comma
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaibad-functions=map,filter,apply,input
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# try to find bugs in the code using type inference
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Tells wether missing members accessed in mixin class should be ignored. A
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# mixin class is detected if its name ends with "mixin" (case insensitive).
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiignore-mixin-members=yes
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# When zope mode is activated, consider the acquired-members option to ignore
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# access to some undefined attributes.
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# List of members which are usually get through zope's acquisition mecanism and
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# so shouldn't trigger E0201 when accessed (need zope=yes to be considered).
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiacquired-members=REQUEST,acl_users,aq_parent
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * unused variables / imports
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * undefined variables
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * redefinition of variable from builtins or from an outer scope
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * use of variable before assigment
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Tells wether we should check for unused import in __init__ files.
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiinit-import=yes
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# A regular expression matching names used for dummy variables (i.e. not used).
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaidummy-variables-rgx=_|dummy
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# List of additional names supposed to be defined in builtins. Remember that
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# you should avoid to define new builtins when possible.
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# In this case we define '_' (the function name for gettext) so that pylint
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# doesn't complain about things like _("this is i18n string")
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiadditional-builtins=_
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# checks for :
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * methods without self as first argument
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * overridden methods signature
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * access only to existant members via self
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * attributes not defined in the __init__ method
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * supported interfaces implementation
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * unreachable code
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# List of interface methods to ignore, separated by a comma. This is used for
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# instance to not check methods defines in Zope's Interface base class.
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# List of method names used to declare (i.e. assign) instance attributes.
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaidefining-attr-methods=__init__,__new__,setUp
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# checks for sign of poor/misdesign:
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * number of methods, attributes, local variables...
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * size, complexity of functions, methods
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Maximum number of arguments for function / method
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Maximum number of locals for function / method body
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaimax-locals=50
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Maximum number of return / yield for function / method body
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaimax-returns=6
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Maximum number of branch for function / method body
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaimax-branchs=25
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Maximum number of statements in function / method body
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaimax-statements=100
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Maximum number of parents for a class (see R0901).
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaimax-parents=7
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Maximum number of attributes for a class (see R0902).
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaimax-attributes=7
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Minimum number of public methods for a class (see R0903).
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaimin-public-methods=0
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Maximum number of public methods for a class (see R0904).
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaimax-public-methods=20
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * external modules dependencies
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * relative / wildcard imports
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * cyclic imports
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * uses of deprecated modules
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Deprecated modules which should not be used, separated by a comma
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaideprecated-modules=regsub,string,TERMIOS,Bastion,rexec
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Create a graph of every (i.e. internal and external) dependencies in the
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# given file (report R0402 must not be disabled)
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiimport-graph=
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Create a graph of external dependencies in the given file (report R0402 must
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# not be disabled)
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiext-import-graph=
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# Create a graph of internal dependencies in the given file (report R0402 must
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# not be disabled)
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desaiint-import-graph=
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# checks for :
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * unauthorized constructions
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * strict indentation
d3c5729464159cab52ada7ff4b6c26b91bd4dcb4Satyen Desai# * line length
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# * use of <> instead of !=
00cf03a1ca1624dac1fecc85f43fc34f8806aff9Luke Smith# Maximum number of characters on a single line.