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