0001 #
0002 # Licensed to the Apache Software Foundation (ASF) under one or more
0003 # contributor license agreements. See the NOTICE file distributed with
0004 # this work for additional information regarding copyright ownership.
0005 # The ASF licenses this file to You under the Apache License, Version 2.0
0006 # (the "License"); you may not use this file except in compliance with
0007 # the License. You may obtain a copy of the License at
0008 #
0009 # http://www.apache.org/licenses/LICENSE-2.0
0010 #
0011 # Unless required by applicable law or agreed to in writing, software
0012 # distributed under the License is distributed on an "AS IS" BASIS,
0013 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014 # See the License for the specific language governing permissions and
0015 # limitations under the License.
0016 #
0017
0018 [MASTER]
0019
0020 # Specify a configuration file.
0021 #rcfile=
0022
0023 # Python code to execute, usually for sys.path manipulation such as
0024 # pygtk.require().
0025 #init-hook=
0026
0027 # Profiled execution.
0028 profile=no
0029
0030 # Add files or directories to the blacklist. They should be base names, not
0031 # paths.
0032 ignore=pyspark.heapq3
0033
0034 # Pickle collected data for later comparisons.
0035 persistent=yes
0036
0037 # List of plugins (as comma separated values of python modules names) to load,
0038 # usually to register additional checkers.
0039 load-plugins=
0040
0041 # Use multiple processes to speed up Pylint.
0042 jobs=1
0043
0044 # Allow loading of arbitrary C extensions. Extensions are imported into the
0045 # active Python interpreter and may run arbitrary code.
0046 unsafe-load-any-extension=no
0047
0048 # A comma-separated list of package or module names from where C extensions may
0049 # be loaded. Extensions are loading into the active Python interpreter and may
0050 # run arbitrary code
0051 extension-pkg-whitelist=
0052
0053 # Allow optimization of some AST trees. This will activate a peephole AST
0054 # optimizer, which will apply various small optimizations. For instance, it can
0055 # be used to obtain the result of joining multiple strings with the addition
0056 # operator. Joining a lot of strings can lead to a maximum recursion error in
0057 # Pylint and this flag can prevent that. It has one side effect, the resulting
0058 # AST will be different than the one from reality.
0059 optimize-ast=no
0060
0061
0062 [MESSAGES CONTROL]
0063
0064 # Only show warnings with the listed confidence levels. Leave empty to show
0065 # all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
0066 confidence=
0067
0068 # Enable the message, report, category or checker with the given id(s). You can
0069 # either give multiple identifier separated by comma (,) or put this option
0070 # multiple time. See also the "--disable" option for examples.
0071 enable=
0072
0073 # Disable the message, report, category or checker with the given id(s). You
0074 # can either give multiple identifiers separated by comma (,) or put this
0075 # option multiple times (only on the command line, not in the configuration
0076 # file where it should appear only once).You can also use "--disable=all" to
0077 # disable everything first and then reenable specific checks. For example, if
0078 # you want to run only the similarities checker, you can use "--disable=all
0079 # --enable=similarities". If you want to run only the classes checker, but have
0080 # no Warning level messages displayed, use"--disable=all --enable=classes
0081 # --disable=W"
0082
0083 # These errors are arranged in order of number of warning given in pylint.
0084 # If you would like to improve the code quality of pyspark, remove any of these disabled errors
0085 # run ./dev/lint-python and see if the errors raised by pylint can be fixed.
0086
0087 disable=invalid-name,missing-docstring,protected-access,unused-argument,no-member,unused-wildcard-import,redefined-builtin,too-many-arguments,unused-variable,too-few-public-methods,bad-continuation,duplicate-code,redefined-outer-name,too-many-ancestors,import-error,superfluous-parens,unused-import,line-too-long,no-name-in-module,unnecessary-lambda,import-self,no-self-use,unidiomatic-typecheck,fixme,too-many-locals,cyclic-import,too-many-branches,bare-except,wildcard-import,dangerous-default-value,broad-except,too-many-public-methods,deprecated-lambda,anomalous-backslash-in-string,too-many-lines,reimported,too-many-statements,bad-whitespace,unpacking-non-sequence,too-many-instance-attributes,abstract-method,old-style-class,global-statement,attribute-defined-outside-init,arguments-differ,undefined-all-variable,no-init,useless-else-on-loop,super-init-not-called,notimplemented-raised,too-many-return-statements,pointless-string-statement,global-variable-undefined,bad-classmethod-argument,too-many-format-args,parse-error,no-self-argument,pointless-statement,undefined-variable,undefined-loop-variable
0088
0089
0090 [REPORTS]
0091
0092 # Set the output format. Available formats are text, parseable, colorized, msvs
0093 # (visual studio) and html. You can also give a reporter class, eg
0094 # mypackage.mymodule.MyReporterClass.
0095 output-format=text
0096
0097 # Put messages in a separate file for each module / package specified on the
0098 # command line instead of printing them on stdout. Reports (if any) will be
0099 # written in a file name "pylint_global.[txt|html]".
0100 files-output=no
0101
0102 # Tells whether to display a full report or only the messages
0103 reports=no
0104
0105 # Python expression which should return a note less than 10 (10 is the highest
0106 # note). You have access to the variables errors warning, statement which
0107 # respectively contain the number of errors / warnings messages and the total
0108 # number of statements analyzed. This is used by the global evaluation report
0109 # (RP0004).
0110 evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
0111
0112 # Add a comment according to your evaluation note. This is used by the global
0113 # evaluation report (RP0004).
0114 comment=no
0115
0116 # Template used to display messages. This is a python new-style format string
0117 # used to format the message information. See doc for all details
0118 #msg-template=
0119
0120
0121 [MISCELLANEOUS]
0122
0123 # List of note tags to take in consideration, separated by a comma.
0124 notes=FIXME,XXX,TODO
0125
0126
0127 [BASIC]
0128
0129 # Required attributes for module, separated by a comma
0130 required-attributes=
0131
0132 # List of builtins function names that should not be used, separated by a comma
0133 bad-functions=
0134
0135 # Good variable names which should always be accepted, separated by a comma
0136 good-names=i,j,k,ex,Run,_
0137
0138 # Bad variable names which should always be refused, separated by a comma
0139 bad-names=baz,toto,tutu,tata
0140
0141 # Colon-delimited sets of names that determine each other's naming style when
0142 # the name regexes allow several styles.
0143 name-group=
0144
0145 # Include a hint for the correct naming format with invalid-name
0146 include-naming-hint=no
0147
0148 # Regular expression matching correct function names
0149 function-rgx=[a-z_][a-z0-9_]{2,30}$
0150
0151 # Naming hint for function names
0152 function-name-hint=[a-z_][a-z0-9_]{2,30}$
0153
0154 # Regular expression matching correct variable names
0155 variable-rgx=[a-z_][a-z0-9_]{2,30}$
0156
0157 # Naming hint for variable names
0158 variable-name-hint=[a-z_][a-z0-9_]{2,30}$
0159
0160 # Regular expression matching correct constant names
0161 const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
0162
0163 # Naming hint for constant names
0164 const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
0165
0166 # Regular expression matching correct attribute names
0167 attr-rgx=[a-z_][a-z0-9_]{2,30}$
0168
0169 # Naming hint for attribute names
0170 attr-name-hint=[a-z_][a-z0-9_]{2,30}$
0171
0172 # Regular expression matching correct argument names
0173 argument-rgx=[a-z_][a-z0-9_]{2,30}$
0174
0175 # Naming hint for argument names
0176 argument-name-hint=[a-z_][a-z0-9_]{2,30}$
0177
0178 # Regular expression matching correct class attribute names
0179 class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
0180
0181 # Naming hint for class attribute names
0182 class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
0183
0184 # Regular expression matching correct inline iteration names
0185 inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
0186
0187 # Naming hint for inline iteration names
0188 inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
0189
0190 # Regular expression matching correct class names
0191 class-rgx=[A-Z_][a-zA-Z0-9]+$
0192
0193 # Naming hint for class names
0194 class-name-hint=[A-Z_][a-zA-Z0-9]+$
0195
0196 # Regular expression matching correct module names
0197 module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
0198
0199 # Naming hint for module names
0200 module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
0201
0202 # Regular expression matching correct method names
0203 method-rgx=[a-z_][a-z0-9_]{2,30}$
0204
0205 # Naming hint for method names
0206 method-name-hint=[a-z_][a-z0-9_]{2,30}$
0207
0208 # Regular expression which should only match function or class names that do
0209 # not require a docstring.
0210 no-docstring-rgx=__.*__
0211
0212 # Minimum line length for functions/classes that require docstrings, shorter
0213 # ones are exempt.
0214 docstring-min-length=-1
0215
0216
0217 [FORMAT]
0218
0219 # Maximum number of characters on a single line.
0220 max-line-length=100
0221
0222 # Regexp for a line that is allowed to be longer than the limit.
0223 ignore-long-lines=^\s*(# )?<?https?://\S+>?$
0224
0225 # Allow the body of an if to be on the same line as the test if there is no
0226 # else.
0227 single-line-if-stmt=no
0228
0229 # List of optional constructs for which whitespace checking is disabled
0230 no-space-check=trailing-comma,dict-separator
0231
0232 # Maximum number of lines in a module
0233 max-module-lines=1000
0234
0235 # String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
0236 # tab).
0237 indent-string=' '
0238
0239 # Number of spaces of indent required inside a hanging or continued line.
0240 indent-after-paren=4
0241
0242 # Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
0243 expected-line-ending-format=
0244
0245
0246 [SIMILARITIES]
0247
0248 # Minimum lines number of a similarity.
0249 min-similarity-lines=4
0250
0251 # Ignore comments when computing similarities.
0252 ignore-comments=yes
0253
0254 # Ignore docstrings when computing similarities.
0255 ignore-docstrings=yes
0256
0257 # Ignore imports when computing similarities.
0258 ignore-imports=no
0259
0260
0261 [VARIABLES]
0262
0263 # Tells whether we should check for unused import in __init__ files.
0264 init-import=no
0265
0266 # A regular expression matching the name of dummy variables (i.e. expectedly
0267 # not used).
0268 dummy-variables-rgx=_$|dummy
0269
0270 # List of additional names supposed to be defined in builtins. Remember that
0271 # you should avoid to define new builtins when possible.
0272 additional-builtins=
0273
0274 # List of strings which can identify a callback function by name. A callback
0275 # name must start or end with one of those strings.
0276 callbacks=cb_,_cb
0277
0278
0279 [SPELLING]
0280
0281 # Spelling dictionary name. Available dictionaries: none. To make it working
0282 # install python-enchant package.
0283 spelling-dict=
0284
0285 # List of comma separated words that should not be checked.
0286 spelling-ignore-words=
0287
0288 # A path to a file that contains private dictionary; one word per line.
0289 spelling-private-dict-file=
0290
0291 # Tells whether to store unknown words to indicated private dictionary in
0292 # --spelling-private-dict-file option instead of raising a message.
0293 spelling-store-unknown-words=no
0294
0295
0296 [LOGGING]
0297
0298 # Logging modules to check that the string format arguments are in logging
0299 # function parameter format
0300 logging-modules=logging
0301
0302
0303 [TYPECHECK]
0304
0305 # Tells whether missing members accessed in mixin class should be ignored. A
0306 # mixin class is detected if its name ends with "mixin" (case insensitive).
0307 ignore-mixin-members=yes
0308
0309 # List of module names for which member attributes should not be checked
0310 # (useful for modules/projects where namespaces are manipulated during runtime
0311 # and thus existing member attributes cannot be deduced by static analysis
0312 ignored-modules=
0313
0314 # List of classes names for which member attributes should not be checked
0315 # (useful for classes with attributes dynamically set).
0316 ignored-classes=SQLObject
0317
0318 # When zope mode is activated, add a predefined set of Zope acquired attributes
0319 # to generated-members.
0320 zope=no
0321
0322 # List of members which are set dynamically and missed by pylint inference
0323 # system, and so shouldn't trigger E0201 when accessed. Python regular
0324 # expressions are accepted.
0325 generated-members=REQUEST,acl_users,aq_parent
0326
0327
0328 [CLASSES]
0329
0330 # List of interface methods to ignore, separated by a comma. This is used for
0331 # instance to not check methods defines in Zope's Interface base class.
0332 ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
0333
0334 # List of method names used to declare (i.e. assign) instance attributes.
0335 defining-attr-methods=__init__,__new__,setUp
0336
0337 # List of valid names for the first argument in a class method.
0338 valid-classmethod-first-arg=cls
0339
0340 # List of valid names for the first argument in a metaclass class method.
0341 valid-metaclass-classmethod-first-arg=mcs
0342
0343 # List of member names, which should be excluded from the protected access
0344 # warning.
0345 exclude-protected=_asdict,_fields,_replace,_source,_make
0346
0347
0348 [IMPORTS]
0349
0350 # Deprecated modules which should not be used, separated by a comma
0351 deprecated-modules=regsub,TERMIOS,Bastion,rexec
0352
0353 # Create a graph of every (i.e. internal and external) dependencies in the
0354 # given file (report RP0402 must not be disabled)
0355 import-graph=
0356
0357 # Create a graph of external dependencies in the given file (report RP0402 must
0358 # not be disabled)
0359 ext-import-graph=
0360
0361 # Create a graph of internal dependencies in the given file (report RP0402 must
0362 # not be disabled)
0363 int-import-graph=
0364
0365
0366 [DESIGN]
0367
0368 # Maximum number of arguments for function / method
0369 max-args=5
0370
0371 # Argument names that match this expression will be ignored. Default to name
0372 # with leading underscore
0373 ignored-argument-names=_.*
0374
0375 # Maximum number of locals for function / method body
0376 max-locals=15
0377
0378 # Maximum number of return / yield for function / method body
0379 max-returns=6
0380
0381 # Maximum number of branch for function / method body
0382 max-branches=12
0383
0384 # Maximum number of statements in function / method body
0385 max-statements=50
0386
0387 # Maximum number of parents for a class (see R0901).
0388 max-parents=7
0389
0390 # Maximum number of attributes for a class (see R0902).
0391 max-attributes=7
0392
0393 # Minimum number of public methods for a class (see R0903).
0394 min-public-methods=2
0395
0396 # Maximum number of public methods for a class (see R0904).
0397 max-public-methods=20
0398
0399
0400 [EXCEPTIONS]
0401
0402 # Exceptions that will emit a warning when being caught. Defaults to
0403 # "Exception"
0404 overgeneral-exceptions=Exception