# PyLint config for apitools code. # # NOTES: # # - Rules for test / demo code are generated into 'pylintrc_reduced' # as deltas from this configuration by the 'run_pylint.py' script. # # - 'RATIONALE: API mapping' as a defense for non-default settings is # based on the fact that this library maps APIs which are outside our # control, and adhering to the out-of-the-box defaults would induce # breakage / complexity in those mappings # [MASTER] # Specify a configuration file. # DEFAULT: rcfile= # Python code to execute, usually for sys.path manipulation such as # pygtk.require(). # DEFAULT: init-hook= # Profiled execution. # DEFAULT: profile=no # Add files or directories to the blacklist. They should be base names, not # paths. # DEFAULT: ignore=CVS # NOTE: This path must be relative due to the use of # os.walk in astroid.modutils.get_module_files. # Pickle collected data for later comparisons. # DEFAULT: persistent=yes # List of plugins (as comma separated values of python modules names) to load, # usually to register additional checkers. # DEFAULT: load-plugins= # DEPRECATED # DEFAULT: include-ids=no # DEPRECATED # DEFAULT: symbols=no [MESSAGES CONTROL] # TODO: remove cyclic-import. disable = cyclic-import, fixme, import-error, locally-disabled, locally-enabled, no-member, no-name-in-module, no-self-use, super-on-old-class, too-many-arguments, too-many-function-args, [REPORTS] # Set the output format. Available formats are text, parseable, colorized, msvs # (visual studio) and html. You can also give a reporter class, eg # mypackage.mymodule.MyReporterClass. # DEFAULT: output-format=text # Put messages in a separate file for each module / package specified on the # command line instead of printing them on stdout. Reports (if any) will be # written in a file name "pylint_global.[txt|html]". # DEFAULT: files-output=no # Tells whether to display a full report or only the messages # DEFAULT: reports=yes # RATIONALE: run from Travis / tox, and don't need / want to parse output. reports=no # Python expression which should return a note less than 10 (10 is the highest # note). You have access to the variables errors warning, statement which # respectively contain the number of errors / warnings messages and the total # number of statements analyzed. This is used by the global evaluation report # (RP0004). # DEFAULT: evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) # Add a comment according to your evaluation note. This is used by the global # evaluation report (RP0004). # DEFAULT: comment=no # Template used to display messages. This is a python new-style format string # used to format the message information. See doc for all details #msg-template= [SIMILARITIES] # Minimum lines number of a similarity. # DEFAULT: min-similarity-lines=4 min-similarity-lines=15 # Ignore comments when computing similarities. # DEFAULT: ignore-comments=yes # Ignore docstrings when computing similarities. # DEFAULT: ignore-docstrings=yes # Ignore imports when computing similarities. # DEFAULT: ignore-imports=no ignore-imports=yes [VARIABLES] # Tells whether we should check for unused import in __init__ files. # DEFAULT: init-import=no # A regular expression matching the name of dummy variables (i.e. expectedly # not used). dummy-variables-rgx=^\*{0,2}(_$|unused_|dummy_) # List of additional names supposed to be defined in builtins. Remember that # you should avoid to define new builtins when possible. # DEFAULT: additional-builtins= [LOGGING] # Logging modules to check that the string format arguments are in logging # function parameter format # DEFAULT: logging-modules=logging [FORMAT] # Maximum number of characters on a single line. # DEFAULT: max-line-length=80 # Regexp for a line that is allowed to be longer than the limit. # DEFAULT: ignore-long-lines=^\s*(# )?<?https?://\S+>?$ # Allow the body of an if to be on the same line as the test if there is no # else. # DEFAULT: single-line-if-stmt=no # List of optional constructs for which whitespace checking is disabled # DEFAULT: no-space-check=trailing-comma,dict-separator # RATIONALE: pylint ignores whitespace checks around the # constructs "dict-separator" (cases like {1:2}) and # "trailing-comma" (cases like {1: 2, }). # By setting "no-space-check" to empty whitespace checks will be # enforced around both constructs. no-space-check = # Maximum number of lines in a module # DEFAULT: max-module-lines=1000 max-module-lines=1500 # String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 # tab). # DEFAULT: indent-string=' ' # Number of spaces of indent required inside a hanging or continued line. # DEFAULT: indent-after-paren=4 [MISCELLANEOUS] # List of note tags to take in consideration, separated by a comma. # DEFAULT: notes=FIXME,XXX,TODO [BASIC] # Regular expression which should only match function or class names that do # not require a docstring. # DEFAULT: no-docstring-rgx=__.*__ no-docstring-rgx=(__.*__|main) # Minimum line length for functions/classes that require docstrings, shorter # ones are exempt. # DEFAULT: docstring-min-length=-1 docstring-min-length=10 # Regular expression which should only match correct module names. The # leading underscore is sanctioned for private modules by Google's style # guide. module-rgx=^(_?[a-z][a-z0-9_]*)|__init__$ # Regular expression matching correct constant names # DEFAULT: const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$ const-rgx=^(_?[A-Z][A-Z0-9_]*|__[a-z0-9_]+__|_?[a-z][a-z0-9_]*)$ # Regular expression matching correct class attribute names # DEFAULT: class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ class-attribute-rgx=^(_?[A-Z][A-Z0-9_]*|__[a-z0-9_]+__|_?[a-z][a-z0-9_]*)$ # Regular expression matching correct class names # DEFAULT: class-rgx=[A-Z_][a-zA-Z0-9]+$ class-rgx=^_?[A-Z][a-zA-Z0-9]*$ # Regular expression which should only match correct function names. # 'camel_case' and 'snake_case' group names are used for consistency of naming # styles across functions and methods. function-rgx=^(?:(?P<camel_case>_?[A-Z][a-zA-Z0-9]*)|(?P<snake_case>_?[a-z][a-z0-9_]*))$ # Regular expression which should only match correct method names. # 'camel_case' and 'snake_case' group names are used for consistency of naming # styles across functions and methods. 'exempt' indicates a name which is # consistent with all naming styles. method-rgx=^(?:(?P<exempt>__[a-z0-9_]+__|next)|(?P<camel_case>_{0,2}[A-Z][a-zA-Z0-9]*)|(?P<snake_case>_{0,2}[a-z][a-z0-9_]*))$ # Regular expression matching correct attribute names # DEFAULT: attr-rgx=[a-z_][a-z0-9_]{2,30}$ attr-rgx=^_{0,2}[a-z][a-z0-9_]*$ # Regular expression matching correct argument names # DEFAULT: argument-rgx=[a-z_][a-z0-9_]{2,30}$ argument-rgx=^[a-z][a-z0-9_]*$ # Regular expression matching correct variable names # DEFAULT: variable-rgx=[a-z_][a-z0-9_]{2,30}$ variable-rgx=^[a-z][a-z0-9_]*$ # Regular expression matching correct inline iteration names # DEFAULT: inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$ inlinevar-rgx=^[a-z][a-z0-9_]*$ # Good variable names which should always be accepted, separated by a comma # DEFAULT: good-names=i,j,k,ex,Run,_ good-names=main,_ # Bad variable names which should always be refused, separated by a comma # DEFAULT: bad-names=foo,bar,baz,toto,tutu,tata bad-names= # List of builtins function names that should not be used, separated by a comma # <http://go/python-style#Deprecated_Language_Features> bad-functions=input,apply,reduce [TYPECHECK] # Tells whether missing members accessed in mixin class should be ignored. A # mixin class is detected if its name ends with "mixin" (case insensitive). # DEFAULT: ignore-mixin-members=yes # List of module names for which member attributes should not be checked # (useful for modules/projects where namespaces are manipulated during runtime # and thus existing member attributes cannot be deduced by static analysis # DEFAULT: ignored-modules= # List of classes names for which member attributes should not be checked # (useful for classes with attributes dynamically set). # DEFAULT: ignored-classes=SQLObject # When zope mode is activated, add a predefined set of Zope acquired attributes # to generated-members. # DEFAULT: zope=no # List of members which are set dynamically and missed by pylint inference # system, and so shouldn't trigger E0201 when accessed. Python regular # expressions are accepted. # DEFAULT: generated-members=REQUEST,acl_users,aq_parent [IMPORTS] # Deprecated modules which should not be used, separated by a comma # DEFAULT: deprecated-modules=regsub,TERMIOS,Bastion,rexec # Create a graph of every (i.e. internal and external) dependencies in the # given file (report RP0402 must not be disabled) # DEFAULT: import-graph= # Create a graph of external dependencies in the given file (report RP0402 must # not be disabled) # DEFAULT: ext-import-graph= # Create a graph of internal dependencies in the given file (report RP0402 must # not be disabled) # DEFAULT: int-import-graph= [CLASSES] # List of interface methods to ignore, separated by a comma. This is used for # instance to not check methods defines in Zope's Interface base class. # DEFAULT: ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by # List of method names used to declare (i.e. assign) instance attributes. # DEFAULT: defining-attr-methods=__init__,__new__,setUp # List of valid names for the first argument in a class method. # DEFAULT: valid-classmethod-first-arg=cls # List of valid names for the first argument in a metaclass class method. # DEFAULT: valid-metaclass-classmethod-first-arg=mcs [DESIGN] # Maximum number of arguments for function / method # DEFAULT: max-args=5 # RATIONALE: API-mapping max-args = 14 # Argument names that match this expression will be ignored. Default to name # with leading underscore # DEFAULT: ignored-argument-names=_.* # Maximum number of locals for function / method body # DEFAULT: max-locals=15 max-locals=24 # Maximum number of return / yield for function / method body # DEFAULT: max-returns=6 max-returns=9 # Maximum number of branch for function / method body # DEFAULT: max-branches=12 max-branches=21 # Maximum number of statements in function / method body # DEFAULT: max-statements=50 # Maximum number of parents for a class (see R0901). # DEFAULT: max-parents=7 # Maximum number of attributes for a class (see R0902). # DEFAULT: max-attributes=7 # RATIONALE: API mapping max-attributes=19 # Minimum number of public methods for a class (see R0903). # DEFAULT: min-public-methods=2 # RATIONALE: context mgrs may have *no* public methods min-public-methods=0 # Maximum number of public methods for a class (see R0904). # DEFAULT: max-public-methods=20 # RATIONALE: API mapping max-public-methods=40 [ELIF] max-nested-blocks=6 [EXCEPTIONS] # Exceptions that will emit a warning when being caught. Defaults to # "Exception" # DEFAULT: overgeneral-exceptions=Exception