1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
[flake8]
exclude = .venv,.git,.tox,docs,venv,bin,lib,deps,build
# To work with Black
max-line-length = 100
# E501: line too long
# W503: Line break occurred before a binary operator
# E203: Whitespace before ':'
# D202 No blank lines allowed after function docstring
# W504 line break after binary operator
ignore =
E501,
W503,
E203,
D202,
W504,
E266
per-file-ignores = __init__.py:F401
[isort]
profile = black
multi_line_output = 3
include_trailing_comma = True
force_grid_wrap = 0
use_parentheses = True
line_length = 88
[mypy]
python_version = 3.9
ignore_errors = true
follow_imports = silent
ignore_missing_imports = true
warn_incomplete_stub = true
warn_redundant_casts = true
warn_unused_configs = true
[pydocstyle]
add-ignore = D202
[pylint.master]
ignore=tests
ignore-patterns=app_vars
# Use a conservative default here; 2 should speed up most setups and not hurt
# any too bad. Override on command line as appropriate.
jobs=2
persistent=no
suggestion-mode=yes
extension-pkg-whitelist=taglib,orjson
[pylint.basic]
good-names=id,i,j,k,ex,Run,_,fp,T,ev
[pylint.messages_control]
# Reasons disabled:
# format - handled by black
# locally-disabled - it spams too much
# duplicate-code - unavoidable
# cyclic-import - doesn't test if both import on load
# unused-argument - generic callbacks and setup methods create a lot of warnings
# too-many-* - are not enforced for the sake of readability
# too-few-* - same as too-many-*
# abstract-method - with intro of async there are always methods missing
# inconsistent-return-statements - doesn't handle raise
# too-many-ancestors - it's too strict.
# wrong-import-order - isort guards this
# fixme - project is in development phase
# c-extension-no-member - it was giving me headaches
disable=
format,
abstract-method,
cyclic-import,
duplicate-code,
inconsistent-return-statements,
locally-disabled,
not-context-manager,
too-few-public-methods,
too-many-ancestors,
too-many-arguments,
too-many-branches,
too-many-instance-attributes,
too-many-lines,
too-many-locals,
too-many-public-methods,
too-many-return-statements,
too-many-statements,
too-many-boolean-expressions,
unused-argument,
wrong-import-order,
fixme,
c-extension-no-member
# enable useless-suppression temporarily every now and then to clean them up
enable=
use-symbolic-message-instead
[pylint.reports]
score=no
[pylint.refactoring]
# Maximum number of nested blocks for function / method body
max-nested-blocks=15
[pylint.typecheck]
# For attrs
ignored-classes=_CountingAttr
[pylint.format]
expected-line-ending-format=LF
|