[tox]
requires =
    tox>=4.2
env_list =
    lint
    mypy
    py{py3, 315, 314, 313, 312, 311, 310}

[testenv]
deps =
    numpy
    pytest-sugar
extras =
    tests
commands =
    {envpython} selftest.py
    {envpython} -m pytest \
      --dist worksteal \
      --numprocesses auto \
      -W always \
      {posargs}

[testenv:lint]
skip_install = true
deps =
    check-manifest
    prek
pass_env =
    PREK_COLOR
commands =
    prek run --all-files --show-diff-on-failure
    check-manifest

[testenv:mypy]
skip_install = true
deps =
    -r .ci/requirements-mypy.txt
commands =
    mypy conftest.py selftest.py setup.py checks docs src winbuild Tests {posargs}
