-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
91 lines (81 loc) · 1.69 KB
/
tox.ini
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
# tox (https://tox.readthedocs.io/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.
[tox]
skipsdist = True
envlist = py3,linters
[testenv:poetry]
deps =
-r requirements_dev.txt
[testenv]
deps =
{[testenv:poetry]deps}
commands =
coverage run -m pytest {posargs}
coverage combine
coverage report
setenv =
PYTHONPATH = {toxinidir}
[testenv:black]
basepython = python3
skip_install = true
deps =
commands =
black --check .
# Linters
[testenv:flake8]
skip_install = true
deps =
commands = flake8 src tests
[testenv:pylint]
basepython = python3
skip_install = true
deps =
commands =
pylint src tests
[testenv:isort]
basepython = python3
skip_install = true
deps =
commands =
isort --dont-order-by-type --check-only .
[testenv:linters]
basepython = python3
skip_install = true
deps =
{[testenv:poetry]deps}
commands =
{[testenv:black]commands}
{[testenv:isort]commands}
{[testenv:flake8]commands}
{[testenv:pylint]commands}
# Flake8 Configuration
[flake8]
# Ignore some flake8-import-order errors
ignore =
# First line should be in imperative mood
D401,
# Import statements are in the wrong order.
I100,
# Additional newline in a group of imports.
I202,
# line break before binary operator
W503
# line too long (black already deals with that)
E501
exclude =
.tox,
.git,
__pycache__,
docs/source/conf.py,
build,
dist,
tests/fixtures/*,
*.pyc,
*.egg-info,
.cache,
.eggs
max-complexity = 15
import-order-style = google
application-import-names = flake8