[tox]
isolated_build = True
envlist = py312

[testenv]
deps =
    black
    coverage
    flake8
    mccabe
    mypy
    pylint
    pytest
commands =
    black --line-length=79 --include='\.pyi?$' --exclude='(\.git | \.docker| \.mypy_cache | \.tox | iechelle-env | scripts | tests | _build | build | dist)' iechelle
    flake8 --ignore=E203,E266,E501,W503,F403,F401 --max-line-length=79 --max-complexity=18 --select=B,C,E,F,W,T4,B9 --exclude=docs/source/conf.py iechelle
    pylint --disable=W1201,C0301,W1203,C0209,R1735,R1734 iechelle
    mypy --install-types --non-interactive iechelle
    coverage erase
    coverage run --include=iechelle/* -m pytest -ra
    coverage report -m
