/
tox.ini
75 lines (64 loc) · 2.58 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
# For use with pyct (https://github.com/pyviz/pyct), but just standard
# tox config (works with tox alone).
[tox]
# python version test group extra envs extra commands
envlist = {py36}-{lint,unit,examples,all}-{default,examples}-{dev,pkg}
build = wheel
[_lint]
description = Flake check python and notebooks, and verify notebooks
deps = .[tests]
# verify takes quite a long time - maybe split into flakes and lint?
commands = flake8
pytest --nbsmoke-lint -k ".ipynb"
# requires hv, pandas etc unless missing modules turned into warnings
# pytest --nbsmoke-verify -k ".ipynb"
[_unit]
description = Run unit tests
deps = .[tests]
commands = pytest pyviz
[_examples]
description = Test that examples run
deps = .[examples, geo, graphs, indirect, tests]
# TODO: needs to be small data. See copy hack, which should be
# replaced.
# python -c "import os; from shutil import copyfile; if not os.path.exists('examples/data/nyc_taxi_wide.parq'): copyfile('examples/data/nyc_taxi_50k.parq', 'examples/data/nyc_taxi_wide.parq'"
commands = pytest --nbsmoke-run -k ".ipynb"
# could add more, to test types of example other than nbs
[_all]
description = Run all tests
deps = .[examples, tests]
commands = {[_lint]commands}
{[_unit]commands}
{[_examples]commands}
[_pkg]
# TODO: needs to be small data. See copy hack, which should be
# replaced.
commands = pyviz copy-examples --path=. --force
pyviz fetch-data --path=.
python -c "from shutil import copyfile; copyfile('data/nyc_taxi_50k.parq', 'data/nyc_taxi_wide.parq')"
[testenv]
changedir = {envtmpdir}
commands = examples-pkg: {[_pkg]commands}
unit: {[_unit]commands}
lint: {[_lint]commands}
examples: {[_examples]commands}
all: {[_all]commands}
deps = unit: {[_unit]deps}
lint: {[_lint]deps}
examples: {[_examples]deps}
all: {[_all]deps}
[pytest]
addopts = -v --pyargs --doctest-modules --doctest-ignore-import-errors
norecursedirs = doc .git dist build _build .ipynb_checkpoints apps
nbsmoke_cell_timout = 360
# notebooks to skip running; one case insensitive re to match per line
# (so far these are ones that require extra data)
nbsmoke_skip_run = ^.*Exercise-4-dynamic-interactions\.ipynb$
^.*Exercise-3-networks-and-geoviews\.ipynb$
[flake8]
include = *.py
# run_tests.py is generated by conda build, which appears to have a
# bug resulting in code being duplicated a couple of times.
exclude = .git,__pycache__,.tox,.eggs,*.egg,doc,dist,build,_build,.ipynb_checkpoints,run_test.py
ignore = E,
W