# tox (https://tox.readthedocs.io/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.

[tox]
skipsdist = True
envlist = py38, py39, py310, py311, py312, ruff, build

[testenv]
setenv = TMPDIR={envtmpdir}
passenv = TZ
deps = -e .[test]
commands =
    pytest --basetemp="{envtmpdir}" {posargs}

[testenv:ruff]
deps = ruff
skip_install = True
commands =
    ruff format
    ruff check --fix

[testenv:build]
deps =
    build
    twine
    pip-tools
commands =
    pip-compile
    python -c "from shutil import rmtree; rmtree('dist', ignore_errors=True)"
    python -m build .
    twine check dist/*
