-
-
Notifications
You must be signed in to change notification settings - Fork 158
/
tox.ini
64 lines (56 loc) · 1.88 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
[tox]
envlist=
lint
py{39,310,311,312,313}-marshmallow3
py313-marshmallowdev
py39-lowest
docs
[testenv]
extras = tests
deps =
marshmallow3: marshmallow>=3.0.0,<4.0.0
marshmallowdev: https://github.com/marshmallow-code/marshmallow/archive/dev.tar.gz
# for 'mindeps', pin flask to 1.1.3 and markupsafe to 1.1.1
# because flask 1.x does not set upper bounds on the versions of its dependencies
# generally, we can't install just any version from 1.x -- only 1.1.3 and 1.1.4
# markupsafe is a second-order dependency of flask (flask -> jinja2 -> markupsafe)
# and must be pinned explicitly because jinja2 does not pin its dependencies in any
# versions in its 2.x line
# see:
# https://github.com/marshmallow-code/webargs/pull/694
# https://github.com/pallets/flask/pull/4047
# https://github.com/pallets/flask/issues/4455
lowest: flask==1.1.3
lowest: markupsafe==1.1.1
# all non-flask frameworks
lowest: Django==2.2.0
lowest: bottle==0.12.13
lowest: tornado==4.5.2
lowest: pyramid==1.9.1
lowest: falcon==2.0.0
lowest: aiohttp==3.0.8
commands = pytest {posargs}
[testenv:lint]
deps = pre-commit~=3.5
skip_install = true
commands = pre-commit run --all-files
# a separate `mypy` target which runs `mypy` in an environment with
# `webargs` and `marshmallow` both installed is a valuable safeguard against
# issues in which `mypy` running on every file standalone won't catch things
[testenv:mypy]
deps = mypy==1.11.0
extras = frameworks
commands = mypy src/ {posargs}
[testenv:docs]
extras = docs
commands = sphinx-build docs/ docs/_build {posargs}
; Below tasks are for development only (not run in CI)
[testenv:watch-docs]
deps =
sphinx-autobuild
extras = docs
commands = sphinx-autobuild --open-browser docs/ docs/_build {posargs} --watch src/webargs --delay 2
[testenv:watch-readme]
deps = restview
skip_install = true
commands = restview README.rst