← all repositories
arthurhenrique/cookiecutter-fastapi

FastAPI boilerplate for the impatient ML engineer

A cookiecutter template that wires up FastAPI with uv, pytest, and GitHub Actions so you can stop copy-pasting project skeletons.

709 stars Python App BuildersData Tooling
cookiecutter-fastapi
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

Generates a ready-to-run FastAPI project via the cookiecutter CLI tool. The template bakes in uv for dependency management, pytest for testing, and GitHub Actions for CI — plus hooks for machine learning workflows. Run one command, get a folder structure with Jinja2-customized filenames and content.

The interesting bit

The ML angle is what separates this from a dozen other FastAPI templates. The topics and description suggest it’s aimed at data scientists who need to ship models as APIs but don’t want to wrestle with packaging, testing, and deployment plumbing. The “voilà” in the README is optimistic, but the template genuinely tries to bridge that gap.

Key highlights

  • One-liner project generation: cookiecutter gh:arthurhenrique/cookiecutter-fastapi
  • Uses uv — the Rust-based Python package manager that’s been eating pip’s lunch
  • Pre-configured with pytest and GitHub Actions
  • Jinja2 templating customizes both file paths and contents
  • Explicitly targets ML/AI use cases (LLM, MLOps, neural-network tags)

Caveats

  • The README is extremely thin: no actual feature list, no directory structure diagram, no explanation of what the ML integration actually looks like
  • The animated SVG demo shows the CLI working but reveals nothing about the generated project
  • “You don’t need fork it” is charmingly broken English; maintenance polish appears limited

Verdict

Worth a spin if you’re spinning up FastAPI services for model deployment and want uv + CI out of the box. Skip it if you need documentation, custom auth patterns, or anything beyond a bare scaffold — you’ll be reading the template source to figure out what’s included.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.