# FastAPI y servidor
fastapi>=0.110.0
uvicorn[standard]>=0.29.0
python-multipart>=0.0.9

# Base de datos
sqlalchemy>=2.0.29
alembic>=1.13.1
psycopg2-binary>=2.9.9

# Validación y schemas
pydantic>=2.7.0
pydantic-settings>=2.2.0
email-validator>=2.1.1

# Seguridad
python-jose[cryptography]>=3.3.0
passlib[bcrypt]>=1.7.4

# Utilidades
python-dotenv>=1.0.1
lxml>=4.9.0
signxml>=3.1.0
reportlab>=4.0.0
cryptography>=41.0.0
uuid6>=2024.1.12
pandas>=2.2.0
openpyxl>=3.1.0

# Background Jobs y Cache
# Pin de compatibilidad: rq 1.16 no soporta importación WatchError en redis 5.x
# Usamos redis 4.6.x estable con rq 1.16.x
redis==4.6.0
rq>=1.16.0,<1.17.0
hiredis>=2.3.0

# Rate Limiting
slowapi>=0.1.9

# Observabilidad
prometheus-client>=0.20.0

# Testing
pytest>=8.0.0
pytest-asyncio>=0.23.0
pytest-cov>=4.1.0
httpx>=0.27.0
requests>=2.31.0
qrcode>=7.4.2
pyotp>=2.9.0
ruff>=0.6.0
mypy>=1.11.0
