[tox] envlist = py36, py37, examples, notebooks, flake8, docs, coverage [travis] python = 3.7: py37 3.6: py36 [flake8] max-line-length = 120 ignore = E121 E126 E123 E128 E133 E226 E241 E242 E704 W291 W293 W391 W503 W504 W505 [testenv:flake8] basepython = python passenv = DISPLAY deps = -r{toxinidir}/requirements_dev.txt -r{toxinidir}/requirements_continuous_integration.txt commands = flake8 flatland tests examples benchmarks [testenv:docs] ; use python3.6 because of incompatibility under Windows of the pycairo installed through conda for py37 basepython = python3.6 whitelist_externals = make passenv = DISPLAY HTTP_PROXY HTTPS_PROXY conda_deps = cairosvg pycairo tk graphviz conda_channels : conda-forge anaconda deps = -r{toxinidir}/requirements_dev.txt -r{toxinidir}/requirements_continuous_integration.txt changedir = {toxinidir} commands = make docs [testenv:coverage] ; use python3.6 because of incompatibility under Windows of the pycairo installed through conda for py37 basepython = python3.6 whitelist_externals = make passenv = DISPLAY ; HTTP_PROXY+HTTPS_PROXY required behind corporate proxies HTTP_PROXY HTTPS_PROXY conda_deps = cairosvg pycairo tk conda_channels : conda-forge anaconda deps = -r{toxinidir}/requirements_dev.txt -r{toxinidir}/requirements_continuous_integration.txt changedir = {toxinidir} commands = python make_coverage.py [testenv:benchmarks] ; use python3.6 because of incompatibility under Windows of the pycairo installed through conda for py37 basepython = python3.6 setenv = PYTHONPATH = {toxinidir} passenv = DISPLAY XAUTHORITY ; HTTP_PROXY+HTTPS_PROXY required behind corporate proxies HTTP_PROXY HTTPS_PROXY whitelist_externals = sh deps = -r{toxinidir}/requirements_dev.txt -r{toxinidir}/requirements_continuous_integration.txt changedir = {toxinidir} commands = python --version python {toxinidir}/benchmarks/benchmark_all_examples.py [testenv:profiling] ; use python3.6 because of incompatibility under Windows of the pycairo installed through conda for py37 basepython = python3.6 setenv = PYTHONPATH = {toxinidir} passenv = DISPLAY XAUTHORITY ; HTTP_PROXY+HTTPS_PROXY required behind corporate proxies HTTP_PROXY HTTPS_PROXY conda_deps = cairosvg pycairo tk conda_channels : conda-forge anaconda deps = -r{toxinidir}/requirements_dev.txt -r{toxinidir}/requirements_continuous_integration.txt changedir = {toxinidir} commands = python {toxinidir}/benchmarks/profile_all_examples.py [testenv:examples] ; TODO should examples be run with py36 and py37?? ; use python3.6 because of incompatibility under Windows of the pycairo installed through conda for py37 basepython = python3.6 setenv = PYTHONPATH = {toxinidir} passenv = DISPLAY XAUTHORITY ; HTTP_PROXY+HTTPS_PROXY required behind corporate proxies HTTP_PROXY HTTPS_PROXY conda_deps = cairosvg pycairo tk conda_channels : conda-forge anaconda deps = -r{toxinidir}/requirements_dev.txt ; run tests from subfolder to ensure that resources are accessed via resources and not via relative paths changedir = {envtmpdir}/c236d3c240d61a0969d4cb59e2180ce5 commands = python {toxinidir}/benchmarks/run_all_examples.py [testenv:notebooks] ; TODO should examples be run with py36 and py37?? ; use python3.6 because of incompatibility under Windows of the pycairo installed through conda for py37 basepython = python3.6 setenv = PYTHONPATH = {toxinidir} passenv = DISPLAY XAUTHORITY ; HTTP_PROXY+HTTPS_PROXY required behind corporate proxies HTTP_PROXY HTTPS_PROXY whitelist_externals = sh deps = -r{toxinidir}/requirements_dev.txt -r{toxinidir}/requirements_continuous_integration.txt conda_deps = cairosvg pycairo tk conda_channels : conda-forge anaconda ; run tests from subfolder to ensure that resources are accessed via resources and not via relative paths changedir = {envtmpdir}/6f59bc68108c3895b1828abdd04b9a06 commands = python -m jupyter nbextension install --py --sys-prefix widgetsnbextension python -m jupyter nbextension enable --py --sys-prefix widgetsnbextension python -m jupyter nbextension install --py --sys-prefix jpy_canvas python -m jupyter nbextension enable --py --sys-prefix jpy_canvas python {toxinidir}/notebooks/run_all_notebooks.py [testenv:start_jupyter] ; use python3.6 because of incompatibility under Windows of the pycairo installed through conda for py37 basepython = python3.6 setenv = PYTHONPATH = {toxinidir} passenv = DISPLAY XAUTHORITY ; HTTP_PROXY+HTTPS_PROXY required behind corporate proxies HTTP_PROXY HTTPS_PROXY whitelist_externals = sh deps = -r{toxinidir}/requirements_dev.txt -r{toxinidir}/requirements_continuous_integration.txt conda_deps = cairosvg pycairo tk conda_channels : conda-forge anaconda changedir = {toxinidir} commands = python -m jupyter nbextension install --py --sys-prefix widgetsnbextension python -m jupyter nbextension enable --py --sys-prefix widgetsnbextension python -m jupyter nbextension install --py --sys-prefix jpy_canvas python -m jupyter nbextension enable --py --sys-prefix jpy_canvas python -m jupyter notebook [testenv] setenv = PYTHONPATH = {toxinidir} passenv = DISPLAY XAUTHORITY ; HTTP_PROXY+HTTPS_PROXY required behind corporate proxies HTTP_PROXY HTTPS_PROXY conda_deps = cairosvg pycairo tk conda_channels : conda-forge anaconda deps = -r{toxinidir}/requirements_dev.txt ; run tests from subfolder to ensure that resources are accessed via resources and not via relative paths changedir = {envtmpdir}/fefed3ba12bf1ed81dbcc20fb52706ea commands = python --version python -m pytest --basetemp={envtmpdir} {toxinidir} [testenv:py37] ; exclude py37 from Windows because of incompatibility the pycairo installed through conda for py37 platform = linux|linux2|darwin setenv = PYTHONPATH = {toxinidir} passenv = DISPLAY XAUTHORITY ; HTTP_PROXY+HTTPS_PROXY required behind corporate proxies HTTP_PROXY HTTPS_PROXY conda_deps = cairosvg pycairo tk conda_channels : conda-forge anaconda deps = -r{toxinidir}/requirements_dev.txt ; run tests from subfolder to ensure that resources are accessed via resources and not via relative paths changedir = {envtmpdir}/fefed3ba12bf1ed81dbcc20fb52706ea commands = python --version python -m pytest --basetemp={envtmpdir} {toxinidir}