blob: 09772c5f50f16449f878123bf4df3ed7286ce492 [file] [log] [blame]
[MASTER]
# Add files or directories to the blacklist. They should be base names, not
# paths.
ignore=CVS,.git,.cache,.tox,.nox
[MESSAGES CONTROL]
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once).You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
#
# RATIONALE:
# - maybe-no-member: bi-modal functions confuse pylint type inference.
# - no-member: indirections in protobuf-generated code
# - protected-access: helpers use '_foo' of classes from generated code.
# - similarities: 'Bucket' and 'Blob' define 'metageneration' and 'owner' with
# identical implementation but different docstrings.
# - star-args: standard Python idioms for varargs:
# ancestor = Query().filter(*order_props)
# - redefined-variable-type: This error is overzealous and complains at e.g.
# if some_prop:
# return int(value)
# else:
# return float(value)
# - import-error: imports are checked via tests.
# - wrong-import-position: This error is overzealous. It assumes imports are
# completed whenever something non-trivial is
# defined, e.g.
# try:
# from foo import Bar
# except ImportError:
# class Bar(object):
# """Hi everyone"""
# and thus causes subsequent imports to be
# diagnosed as out-of-order.
# - no-name-in-module: Error gives a lot of false positives for names which
# are defined dynamically. Also, any truly missing names
# will be detected by our 100% code coverage.
# - locally-disabled: Allow us to make exceptions in edge cases, notably where
# pylint doesn't recognize inherited properties and methods
# and gives unused-argument errors.
disable =
import-star-module-level,
old-octal-literal,
oct-method,
print-statement,
unpacking-in-except,
parameter-unpacking,
backtick,
old-raise-syntax,
old-ne-operator,
long-suffix,
dict-view-method,
dict-iter-method,
metaclass-assignment,
next-method-called,
raising-string,
indexing-exception,
raw_input-builtin,
long-builtin,
file-builtin,
execfile-builtin,
coerce-builtin,
cmp-builtin,
buffer-builtin,
basestring-builtin,
apply-builtin,
filter-builtin-not-iterating,
using-cmp-argument,
useless-suppression,
range-builtin-not-iterating,
suppressed-message,
no-absolute-import,
old-division,
cmp-method,
reload-builtin,
zip-builtin-not-iterating,
intern-builtin,
unichr-builtin,
reduce-builtin,
standarderror-builtin,
unicode-builtin,
xrange-builtin,
coerce-method,
delslice-method,
getslice-method,
setslice-method,
input-builtin,
round-builtin,
hex-method,
nonzero-method,
map-builtin-not-iterating,
maybe-no-member,
no-member,
protected-access,
similarities,
star-args,
redefined-variable-type,
import-error,
wrong-import-position,
no-name-in-module,
locally-disabled,
locally-enabled,
missing-docstring,
redefined-outer-name,
no-self-use,
too-many-locals,
too-many-public-methods,
abstract-method,
method-hidden,
unused-argument
[REPORTS]
# Tells whether to display a full report or only the messages
# RATIONALE: noisy
reports=no
[BASIC]
# Good variable names which should always be accepted, separated by a comma
# DEFAULT: good-names=i,j,k,ex,Run,_
# RATIONALE: 'fh' is a well-known file handle variable name.
good-names = i, j, k, ex, Run, _,
fh
# Regular expression matching correct method names
# DEFAULT: method-rgx=[a-z_][a-z0-9_]{2,30}$
# RATIONALE: Some methods have longer names to be precise against wordy RFCs.
method-rgx=[a-z_][a-z0-9_]{2,80}$
# Regular expression matching correct function names
# DEFAULT function-rgx=[a-z_][a-z0-9_]{2,30}$
# RATIONALE: Some test methods have long descriptive names.
function-rgx=[a-z_][a-z0-9_]{2,80}$
[TYPECHECK]
# 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. It
# supports qualified module names, as well as Unix pattern matching.
# DEFAULT: ignored-modules=
# RATIONALE: six aliases stuff for compatibility.
# google.protobuf fixes up namespace package "late".
ignored-modules = six, google.protobuf
[DESIGN]
# 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 arguments for function / method
# DEFAULT: max-args=5
# RATIONALE: Many credentials classes take a lot of parameters.
max-args = 10
# Maximum number of attributes for a class (see R0902).
# DEFAULT: max-attributes=7
# RATIONALE: Many credentials need to track lots of properties.
max-attributes=15