forked from dry-python/returns
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
121 lines (98 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
# All configuration for plugins and other utils is defined here.
# Read more about `setup.cfg`:
# https://docs.python.org/3/distutils/configfile.html
[coverage:run]
omit =
# We test mypy plugins with `pytest-mypy-plugins`,
# which does not work with coverage:
returns/contrib/mypy/*
[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
i-control-code = False
exclude =
# Trash and cache:
.git
__pycache__
.venv
.eggs
*.egg
ignore = D100, D104, D401, W504, X100, WPS113, WPS202, WPS214, WPS320, WPS436, WPS440, TAE002, RST303, RST304, DAR103, DAR203
per-file-ignores =
# Disable some quality checks for the most heavy parts:
returns/io.py: WPS402
# Some rules cannot be applied to context:
returns/context/*.py: WPS204, WPS226, WPS430
# There are multiple assert's in tests:
tests/*.py: S101, WPS226, WPS432, WPS436
# Annotations:
*.pyi: D103, WPS211, WPS428
[isort]
# isort configuration:
# https://github.com/timothycrosley/isort/wiki/isort-Settings
include_trailing_comma = true
# See https://github.com/timothycrosley/isort#multi-line-output-modes
multi_line_output = 3
default_section = FIRSTPARTY
# Should be: 80 - 1
line_length = 79
[darglint]
# darglint configuration:
# https://github.com/terrencepreilly/darglint
strictness = long
[tool:pytest]
# py.test options:
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 =
--doctest-modules
--doctest-glob='*.md'
--doctest-glob='*.rst'
--cov=returns
--cov-report=term:skip-covered
--cov-report=html
--cov-branch
--cov-fail-under=100
--mypy-ini-file=setup.cfg
[mypy]
# mypy configurations: http://bit.ly/2zEl9WI
# Plugins, includes custom:
plugins =
returns.contrib.mypy.decorator_plugin
# 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
disallow_untyped_calls = True
ignore_errors = False
ignore_missing_imports = True
implicit_reexport = False
strict_optional = True
strict_equality = True
no_implicit_optional = True
local_partial_types = True
warn_no_return = True
warn_unused_ignores = True
warn_redundant_casts = True
warn_unused_configs = True
warn_unreachable = True
[doc8]
ignore-path = docs/_build
max-line-length = 80
sphinx = True