1[BASIC] 2# We're ok with short funtion argument names. 3# [invalid-name] 4argument-rgx=[a-z_][a-z0-9_]*$ 5 6# Allow filter and map. 7# [bad-builtin] 8bad-functions=input 9 10# We prefer docstrings, but we don't require them on all functions. 11# Require them only on long functions (for some value of long). 12# [missing-docstring] 13docstring-min-length=10 14 15# Allow longer methods than the default. 16# [invalid-name] 17method-rgx=[a-z_][a-z0-9_]{2,35}$ 18 19# Allow module names containing a dash (but no underscore or uppercase letter). 20# They are whole programs, not meant to be included by another module. 21# [invalid-name] 22module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+)|[a-z][-0-9a-z]+)$ 23 24# Some functions don't need docstrings. 25# [missing-docstring] 26no-docstring-rgx=(run_)main$ 27 28# We're ok with short local or global variable names. 29# [invalid-name] 30variable-rgx=[a-z_][a-z0-9_]*$ 31 32[DESIGN] 33# Allow more than the default 7 attributes. 34# [too-many-instance-attributes] 35max-attributes=15 36 37[FORMAT] 38# Allow longer modules than the default recommended maximum. 39# [too-many-lines] 40max-module-lines=2000 41 42[MESSAGES CONTROL] 43# * locally-disabled, locally-enabled: If we disable or enable a message 44# locally, it's by design. There's no need to clutter the Pylint output 45# with this information. 46# * logging-format-interpolation: Pylint warns about things like 47# ``log.info('...'.format(...))``. It insists on ``log.info('...', ...)``. 48# This is of minor utility (mainly a performance gain when there are 49# many messages that use formatting and are below the log level). 50# Some versions of Pylint (including 1.8, which is the version on 51# Ubuntu 18.04) only recognize old-style format strings using '%', 52# and complain about something like ``log.info('{}', foo)`` with 53# logging-too-many-args (Pylint supports new-style formatting if 54# declared globally with logging_format_style under [LOGGING] but 55# this requires Pylint >=2.2). 56# * no-else-return: Allow the perfectly reasonable idiom 57# if condition1: 58# return value1 59# else: 60# return value2 61# * unnecessary-pass: If we take the trouble of adding a line with "pass", 62# it's because we think the code is clearer that way. 63disable=locally-disabled,locally-enabled,logging-format-interpolation,no-else-return,unnecessary-pass 64 65[REPORTS] 66# Don't diplay statistics. Just the facts. 67reports=no 68 69[VARIABLES] 70# Allow unused variables if their name starts with an underscore. 71# [unused-argument] 72dummy-variables-rgx=_.* 73