-
Notifications
You must be signed in to change notification settings - Fork 38
/
tox.ini
162 lines (144 loc) · 4.68 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
150
151
152
153
154
155
156
157
158
159
160
161
162
[tox]
envlist =
py{39,310,311,312,313}-test{,-all}{,-dev,-latest,-oldest}{,-cov}
py{39,310,311,312,313}-test-numpy{119,120,121,122,123,124,125,126,20,21,22}
py{39,310,311,312,313}-test-scipy{16,17,18,19,110,111,112,113,114}
py{39,310,311,312,313}-test-astropy{40,41,42,43,50,51,52,53,60,61,70}
build_docs
linkcheck
codestyle
requires =
setuptools >= 30.3.0
pip >= 19.3.1
isolated_build = true
[testenv]
# Pass through the following environment variables which may be needed for the CI
passenv = HOME,WINDIR,LC_ALL,LC_CTYPE,CC,CI,TRAVIS
# Run the tests in a temporary directory to make sure that we don't import
# this package from the source tree
changedir = .tmp/{envname}
# tox environments are constructed with so-called 'factors' (or terms)
# separated by hyphens, e.g. test-devdeps-cov. Lines below starting with factor:
# will only take effect if that factor is included in the environment name. To
# see a list of example environments that can be run, along with a description,
# run:
#
# tox -l -v
#
description =
run tests
all: using all optional dependencies
dev: with the developer version of key dependencies
latest: with the latest supported version of key dependencies
oldest: with the oldest supported version of key dependencies
cov: and test coverage
numpy119: with numpy 1.19.*
numpy120: with numpy 1.20.*
numpy121: with numpy 1.21.*
numpy122: with numpy 1.22.*
numpy123: with numpy 1.23.*
numpy124: with numpy 1.24.*
numpy125: with numpy 1.25.*
numpy125: with numpy 1.26.*
numpy20: with numpy 2.0.*
numpy21: with numpy 2.1.*
numpy22: with numpy 2.2.*
scipy16: with scipy 1.6.*
scipy17: with scipy 1.7.*
scipy18: with scipy 1.8.*
scipy19: with scipy 1.9.*
scipy110: with scipy 1.10.*
scipy111: with scipy 1.11.*
scipy112: with scipy 1.12.*
scipy113: with scipy 1.13.*
scipy114: with scipy 1.14.*
astropy40: with astropy 4.0.*
astropy41: with astropy 4.1.*
astropy42: with astropy 4.2.*
astropy43: with astropy 4.3.*
astropy50: with astropy 5.0.*
astropy51: with astropy 5.1.*
astropy52: with astropy 5.2.*
astropy53: with astropy 5.3.*
astropy60: with astropy 6.0.*
astropy61: with astropy 6.1.*
astropy70: with astropy 7.0.*
# The following provides some specific pinnings for key packages
deps =
numpy119: numpy==1.19.*
numpy120: numpy==1.20.*
numpy121: numpy==1.21.*
numpy122: numpy==1.22.*
numpy123: numpy==1.23.*
numpy124: numpy==1.24.*
numpy125: numpy==1.25.*
numpy125: numpy==1.26.*
numpy20: numpy==2.0.*
numpy21: numpy==2.1.*
numpy22: numpy==2.2.*
scipy16: scipy==1.6.*
scipy17: scipy==1.7.*
scipy18: scipy==1.8.*
scipy19: scipy==1.9.*
scipy110: scipy==1.10.*
scipy111: scipy==1.11.*
scipy112: scipy==1.12.*
scipy113: scipy==1.13.*
scipy114: scipy==1.14.*
astropy40: astropy==4.0.*
astropy41: astropy==4.1.*
astropy42: astropy==4.2.*
astropy43: astropy==4.3.*
astropy50: astropy==5.0.*
astropy51: astropy==5.1.*
astropy52: astropy==5.2.*
astropy53: astropy==5.3.*
astropy60: astropy==6.0.*
astropy61: astropy==6.1.*
astropy70: astropy==7.0.*
dev: numpy
dev: scipy
dev: git+https://github.com/astropy/astropy.git#egg=astropy
latest: astropy==7.0.*
latest: numpy==2.2.*
latest: scipy==1.14.*
oldest: astropy==4.0.*
oldest: numpy==1.19.*
oldest: scipy==1.6.*
# The following indicates which extras_require from setup.cfg will be installed
extras =
test
all: all
# Enable pip to install pre-releases in the dev environment
pip_pre =
dev: True
commands =
pip freeze
!cov: pytest --pyargs skypy {toxinidir}/docs {posargs}
cov: pytest --pyargs skypy {toxinidir}/docs --cov skypy --cov-config={toxinidir}/setup.cfg {posargs}
# For dev environment, use scipy-nightly-wheels as the default index server (for numpy and scipy)
# and PyPI as the extra index server (for all other dependencies, except astropy which is installed
# directly from GitHub).
setenv =
dev: PIP_INDEX_URL = https://pypi.anaconda.org/scipy-wheels-nightly/simple
dev: PIP_EXTRA_INDEX_URL = https://pypi.org/simple
[testenv:build_docs]
changedir = docs
description = invoke sphinx-build to build the HTML docs
extras = docs
commands =
pip freeze
sphinx-build -W -b html . _build/html
[testenv:linkcheck]
changedir = docs
description = check the links in the HTML docs
extras = docs
commands =
pip freeze
sphinx-build -W -b linkcheck . _build/html
[testenv:codestyle]
skip_install = true
changedir = .
description = check code style, e.g. with flake8
deps = flake8
commands = flake8 skypy