[tox] skipsdist = True envlist = lint,docs,typing,py38,py39,py310,py311,py312,pypy39, pypy310 deps = -r{toxinidir}/requirements.txt skip_missing_interpreters = True [gh-actions] python = 3.8: py38 3.9: py39 3.10: py310, lint, docs, typing 3.11: py311 3.12: py312 pypy-3.9: pypy39 pypy-3.10: pypy310 [testenv] setenv = PYTHONPATH = {toxinidir}/src deps = -r{toxinidir}/requirements.txt # libvirt-python==5.5.0 commands = python -m unittest discover src --verbose [testenv:lint] deps = -r{toxinidir}/requirements.txt -r{toxinidir}/requirements-dev.txt allowlist_externals = yamllint commands = ruff {toxinidir}/src - yamllint {toxinidir} - pylint {toxinidir}/src basepython = python3.10 [testenv:docs] setenv = PYTHONPATH = {toxinidir}/src changedir = docs deps = -r{toxinidir}/requirements.txt -r{toxinidir}/requirements-dev.txt commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html basepython = python3.10 [testenv:typing] description = run static type checkers deps = -r{toxinidir}/requirements.txt -r{toxinidir}/requirements-dev.txt commands = mypy \ --cache-dir="{toxworkdir}/mypy_cache" \ --config-file="{toxinidir}/pyproject.toml" \ {tty:--pretty:} \ {posargs:src} - mypyc \ --cache-dir="{toxworkdir}/mypyc_cache" \ --config-file="{toxinidir}/pyproject.toml" \ {tty:--pretty:} \ {posargs:src} - pytype --keep-going --jobs auto - pyre --noninteractive analyze - pyright {posargs:src} basepython = python3.10 [testenv:coverage-report] deps = coverage skip_install = true commands = coverage combine coverage report [coverage:run] relative_files = True source = src/ branch = True