[tox] envlist = py36, py37, py38, py39, pypy3, lint, docs, packaging [gh-actions] python = 3.6: py36 3.7: py37 3.8: py38 3.9: py39, lint, docs, packaging pypy3: pypy3 [testenv] passenv = GITHUB_* deps = pytest>=6.2,<7 pytest-cov>=2.10,<3 pytest-xdist>=2.1,<3 hypothesis>=6.9,<7 commands = pytest --cov-report=xml --cov-report=term --cov=priority {posargs} [testenv:pypy3] # temporarily disable coverage testing on PyPy due to performance problems commands = pytest {posargs} [testenv:lint] deps = flake8>=3.8,<4 black==21.6b0 mypy==0.910 {[testenv]deps} commands = flake8 src/ test/ black --check --diff src/ test/ mypy src/ test/ [testenv:docs] deps = sphinx>=3.5,<5 whitelist_externals = make changedir = {toxinidir}/docs commands = make clean make html [testenv:packaging] basepython = python3.9 deps = check-manifest==0.46 readme-renderer==29.0 twine>=3.4.1,<4 whitelist_externals = rm commands = rm -rf dist/ check-manifest python setup.py sdist bdist_wheel twine check dist/* [testenv:publish] basepython = {[testenv:packaging]basepython} deps = {[testenv:packaging]deps} whitelist_externals = {[testenv:packaging]whitelist_externals} commands = {[testenv:packaging]commands} twine upload dist/*