-
Notifications
You must be signed in to change notification settings - Fork 2
/
tox.ini
134 lines (125 loc) · 2.56 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
[tox]
envlist =
doc
py
sty
passenv = PYTHONPATH
skip_install = True
skip_missing_interpreters = True
skipsdist = True
[testenv]
allowlist_externals =
pytest
commands =
pytest {posargs}
description =
Run all unit tests
[testenv:cov]
allowlist_externals =
pytest
commands =
pytest {posargs} \
--cov-fail-under=40 \
--cov-report=html \
--cov-report=xml \
--cov=repoma
description =
Compute test coverage
[testenv:doc]
allowlist_externals =
sphinx-build
commands =
sphinx-build \
--keep-going \
-TW \
-b html \
docs/ docs/_build/html
description =
Build documentation and API through Sphinx
passenv = *
setenv =
FORCE_COLOR = yes
[testenv:doclive]
allowlist_externals =
sphinx-autobuild
commands =
sphinx-autobuild \
--open-browser \
--re-ignore .*/.ipynb_checkpoints/.* \
--re-ignore .*/__pycache__/.* \
--re-ignore .*\.gitignore \
--re-ignore .*\.tmp \
--re-ignore docs/.*\.csv \
--re-ignore docs/.*\.gif \
--re-ignore docs/.*\.gv \
--re-ignore docs/.*\.inv \
--re-ignore docs/.*\.json \
--re-ignore docs/.*\.pickle \
--re-ignore docs/.*\.png \
--re-ignore docs/.*\.svg \
--re-ignore docs/.*\.yaml \
--re-ignore docs/.*\.yml \
--re-ignore docs/_build/.* \
--re-ignore docs/_images/.* \
--re-ignore docs/api/.* \
--watch docs \
--watch src \
docs/ docs/_build/html
description =
Set up a server to directly preview changes to the HTML pages
passenv = *
setenv =
FORCE_COLOR = yes
[testenv:docnb]
allowlist_externals =
sphinx-build
commands =
sphinx-build \
--keep-going \
-TW \
-b html \
docs/ docs/_build/html
description =
Build documentation through Sphinx WITH output of Jupyter notebooks
passenv = *
setenv =
EXECUTE_NB = yes
FORCE_COLOR = yes
PYTHONHASHSEED = 0
[testenv:linkcheck]
allowlist_externals =
sphinx-build
commands =
sphinx-build \
-T \
-b linkcheck \
docs/ docs/_build/linkcheck
description =
Check external links in the documentation (requires internet connection)
passenv = *
setenv =
FORCE_COLOR = yes
[testenv:pydeps]
changedir = src
commands =
pydeps repoma \
-o module_structure.svg \
--exclude *._* \
--max-bacon=1 \
--noshow
deps =
pydeps
description =
Visualize module dependencies
passenv = *
[testenv:sty]
allowlist_externals =
mypy
pre-commit
commands =
mypy src tests # run separately because of potential caching problems
pre-commit run {posargs} -a
description =
Perform all linting, formatting, and spelling checks
setenv =
SKIP = mypy, pyright