[tox]
envlist = py313, flake8, mypy

[testenv:flake8]
basepython = python3
deps = flake8
commands = flake8 src tests

[testenv:mypy]
basepython = python3
deps = 
    mypy
    pandas-stubs
    pydantic
    types-python-dateutil
    types-wtforms
    types-Flask
    types-PyYAML
commands = mypy src

[testenv]
description = install pytest in a virtual environment and invoke it on the tests folder
setenv =
    PYTHONPATH = {toxinidir}/src
deps =
    pytest>=7
    pytest-cov
    pytest-sugar
    coverage
    python-magic
    flask>=2.0.0
    Flask-WTF>=1.2.2
    wtforms>=3.2.1
    werkzeug>=3.1.0
    lxml>=5.3.0
    PyYAML>=6.0
    scikit-learn>=1.7.2
commands = coverage run -m pytest tests {posargs}

[flake8]
max-line-length = 119
max-complexity = 10