-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
128 lines (112 loc) · 4.01 KB
/
setup.cfg
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
[flake8]
# flake8 configuration:
# https://flake8.pycqa.org/en/latest/user/configuration.html
# format = wemake
show-source = True
statistics = False
doctests = True
enable-extensions = G
# Flake plugins:
max-line-length = 80
max-complexity = 6
# Excluding some directories:
exclude = .git,__pycache__,.venv,.eggs,*.egg
# Disable some pydocstyle checks:
ignore = D100, D104, D106, D401, X100, W504, RST303, RST304, DAR103, DAR203,
# Custom changes
C812, # missing trailing comma
C813, # missing trailing comma in Python 3
C815, # missing trailing comma
C816, # missing trailing comma
D101, # Missing docstring in public class
E800, # Commented out code
P101, # format string does contain unindexed parameters
P103, # other string does contain unindexed parameters
Q000, # Remove bad quotes
W503, # line break before binary operator
WPS110, # Found wrong variable name
WPS201, # Found module with too many imports
WPS204, # Found overused expression
WPS210, # Found too many local variables
WPS214, # Found too many methods
WPS217, # Found too many await expressions
WPS226, # Found string constant over-use
WPS235, # Found too many imported names from a module
WPS300, # Found local folder import
WPS302, # Found unicode string prefix
WPS305, # Found `f` string
WPS306, # Found class without a base class
WPS317, # Found incorrect multi-line parameters
WPS318, # Found extra indentation
WPS319, # Found bracket in wrong position
WPS323, # Found `percent` string formatting
WPS326, # Found implicit string concatenation
WPS336, # Found explicit string concatenation
WPS347, # Found vague import that may cause confusion
WPS348, # Found a line that starts with a dot
WPS421, # Found wrong function call
WPS426, # Found `lambda` in loop's body
WPS440, # Found block variables overlap
WPS441, # Found control variable used after block
WPS507, # Found useless `len()` compare,
# Docs: https://github.com/snoack/flake8-per-file-ignores
# You can completely or partially disable our custom checks,
# to do so you have to ignore `WPS` letters for all python files:
per-file-ignores =
# Enable `assert` keyword and magic numbers for tests:
tests/*.py: S101, WPS432, D102
[isort]
# isort configuration:
# https://github.com/timothycrosley/isort/wiki/isort-Settings
include_trailing_comma = true
use_parentheses = true
# See https://github.com/timothycrosley/isort#multi-line-output-modes
multi_line_output = 3
default_section = FIRSTPARTY
line_length = 80
[darglint]
# darglint configuration:
# https://github.com/terrencepreilly/darglint
strictness = long
[tool:pytest]
# Directories that are not visited by pytest collector:
norecursedirs = *.egg .eggs dist build docs .tox .git __pycache__
# You will need to measure your tests speed with `-n auto` and without it,
# so you can see whether it gives you any performance gain, or just gives
# you an overhead. See `docs/template/development-process.rst`.
addopts =
--strict-markers
--strict-config
--doctest-modules
# Output:
--tb=short
[mypy]
# Mypy configuration:
# https://mypy.readthedocs.io/en/latest/config_file.html
allow_redefinition = False
check_untyped_defs = True
disallow_untyped_decorators = True
disallow_any_explicit = False
disallow_any_generics = False
disallow_untyped_calls = True
disallow_untyped_defs = True
disallow_incomplete_defs = True
ignore_errors = False
ignore_missing_imports = True
implicit_reexport = False
local_partial_types = True
strict_optional = True
strict_equality = True
no_implicit_optional = True
warn_unused_ignores = True
warn_redundant_casts = True
warn_unused_configs = True
warn_unreachable = True
warn_no_return = True
exclude = ^(tests).*$
[doc8]
# doc8 configuration:
# https://github.com/pycqa/doc8
ignore-path = docs/_build
max-line-length = 80
sphinx = True