File: tox.ini

package info (click to toggle)
aplpy 2.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,952 kB
  • sloc: python: 3,739; makefile: 112; sh: 6
file content (106 lines) | stat: -rw-r--r-- 2,989 bytes parent folder | download | duplicates (2)
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