-
Notifications
You must be signed in to change notification settings - Fork 2
/
tox.ini
135 lines (122 loc) · 2.35 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
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
[tox]
minversion=2.3.1
envlist = py27,py33,py34,py35,py36,flake8,linters,docs
[testenv]
deps =
mock>=2.0.0
pytest!=3.0.5
coverage
commands =
coverage run --parallel-mode -m pytest {posargs}
coverage combine
coverage report -m
[testenv:venv]
deps =
.
commands = {posargs}
# Linters
[testenv:flake8]
basepython = python3
skip_install = true
deps =
flake8
flake8-docstrings>=0.2.7
flake8-import-order>=0.9
commands =
flake8 src/oeuvre/ tests/ setup.py
[testenv:pylint]
basepython = python3
skip_install = true
deps =
pyflakes
pylint
commands =
pylint src/oeuvre
[testenv:doc8]
basepython = python3
skip_install = true
deps =
sphinx
doc8
commands =
doc8 docs/source/
[testenv:bandit]
basepython = python3
skip_install = true
deps =
bandit
commands =
bandit -r src/oeuvre/ -c .bandit.yml
[testenv:linters]
basepython = python3
skip_install = true
deps =
{[testenv:flake8]deps}
{[testenv:pylint]deps}
{[testenv:doc8]deps}
{[testenv:readme]deps}
{[testenv:bandit]deps}
commands =
{[testenv:flake8]commands}
{[testenv:pylint]commands}
{[testenv:doc8]commands}
{[testenv:readme]commands}
{[testenv:bandit]commands}
# Documentation
[testenv:docs]
basepython = python3
deps =
sphinx>=1.3.0
sphinx_rtd_theme
commands =
sphinx-build -E -W -c docs/source/ -b html docs/source/ docs/build/html
sphinx-build -E -W -c docs/source/ -b man docs/source/ docs/build/man
[testenv:serve-docs]
basepython = python3
skip_install = true
changedir = docs/build/html
deps =
commands =
python -m http.server {posargs}
[testenv:readme]
basepython = python3
deps =
readme_renderer
commands =
python setup.py check -r -s
# Release tooling
[testenv:build]
basepython = python3
skip_install = true
deps =
wheel
setuptools
commands =
python setup.py -q sdist bdist_wheel
[testenv:release]
basepython = python3
skip_install = true
deps =
{[testenv:build]deps}
twine >= 1.5.0
commands =
{[testenv:build]commands}
twine upload --skip-existing dist/*
# Flake8 Configuration
[flake8]
# Ignore some flake8-docstrings errors
ignore = D203
exclude =
.tox,
.git,
__pycache__,
docs/source/conf.py,
build,
dist,
*.pyc,
*.egg-info,
.cache,
.eggs
max-complexity = 10
import-order-style = google
application-import-names = oeuvre