⚠ Plan original del equipo — descartado
"Escribir validador propio con regex y dicts" — ~200 líneas de código, sin mantenimiento, sin mensajes de error útiles, sin integración con FastAPI.
Candidatos encontrados — PyPI + GitHub
pydantic
PyPI · ya en pyproject.toml (FastAPI dep)
Validación de tipos + esquemas con decoradores Python. Integración nativa con FastAPI via BaseModel.
MIT
ya instalado
FastAPI nativo
195M dl/mes
marshmallow
PyPI · 12M dl/mes
Serialización y validación clásica para Python. Sin integración automática con FastAPI.
MIT
dep extra
cerberus
PyPI · 1.2M dl/mes
Validación ligera basada en reglas. Sin integración con type hints ni FastAPI.
ISC
poco activo
Veredicto — ADOPT (cero instalaciones extra)
pydantic ya está instalado como dependencia de FastAPI. Basta con declarar los modelos como BaseModel: FastAPI valida automáticamente los request bodies, genera el esquema OpenAPI y produce mensajes de error estructurados. El validador custom planeado es innecesario.
# Antes: 200 líneas de regex custom
# Después: modelo Pydantic (ya disponible)
class MetricsRequest(BaseModel):
store_id: str
period: Literal["7d", "30d", "90d"]
metrics: list[str] = Field(min_length=1, max_length=10)
@app.post("/api/metrics")
async def get_metrics(req: MetricsRequest): # ← validación automática
...