Flint
A Copier template and CLI for backend-only FastAPI projects — uv, Ruff, SQLModel, JWT auth, and Docker without inheriting a full-stack starter.
Problem
Starting a Python API still burns time on the same scaffolding: pyproject, lockfile, lint, typecheck, test harness, health endpoint, database wiring, auth, CI. Each new repo drifts slightly. Drift compounds into maintenance cost.
Flint packages that setup as a Copier template with a small CLI on top. Generated projects prove they work before the first feature commit. The template is public on GitHub.
Profiles and guarantees
- Three profiles —
minimal,api, andsaas— from health-only to PostgreSQL plus JWT auth - uv lockfile-first dependency management with Ruff lint/format and Pyright type checking
- SQLModel, Alembic, and Docker Compose when the profile calls for a database
- CI workflows that validate generated output on every template change
- Backend-only scope — no React, GraphQL, or observability vendors to delete on day one
PROFILES = {
"minimal": Profile(
name="minimal",
description="FastAPI, uv, Ruff, Pyright, pytest, settings, health, CI.",
database="none",
auth="none",
),
"api": Profile(
name="api",
description="Minimal plus PostgreSQL, SQLModel, Alembic, and Docker Compose.",
database="postgres",
auth="none",
),
}