-
Notifications
You must be signed in to change notification settings - Fork 2
/
setup.cfg
125 lines (108 loc) · 2.96 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
[flake8]
format = wemake
show-source = True
doctests = True
enable-extensions = G
statistics = False
# Plugins:
accept-encodings = utf-8
max-complexity = 6
max-line-length = 80
radon-max-cc = 10
radon-no-assert = True
radon-show-closures = True
# wemake-python-styleguide
max-methods = 8
ignore =
# Skip docstrings for now.
RST
# Skip docstrings for now.
DAR
# empty __init__ files ok.
D104
# Don't use docstrings in modules.
D100
# WrongLoopIterTypeViolation, fix this later
WPS335
exclude =
# Trash and cache:
.git
__pycache__
.venv
.eggs
*.egg
*.md
docs/*.py
per-file-ignores =
# in Tests:
# S101: allow asserts
# WPS202: Allow more module members
# WPS204: OverusedExpressionViolation
# WPS226: OverusedStringViolation
# WPS432: magic numbers are okay in tests
# WPS114: Underscore name pattern is okay in tests
# WPS442: Allow name overshaddowing in conftest fixtures
# WPS517: Allow unpacking **{} for pydantic models in tests
tests/*.py: S101, WPS202, WPS204, WPS226, WPS432, WPS114, WPS442, WPS517, WPS436
# in casting tests:
# WPS436: Allow protected module import
# tests/casting/*.py:
# In casting module:
# WPS412: Allow `__init__.py` module with logic
# WPS436: Allow protected module imports
kaiba/casting/__init__.py: WPS412, WPS436
# In pydantic schema file until we split it up
# WPS202: Allow too many module memebers
# WPS402: Allow too many noqa's
kaiba/pydantic_schema.py: WPS202 WPS402
# WPS431: Allow nested class in pydantic schema
# WPS306: Allow not inheriting class
# WPS226: Allow string constant over-use
kaiba/models/*.py: WPS431, WPS306, WPS226
# In functions.py ignore too many imports
# WPS201: Found module with too many imports
kaiba/functions.py: WPS201
[isort]
# See https://github.com/timothycrosley/isort#multi-line-output-modes
multi_line_output = 3
include_trailing_comma = true
default_section = FIRSTPARTY
# Should be: 80 - 1
line_length = 79
[tool:pytest]
# py.test options:
norecursedirs = *.egg .eggs dist build docs .tox .git __pycache__
addopts =
--doctest-modules
--cov=kaiba
--cov-report=term
--cov-report=html
--cov-report=xml
--cov-branch
--cov-fail-under=100
# --mypy-ini-file=setup.cfg
[mypy]
# mypy configurations: http://bit.ly/2zEl9WI
# Plugins, includes custom:, add this plugin some time
# plugins =
# returns.contrib.mypy.decorator_plugin
plugins =
returns.contrib.mypy.returns_plugin, pydantic.mypy
# We have disabled this checks due to some problems with `mypy` type
# system, it does not look like it will be fixed soon.
# disallow_any_explicit = True
# disallow_any_generics = True
allow_redefinition = false
check_untyped_defs = true
ignore_errors = false
ignore_missing_imports = true
implicit_reexport = false
local_partial_types = true
no_implicit_optional = true
strict_equality = true
strict_optional = true
warn_no_return = true
warn_redundant_casts = true
warn_unreachable = true
warn_unused_configs = true
warn_unused_ignores = true