-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsetup.cfg
143 lines (119 loc) · 3.08 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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# All configuration for plugins and other utils is defined here.
# Read more about `setup.cfg`:
# https://docs.python.org/3/distutils/configfile.html
[flake8]
# Base flake8 configuration:
# https://flake8.pycqa.org/en/latest/user/configuration.html
format = wemake
show-source = True
statistics = False
doctests = True
enable-extensions = G
# Plugins:
accept-encodings = utf-8
max-complexity = 6
max-line-length = 80
radon-max-cc = 10
radon-show-closures = True
radon-no-assert = True
max-methods=8
# wemake-python-styleguide settings:
i-control-code = False
# Disable some pydocstyle checks:
# Exclude some pydoctest checks globally:
ignore =
# Default WPS ignores
D100, D104, D401, W504, RST303, RST304, DAR103, DAR203,
# Let the coding magic comment die in depths of history
C101
# Inheriting a class from `object` is antiquated
WPS306
# I like f-strings!
WPS305
# What smart things can I say in __init__()?!
D107
# Excluding some directories:
exclude =
.git
__pycache__
.venv
.eggs
*.egg
# Ignoring some errors in some files:
per-file-ignores =
# There are multiple fixtures, `assert`s, and subprocesses in tests:
tests/*.py:
# Default WPS
S101, S105, S404, S603, S607, WPS211, WPS226,
# And magic numbers
WPS432,
# Test classes not necessarily have docstrings, I think
D101, D103,
# And short variable names
WPS110
# Lists multiplied
WPS435
# Found overused expression
WPS204
# Found protected attribute usage
WPS437
__init__.py:
# it is allowed to import things you're not using in the __init__.py file itself.
F401
platonic/sqs/conversions/__init__.py:
# Allow exporting names starting with to_
F401, WPS347
platonic/sqs/conversions/*.py:
# Allow `value` as variable name
WPS110
tests/test_queue/robot.py:
# Allow uppercase constants in an enum
WPS115
# Subclassing is ok
WPS600
[isort]
# isort configuration:
# https://github.com/timothycrosley/isort/wiki/isort-Settings
include_trailing_comma = true
default_section = FIRSTPARTY
# See https://github.com/timothycrosley/isort#multi-line-output-modes
multi_line_output = 3
# Should be: 80 - 1
line_length = 79
indent = 4
[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__
# Extra options:
addopts =
--strict
--tb=short
--doctest-modules
--cov=platonic.sqs
--cov-report=term:skip-covered
--cov-report=html
--cov-branch
--cov-fail-under=100
[mypy]
# mypy configurations: http://bit.ly/2zEl9WI
allow_redefinition = False
check_untyped_defs = True
disallow_any_explicit = True
disallow_any_generics = True
disallow_untyped_calls = True
ignore_errors = False
ignore_missing_imports = True
implicit_reexport = True
local_partial_types = True
strict_optional = True
strict_equality = True
no_implicit_optional = True
warn_no_return = True
warn_unused_ignores = True
warn_redundant_casts = True
warn_unused_configs = True
warn_unreachable = True