# Test + development dependencies for sangam.
#
#   python3 -m venv venv
#   ./venv/bin/pip install -r requirements-dev.txt
#
# The runtime deps (mypy, flask) are declared in setup.py; pytest itself was
# previously undeclared and installed ad hoc, which is why this file exists.
# Run the suite in parallel with ./run_tests.sh (pytest-xdist, see below).

pytest>=8.0
# Parallel test execution: -n <2 x CPU> --dist load, as chosen by
# ./run_tests.sh. Required by ./run_tests.sh.
pytest-xdist>=3.6

# Mirrors setup.py install_requires so a test venv can run the suite against
# the same code paths the CLI uses.
mypy>=0.900
flask>=2.0
rich>=13.0
# Item 2.76: the config editor validates YAML before it writes a file, so the
# suite exercises the same parser a user's install will have. Without it the
# built-in subset parser is used, which is also supported (and tested), so this
# is the normal install rather than a requirement to run the tests.
pyyaml>=6.0
# Item 6.25: tests/test_webapp_packaging.py builds a real wheel and a real sdist
# to prove the webapp is inside the distribution — the one bug a checkout-based
# suite cannot see. `wheel` is the canonical setuptools build-backend dependency
# and is pure Python, so it fits the project's "no compiled toolchain" rule.
build>=1.0
wheel>=0.41
