[tox]
minversion = 2.1
envlist = py36, py37, py38, py39, lint
[testenv]
install_command = pip install -U {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
LANGUAGE=en_US
LC_ALL=en_US.utf-8
ARGS="-V"
deps =
setuptools-rust
networkx>=2.5
changedir = {toxinidir}/tests
commands =
python -m unittest discover .
[testenv:lint]
basepython = python3
deps =
flake8
setuptools-rust
whitelist_externals=cargo
commands =
flake8 . ../setup.py
cargo fmt -- --check
[testenv:docs]
basepython = python3
setenv =
{[testenv]setenv}
deps =
-r {toxinidir}/docs/source/requirements.txt
changedir = {toxinidir}/docs
commands =
sphinx-build -W -b html source build/html {posargs}
[flake8]
# E125 is deliberately excluded. See https://github.com/jcrocholl/pep8/issues/126
# E123 skipped because it is ignored by default in the default pep8
# E129 skipped because it is too limiting when combined with other rules
# E711 skipped because sqlalchemy filter() requires using == instead of is
ignore = E125,E123,E129,E711
exclude = .venv,.git,.tox,dist,doc,*egg,build