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

[testenv]
deps =
    numpy
extras =
    tests
commands =
    make clean
    {envpython} -m pip install .
    {envpython} selftest.py
    {envpython} -m pytest -W always {posargs}
allowlist_externals =
    make

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

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