[tox]
envlist = py311,py312,py313,lint
isolated_build = True
requires =
    tox>=4.11.3
    setuptools>=45
    setuptools_scm>=6.2
    wheel>=0.37.0

[testenv]
deps =
    pytest>=6.0.0
    pytest-cov>=2.0.0
    pytest-mock>=3.6.1
commands =
    python -m pytest {posargs:tests} --cov=pifunc --cov-report=term-missing

[testenv:lint]
description = run linters
skip_install = true
deps =
    black>=21.5b2
    flake8>=3.9.2
    mypy>=0.910
    isort>=5.9.3
commands =
    black src/pifunc tests
    flake8 src/pifunc tests
    mypy src/pifunc
    isort src/pifunc tests

[flake8]
max-line-length = 88
extend-ignore = E203
exclude =
    .tox,
    *.egg,
    build,
    dist
select = E,W,F
