1[MASTER] 2ignore= 3 src/python/grpcio/grpc/beta, 4 src/python/grpcio/grpc/framework, 5 src/python/grpcio/grpc/framework/common, 6 src/python/grpcio/grpc/framework/foundation, 7 src/python/grpcio/grpc/framework/interfaces, 8 9[VARIABLES] 10 11# TODO(https://github.com/PyCQA/pylint/issues/1345): How does the inspection 12# not include "unused_" and "ignored_" by default? 13dummy-variables-rgx=^ignored_|^unused_ 14 15[DESIGN] 16 17# NOTE(nathaniel): Not particularly attached to this value; it just seems to 18# be what works for us at the moment (excepting the dead-code-walking Beta 19# API). 20max-args=6 21 22[MISCELLANEOUS] 23 24# NOTE(nathaniel): We are big fans of "TODO(<issue link>): " and 25# "NOTE(<username or issue link>): ". We do not allow "TODO:", 26# "TODO(<username>):", "FIXME:", or anything else. 27notes=FIXME,XXX 28 29[MESSAGES CONTROL] 30 31disable= 32 # -- START OF EXAMPLE-SPECIFIC SUPPRESSIONS -- 33 no-self-use, 34 unused-argument, 35 unused-variable, 36 # -- END OF EXAMPLE-SPECIFIC SUPPRESSIONS -- 37 38 # TODO(https://github.com/PyCQA/pylint/issues/59#issuecomment-283774279): 39 # Enable cyclic-import after a 1.7-or-later pylint release that 40 # recognizes our disable=cyclic-import suppressions. 41 cyclic-import, 42 # TODO(https://github.com/grpc/grpc/issues/8622): Enable this after the 43 # Beta API is removed. 44 duplicate-code, 45 # TODO(https://github.com/grpc/grpc/issues/261): Doesn't seem to 46 # understand enum and concurrent.futures; look into this later with the 47 # latest pylint version. 48 import-error, 49 # TODO(https://github.com/grpc/grpc/issues/261): Enable this one. 50 # Should take a little configuration but not much. 51 invalid-name, 52 # TODO(https://github.com/grpc/grpc/issues/261): This doesn't seem to 53 # work for now? Try with a later pylint? 54 locally-disabled, 55 # NOTE(nathaniel): What even is this? *Enabling* an inspection results 56 # in a warning? How does that encourage more analysis and coverage? 57 locally-enabled, 58 # NOTE(nathaniel): We don't write doc strings for most private code 59 # elements. 60 missing-docstring, 61 # NOTE(nathaniel): In numeric comparisons it is better to have the 62 # lesser (or lesser-or-equal-to) quantity on the left when the 63 # expression is true than it is to worry about which is an identifier 64 # and which a literal value. 65 misplaced-comparison-constant, 66 # NOTE(nathaniel): Our completely abstract interface classes don't have 67 # constructors. 68 no-init, 69 # TODO(https://github.com/grpc/grpc/issues/261): Doesn't yet play 70 # nicely with some of our code being implemented in Cython. Maybe in a 71 # later version? 72 no-name-in-module, 73 # TODO(https://github.com/grpc/grpc/issues/261): Suppress these where 74 # the odd shape of the authentication portion of the API forces them on 75 # us and enable everywhere else. 76 protected-access, 77 # NOTE(nathaniel): Pylint and I will probably never agree on this. 78 too-few-public-methods, 79 # NOTE(nathaniel): Pylint and I wil probably never agree on this for 80 # private classes. For public classes maybe? 81 too-many-instance-attributes, 82 # NOTE(nathaniel): Some of our modules have a lot of lines... of 83 # specification and documentation. Maybe if this were 84 # lines-of-code-based we would use it. 85 too-many-lines, 86 # TODO(https://github.com/grpc/grpc/issues/261): Maybe we could have 87 # this one if we extracted just a few more helper functions... 88 too-many-nested-blocks, 89 # TODO(https://github.com/grpc/grpc/issues/261): Disable unnecessary 90 # super-init requirement for abstract class implementations for now. 91 super-init-not-called, 92 # NOTE(nathaniel): A single statement that always returns program 93 # control is better than two statements the first of which sometimes 94 # returns program control and the second of which always returns 95 # program control. Probably generally, but definitely in the cases of 96 # if:/else: and for:/else:. 97 useless-else-on-loop, 98 no-else-return, 99 # NOTE(lidiz): Python 3 make object inheritance default, but not PY2 100 useless-object-inheritance, 101