-r requirements.txt

pytest==9.1.1
hypothesis==6.168.3
ruff==0.4.10
black==26.5.1
bandit==1.9.4
pip-audit==2.10.1
build==1.6.1
twine==7.0.0
bump2version==1.0.1
mypy==1.10.0
types-PyYAML==6.0.12.20260906
# Stubs de terceros: sin ellos mypy no puede verificar openpyxl ni
# defusedxml y trata el modulo entero como Any, que es donde se esconden
# los bugs de contrato (ej. pasar details= a una excepcion que no lo acepta).
types-openpyxl==3.1.5.20260827
types-defusedxml==0.7.0.20260504
setuptools==84.0.0
