[tox] envlist = py35, py36, py37, py38, format, static, docs skip_missing_interpreters = true isolated_build = true [testenv] description = Nothing for now commands = python -c "print('Hello World!')" [testenv:format] description = Enforce file formatting (pre-commit) skip_install = true basepython = python3 deps = pre-commit == 1.21.0 commands = pre-commit run --all-files [testenv:static] description = Static code analysis (mypy+pylint+bandit) basepython = python3.7 ignore_errors = true deps = pylint == 2.4.4 mypy == 0.770 bandit == 1.6.2 commands = mypy mezzo --ignore-missing-imports --no-strict-optional pylint mezzo --rcfile .pylintrc bandit --recursive mezzo [testenv:docs] description = Build documentation (sphinx) basepython = python3.7 deps = sphinx == 2.4.4 sphinx-autodoc-typehints == 1.10.3 whitelist_externals = rm commands = sphinx-apidoc -o "./docs/" "mezzo" rm "docs/modules.rst" sphinx-build -M html "./docs/" "./docs/_build" -W sphinx-build -M latex "./docs/" "./docs/_build" -W