# ── Server ───────────────────────────────────────────────────────────────────
# Versiones mínimas conocidas-buenas; sin pin estricto para que pip resuelva
# la última disponible compatible con la versión de Python instalada.
# Probado contra Python 3.11–3.14.
fastapi>=0.115
uvicorn[standard]>=0.34
pydantic>=2.11           # Python 3.14 wheels disponibles desde 2.11
websockets>=13.1
python-multipart>=0.0.20  # uploads en /api/project/open

# ── Cálculo (Sprint 4+) ──────────────────────────────────────────────────────
# numpy y pandas se agregan cuando arranquen los motores de cálculo.
# scipy se agrega cuando salga rueda para Python 3.14 (ETA: ya en pre-release).
# networkx se agrega en Sprint 9 (routing automático).

# ── Exports (Sprint 10) ──────────────────────────────────────────────────────
# ezdxf, reportlab, openpyxl entran cuando empecemos exports DXF/PDF/Excel.

# ── Empaquetado .exe (Sprint 14) ─────────────────────────────────────────────
# pyinstaller se agrega al cierre cuando empacamos el .exe final.
