job-launcher
Type-safe interfaces from one Pydantic model — a Typer CLI, plus an optional FastAPI web form and a job launcher + dashboard. Define your config once; no duplication, no drift.