blob: f82d4cfc06114d61a05788761e3709e266f1839b [file] [log] [blame]
Gilles Peskine5612a932019-02-25 20:17:33 +01001[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]
Gilles Peskineea16e3d2020-03-24 16:39:30 +010043# * logging-format-interpolation: Pylint warns about things like
44# ``log.info('...'.format(...))``. It insists on ``log.info('...', ...)``.
45# This is of minor utility (mainly a performance gain when there are
46# many messages that use formatting and are below the log level).
47# Some versions of Pylint (including 1.8, which is the version on
48# Ubuntu 18.04) only recognize old-style format strings using '%',
49# and complain about something like ``log.info('{}', foo)`` with
50# logging-too-many-args (Pylint supports new-style formatting if
51# declared globally with logging_format_style under [LOGGING] but
52# this requires Pylint >=2.2).
Gilles Peskine926f6962020-03-24 16:07:40 +010053# * no-else-return: Allow the perfectly reasonable idiom
54# if condition1:
55# return value1
56# else:
57# return value2
Gilles Peskineea16e3d2020-03-24 16:39:30 +010058disable=logging-format-interpolation,no-else-return
Gilles Peskine5612a932019-02-25 20:17:33 +010059
60[REPORTS]
61# Don't diplay statistics. Just the facts.
62reports=no
63
64[VARIABLES]
65# Allow unused variables if their name starts with an underscore.
66# [unused-argument]
67dummy-variables-rgx=_.*