[tox] minversion = 3.8.0 envlist = py36 py37 py38 py39 ignore_basepython_conflict = True skip_missing_interpreters = True skipdist = True [testenv] usedevelop = True deps = pytest pytest-cov setenv = PYTHONIOENCODING=UTF-8 PIP_DISABLE_PIP_VERSION_CHECK=1 passenv = TWINE_* whitelist_externals = git commands= # pyproject.toml for config and defaults python -m pytest {posargs} [testenv:pkg] deps = build>=0.3.1.post1 pip>=20.0 setuptools>=56.2.0 twine>=3.4.1 wheel>=0.36.2 commands = git clean -xdf dist python setup.py check -m -s python -m build --wheel --sdist . python -m twine check dist/* usedevelop = false [testenv:lint] deps = pre-commit>=1.17.0 commands= python -m pre_commit run --color=always {posargs:--all} setenv = PIP_CONSTRAINT= skip_install = true usedevelop = false [testenv:docs] deps = sphinx commands= sphinx-build \ -a -n -v -W --keep-going \ -b html --color \ doc/ "html/" skip_install = false usedevelop = false [testenv:publish] description = Publish package envdir = {toxworkdir}/pkg deps = {[testenv:pkg]deps} commands = {[testenv:pkg]commands} twine upload dist/* usedevelop = false