-
Notifications
You must be signed in to change notification settings - Fork 1
/
tox.ini
113 lines (105 loc) · 2.33 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
; a generative tox configuration, see: https://tox.wiki/en/latest/user_guide.html#generative-environments
; https://github.com/ionelmc/cookiecutter-pylibrary
[tox]
envlist =
clean,
check,
check-types,
;check-bugs,
check-package,
;docs,
;{py38,py39,py310,py311,py312,py313,pypy38,pypy39},
{py310},
report
ignore_basepython_conflict = true
[testenv]
basepython =
pypy38: {env:TOXPYTHON:pypy3.8}
pypy39: {env:TOXPYTHON:pypy3.9}
py38: {env:TOXPYTHON:python3.8}
py39: {env:TOXPYTHON:python3.9}
py310: {env:TOXPYTHON:python3.10}
py311: {env:TOXPYTHON:python3.11}
py312: {env:TOXPYTHON:python3.12}
py313: {env:TOXPYTHON:python3.13}
{bootstrap,clean,check,check-package,check-types,check-bugs,report,docs,coveralls}: {env:TOXPYTHON:python3}
setenv =
PYTHONPATH={toxinidir}/tests
PYTHONUNBUFFERED=yes
passenv =
*
usedevelop = false
deps =
pytest
pytest-clarity
pytest-cov
pytest-mock
pytest-randomly
extras =
; extra dependencies
warc
commands =
{posargs:pytest --cov --cov-report=term-missing --cov-report=xml -vv}
[testenv:check]
deps =
black
flake8
mypy
isort
skip_install = true
commands =
black --check --diff .
flake8 --extend-ignore E501,E203,DAR
isort --verbose --check-only --diff --filter-files .
[testenv:check-package]
deps =
docutils
check-manifest
;pre-commit
;readme-renderer
;pygments
build
twine
skip_install = true
commands =
python setup.py check --strict --metadata
check-manifest .
;pre-commit run --all-files --show-diff-on-failure
python -m build
twine check --strict dist/*.tar.gz dist/*.whl
[testenv:check-types]
deps =
mypy
types-regex
types-tqdm
skip_install = true
commands =
mypy .
[testenv:check-bugs]
deps =
flake8
flake8-bandit
flake8-bugbear
skip_install = true
commands =
flake8 --select B,S src/
[testenv:docs]
usedevelop = true
deps =
-r{toxinidir}/docs/requirements.txt
commands =
sphinx-build {posargs:-E} -b doctest docs dist/docs
sphinx-build {posargs:-E} -b html docs dist/docs
sphinx-build -b linkcheck docs dist/docs
[testenv:report]
deps =
coverage
skip_install = true
commands =
coverage report
coverage html
[testenv:clean]
commands = coverage erase
skip_install = true
deps =
coverage