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