blob: e68fd47b08fd0ea9a50dacd93474868589055626 [file] [log] [blame]
Mehrdad Afsharib9424d02018-04-18 12:30:28 -07001[VARIABLES]
2
3# TODO(https://github.com/PyCQA/pylint/issues/1345): How does the inspection
4# not include "unused_" and "ignored_" by default?
5dummy-variables-rgx=^ignored_|^unused_
6
7[DESIGN]
8
9# NOTE(nathaniel): Not particularly attached to this value; it just seems to
10# be what works for us at the moment (excepting the dead-code-walking Beta
11# API).
12max-args=6
13
14[MISCELLANEOUS]
15
16# NOTE(nathaniel): We are big fans of "TODO(<issue link>): " and
17# "NOTE(<username or issue link>): ". We do not allow "TODO:",
18# "TODO(<username>):", "FIXME:", or anything else.
19notes=FIXME,XXX
20
21[MESSAGES CONTROL]
22
23disable=
24 # These suppressions are specific to tests:
25 #
26 # TODO(https://github.com/grpc/grpc/issues/261): investigate
27 # each of the following one by one and consider eliminating
28 # the suppression category.
29 # Eventually, the hope is to eliminate the .pylintrc-tests
30 # altogether and rely on .pylintrc for everything.
31 pointless-statement,
32 no-member,
33 no-self-use,
34 attribute-defined-outside-init,
35 unused-argument,
36 unused-variable,
37 unused-import,
38 redefined-builtin,
39 too-many-public-methods,
40 too-many-locals,
41 redefined-variable-type,
42 old-style-class,
43 redefined-outer-name,
44 bare-except,
45 broad-except,
46 ungrouped-imports,
47 too-many-branches,
48 too-many-arguments,
49 too-many-format-args,
50 too-many-return-statements,
51 too-many-statements,
52 undefined-variable,
53 function-redefined,
54 unnecessary-lambda,
55 wildcard-import,
56 line-too-long,
57 unreachable,
58 wrong-import-position,
59 wrong-import-order,
60 non-iterator-returned,
61 undefined-loop-variable,
62 raising-bad-type,
63 bad-continuation,
64 # -- END OF TEST-SPECIFIC SUPPRESSIONS --
65
66
67 # TODO(https://github.com/PyCQA/pylint/issues/59#issuecomment-283774279):
68 # Enable cyclic-import after a 1.7-or-later pylint release that
69 # recognizes our disable=cyclic-import suppressions.
70 cyclic-import,
71 # TODO(https://github.com/grpc/grpc/issues/8622): Enable this after the
72 # Beta API is removed.
73 duplicate-code,
74 # TODO(https://github.com/grpc/grpc/issues/261): Doesn't seem to
75 # understand enum and concurrent.futures; look into this later with the
76 # latest pylint version.
77 import-error,
78 # TODO(https://github.com/grpc/grpc/issues/261): Enable this one.
79 # Should take a little configuration but not much.
80 invalid-name,
81 # TODO(https://github.com/grpc/grpc/issues/261): This doesn't seem to
82 # work for now? Try with a later pylint?
83 locally-disabled,
84 # NOTE(nathaniel): What even is this? *Enabling* an inspection results
85 # in a warning? How does that encourage more analysis and coverage?
86 locally-enabled,
87 # NOTE(nathaniel): We don't write doc strings for most private code
88 # elements.
89 missing-docstring,
90 # NOTE(nathaniel): In numeric comparisons it is better to have the
91 # lesser (or lesser-or-equal-to) quantity on the left when the
92 # expression is true than it is to worry about which is an identifier
93 # and which a literal value.
94 misplaced-comparison-constant,
95 # NOTE(nathaniel): Our completely abstract interface classes don't have
96 # constructors.
97 no-init,
98 # TODO(https://github.com/grpc/grpc/issues/261): Doesn't yet play
99 # nicely with some of our code being implemented in Cython. Maybe in a
100 # later version?
101 no-name-in-module,
102 # TODO(https://github.com/grpc/grpc/issues/261): Suppress these where
103 # the odd shape of the authentication portion of the API forces them on
104 # us and enable everywhere else.
105 protected-access,
106 # NOTE(nathaniel): Pylint and I will probably never agree on this.
107 too-few-public-methods,
108 # NOTE(nathaniel): Pylint and I wil probably never agree on this for
109 # private classes. For public classes maybe?
110 too-many-instance-attributes,
111 # NOTE(nathaniel): Some of our modules have a lot of lines... of
112 # specification and documentation. Maybe if this were
113 # lines-of-code-based we would use it.
114 too-many-lines,
115 # TODO(https://github.com/grpc/grpc/issues/261): Maybe we could have
116 # this one if we extracted just a few more helper functions...
117 too-many-nested-blocks,
118 # NOTE(nathaniel): I have disputed the premise of this inspection from
119 # the beginning and will continue to do so until it goes away for good.
120 useless-else-on-loop,