-
Notifications
You must be signed in to change notification settings - Fork 306
/
tox.ini
149 lines (137 loc) · 3.91 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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
[tox]
envlist = clean,py311,build_docs
isolated_build = True
[testenv]
allowlist_externals =
/bin/bash
/usr/bin/bash
echo
setenv =
MPLBACKEND = agg
COLUMNS = 180
PIP_INDEX_URL = {env:PIP_INDEX_URL:https://pypi.anaconda.org/scipy-wheels-nightly/simple}
PIP_EXTRA_INDEX_URL = {env:PIP_EXTRA_INDEX_URL:https://pypi.org/simple}
PYTEST_COMMAND = pytest --pyargs plasmapy --durations=25 --showlocals -n=auto --dist=loadfile
extras = tests
deps =
astropydev: git+https://github.com/astropy/astropy
matplotlibdev: git+https://github.com/matplotlib/matplotlib
numpydev: numpy
sphinxdev: git+https://github.com/sphinx-doc/sphinx
xarraydev: git+https://github.com/pydata/xarray
cov: pytest-cov
!minimal: pytest-xdist
pytest-github-actions-annotate-failures
commands =
!cov: {env:PYTEST_COMMAND} {posargs} -m 'not slow'
all: {env:PYTEST_COMMAND} {posargs}
cov-all: {env:PYTEST_COMMAND} {posargs} --cov=plasmapy --cov-report=xml --cov-config={toxinidir}{/}pyproject.toml --cov-append --cov-report xml:coverage.xml
description =
run tests
astropydev: with the development version of astropy
matplotlibdev: with the development version of matplotlib
numpydev: with the development version of numpy
sphinxdev: with the development version of sphinx
xarraydev: with the development version of xarray
minimal: with minimal versions of dependencies
cov: with code coverage
[testenv:clean]
deps = coverage
skip_install = true
commands = coverage erase
[testenv:build_docs]
changedir = {toxinidir}
extras = docs
setenv =
HOME = {envtmpdir}
commands =
sphinx-build docs docs{/}_build{/}html -W -n --keep-going -b html {posargs}
echo "Troubleshooting guide: https://docs.plasmapy.org/en/latest/contributing/doc_guide.html#troubleshooting"
[testenv:build_docs_pins]
changedir = {toxinidir}
setenv =
HOME = {envtmpdir}
PYDEVD_DISABLE_FILE_VALIDATION=1
commands =
sphinx-build docs docs{/}_build{/}html -W -n --keep-going -b html {posargs}
echo "Troubleshooting guide: https://docs.plasmapy.org/en/latest/contributing/doc_guide.html#troubleshooting"
deps = -r{toxinidir}/requirements.txt
[testenv:build_docs-sphinxdev]
changedir = {toxinidir}
extras = docs
setenv =
HOME = {envtmpdir}
commands = sphinx-build docs docs{/}_build{/}html -W -n --keep-going -b html {posargs}
deps =
git+https://github.com/sphinx-doc/sphinx
description =
sphinxdev: with the development version of sphinx
[testenv:build_docs_no_examples]
changedir = {toxinidir}
extras = docs
setenv =
HOME = {envtmpdir}
commands =
sphinx-build -D nbsphinx_execute='never' docs docs{/}_build{/}html -b html {posargs}
[testenv:py311-pins]
basepython = python3.11
deps = -r{toxinidir}/requirements.txt
# This env requires tox-conda.
[testenv:py39-conda]
basepython = python3.9
extras =
deps =
lmfit
pytest-cov
pytest-xdist
conda_deps =
astropy >= 5.0.1
h5py >= 3.3.0
matplotlib >= 3.5.1
mpmath >= 1.2.1
numpy >= 1.21.0
numpydoc
pillow
pytest >= 5.4.0
scipy >= 1.5.0
sphinx
sphinx_rtd_theme
# This env tests minimal versions of each dependency.
[testenv:py39-all-minimal]
basepython = python3.9
extras = tests
deps =
astropy == 5.0.1
h5py == 3.3.0
ipykernel == 6.6.1
ipywidgets == 7.6.5
hypothesis == 6.35.1
lmfit == 1.0.3
matplotlib == 3.5.1
mpmath == 1.2.1
numba == 0.56.0
numpy == 1.21.0
pandas == 1.2.0
pillow == 9.5.0
pytest == 6.0.0
pytest-cov
pytest-regressions == 2.3.1
requests == 2.27.1
scipy == 1.7.0
tqdm == 4.60.0
voila == 0.3.3
wrapt == 1.12.1
xarray == 2022.3.0
setenv =
PYTEST_COMMAND = pytest --pyargs plasmapy --durations=25 --showlocals
[testenv:linters]
deps =
cffconvert
pygments
commands =
cffconvert --validate
[testenv:py39-minimal-pypi-import]
basepython = python3.9
extras =
deps =
commands = python -c 'import plasmapy'