-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
123 lines (105 loc) · 2.77 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
[tool:pytest]
testpaths = tests
addopts =
--diff-width=88
--cov=asyncbox
--cov=tests
--no-cov-on-fail
--cov-report term-missing
--cov-fail-under=0
timeout = 20
filterwarnings =
error
[coverage:report]
precision = 2
exclude_lines =
pragma: no cover
raise NotImplementedError
raise NotImplemented
[mypy]
plugins =
pydantic.mypy,
sqlalchemy.ext.mypy.plugin
disallow_untyped_defs = True
strict_optional = True
follow_imports = skip
exclude = template\/.*
[pydantic-mypy]
init_forbid_extra = True
init_typed = True
warn_required_dynamic_aliases = True
[mypy-asyncbox.template.*]
ignore_errors = True
[mypy-asyncbox.tests.*]
ignore_errors = True
[mypy-tests.*]
ignore_errors = true
[mypy-mako.*]
ignore_missing_imports = True
[mypy-sqlalchemy.*]
ignore_missing_imports = True
[mypy-alembic.*]
ignore_missing_imports = True
[mypy-loguru.*]
ignore_missing_imports = True
[mypy-tortoise.*]
ignore_missing_imports = True
[mypy-aiofiles.*]
ignore_missing_imports = True
[mypy-asyncpg.*]
ignore_missing_imports = True
[isort]
multi_line_output = 3
include_trailing_comma = True
line_length = 88
force_grid_wrap = 0
combine_as_imports = True
[flake8]
# See https://flake8.pycqa.org/en/latest/user/configuration.html#project-configuration
max-line-length = 88
max-awaits = 10
max-local-variables = 10
max-module-members = 10
max-arguments = 10
nested-classes-whitelist = Config, Meta, Params
no-accept-encodings = True
inline-quotes = "
exclude = asyncbox/template, asyncbox/plugins/sqlalchemy/template, asyncbox/tests/fixtures.py
per-file-ignores =
asyncbox/settings.py:WPS115
asyncbox/plugins/*/plugin.py:WPS115
asyncbox/plugin.py:WPS609
*/__init__.py:D104,WPS412,WPS300,WPS410
# See https://wemake-python-stylegui.de/en/latest/pages/usage/violations/index.html
ignore =
# black handles whitespace before ':'.
E203,
# also handled by black.
C8,
# mako templates are used as messages, so no xss attacks.
S702,
# function calls in arguments definition is part of fastapi and botx di system.
B008,
# docstrings for public nested classes like Meta or Config not necessary
D106,
# empty lines after docstrings. handle by black
D202, D207
# return in docstrings is not required part
DAR201,
# f-strings are useful
WPS305,
# required base in class definition is strange
WPS306,
# objects that are returned from fastapi and botx as di system parts should be available
WPS404,
# does not play well with forward type references
WPS226,
# Forbids to use implicit string concatenation
WPS326,
# Docstrings for public method
D103,
# Docstrings for public class
D101,
[darglint]
# See https://github.com/terrencepreilly/darglint#strictness-configuration
strictness = long