[tox] envlist = lint, mypy, py{37,38,39,310} skip_missing_interpreters = True [testenv] deps = pytest pytest-mock commands = pytest {toxinidir}/check_patroni {toxinidir}/tests {posargs:-vv} [testenv:lint] skip_install = True deps = codespell black flake8 commands = codespell {toxinidir}/check_patroni {toxinidir}/tests black --check --diff {toxinidir}/check_patroni {toxinidir}/tests flake8 {toxinidir}/check_patroni {toxinidir}/tests [testenv:mypy] deps = mypy == 0.961 commands = mypy {toxinidir}/check_patroni [testenv:build] deps = wheel setuptools twine allowlist_externals = rm commands = rm --verbose --recursive --force {toxinidir}/dist/ python setup.py check python setup.py sdist bdist_wheel python -m twine check dist/* [testenv:upload] # requires a check_patroni section in ~/.pypirc skip_install = True deps = twine commands = python -m twine upload --repository check_patroni dist/*