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
|
[tox]
envlist =
py{310,311,312}-test{,-alldeps,-devdeps}
build_docs
linkcheck
codestyle
requires =
setuptools >= 30.3.0
pip >= 19.3.1
isolated_build = true
[testenv]
setenv =
devdeps: PIP_EXTRA_INDEX_URL = https://pypi.anaconda.org/liberfa/simple https://pypi.anaconda.org/astropy/simple https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
mpldev: PIP_EXTRA_INDEX_URL = https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
image: MPLFLAGS = -m "mpl_image_compare" --mpl --mpl-generate-summary=html --mpl-results-path={toxinidir}/results --mpl-hash-library={toxinidir}/aplpy/tests/figures/{envname}.json --mpl-baseline-path=https://raw.githubusercontent.com/aplpy/aplpy-figure-tests/main/figures/{envname}/ --remote-data -W ignore::DeprecationWarning
!image: MPLFLAGS =
# Pass through the following environment variables which may be needed for the CI
passenv =
HOME
WINDIR
LC_ALL
LC_CTYPE
CC
CI
# Run the tests in a temporary directory to make sure that we don't import
# this package from the source tree
changedir = .tmp/{envname}
description =
run tests
alldeps: with all optional dependencies
devdeps: with the latest developer version of key dependencies
oldestdeps: with the oldest supported version of key dependencies
image: with image tests
# The following provides some specific pinnings for key packages
deps =
mpl360: matplotlib==3.6.0
# mpl 3.6.0 isn't compatible with numpy 2.0 but didn't include a pin
mpl360: numpy<2.0
mpldev: matplotlib>=0.0.dev0
image: latex
image: scipy
image: pytest-mpl>=0.17
devdeps: numpy>=0.0.dev0
devdeps: astropy>=0.0.dev0
oldestdeps: numpy==1.22.*
oldestdeps: astropy==5.0.*
oldestdeps: matplotlib==3.5.*
oldestdeps: reproject==0.9.*
oldestdeps: pyregion==2.2.*
oldestdeps: pillow==9.0.*
oldestdeps: pyavm==0.9.6
oldestdeps: scikit-image==0.20.*
oldestdeps: shapely==2.0.*
oldestdeps: pytest==4.*
numpy>=1.22
astropy>=5.0
matplotlib>=3.5
reproject>=0.9
pyregion>=2.2
pillow>=9.0
pyavm>=0.9.6
scikit-image>=0.20
shapely>=2.0
# The following indicates which extras_require from setup.cfg will be installed
extras =
test
alldeps: all
commands =
pip freeze
pytest --pyargs aplpy {toxinidir}/docs --cov aplpy --cov-config={toxinidir}/pyproject.toml {env:MPLFLAGS} {posargs}
[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 aplpy --count --ignore=E501,W503,W504
|