Skip to main content

fastapi-seed

A CLI scaffold tool for FastAPI projects.

Stop copy-pasting project structures. One command, few questions
and your FastAPI project is scaffolded, installed, and ready to run.

No tutorial bloat. No manual setup. Just open your editor and start building.

PyPI version License: MIT

uvx fastapi-seed init my-project   # scaffold into new folder
uvx fastapi-seed init .            # scaffold into current folder

Install

# recommended — no install needed
uvx fastapi-seed init my-project

# or install globally
pip install fastapi-seed
uv add fastapi-seed

What you get

Answer 5 questions:

1. Project name?
2. Setup type?          Minimal / Advanced
3. Set up Docker?       Yes / No
4. Which database?      PostgreSQL / SQLite / None   (only if Docker = Yes)
5. Load testing?        Yes / No

A fully structured project is generated and dependencies are installed automatically via uv sync.

Always included

my-project/
├── app/
│   ├── main.py              ← clean, minimal (~15 lines)
│   ├── routers/health.py    ← health check endpoint
│   ├── schemas/
│   ├── services/
│   └── core/
├── tests/test_main.py
├── .env + .env.example
├── Makefile
├── pyproject.toml           ← ruff + pytest configured
└── README.md

Advanced setup adds

app/core/config.py           ← pydantic-settings config
app/core/logger.py           ← structured logging
.github/workflows/ci.yml     ← ruff + pytest on every PR
.pre-commit-config.yaml      ← ruff runs before every commit

Docker + database adds

Dockerfile                   ← single stage (minimal) / multi-stage (advanced)
docker-compose.yml           ← app + db service pre-wired
app/core/db.py               ← SQLModel session + engine

Load testing adds

tests/load/locustfile.py     ← Locust hitting health endpoint

Why fastapi-seed?

fastapi-seed others
Package manager uv pip
main.py 15 lines, clean 100+ lines of tutorial code
Load testing ✓ Locust included ✗
Complexity levels Minimal / Advanced one size fits all
Docker + DB pre-wired, just works manual setup
CI/CD GitHub Actions included ✗
Interactive UX arrow-key prompts (like Vite) basic input()

Generated project commands

make dev          # uv run uvicorn app.main:app --reload
make test         # uv run pytest
make lint         # uv run ruff check .
make format       # uv run ruff format .
make docker-up    # docker compose up --build
make load-test    # uv run locust

License

MIT


Changelog

[0.1.7] - 2026-03-16

Fixed

  • uv not installed now shows a clear error with install link instead of a crash (FileNotFoundError on Windows)
  • git not installed now shows a clear error with install link instead of a crash
  • Pressing Ctrl+C at any prompt now exits cleanly instead of throwing AttributeError: 'NoneType'

Changed

  • Python support expanded from >=3.13 to >=3.11 — works on 3.11, 3.12, and 3.13

Added

  • --version / -v flag — fastapi-seed --version now prints the current version and exits

[0.1.5] - initial release

Metadata

Release files for fastapi-seed 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastapi-seed 0.1.7
File Size Uploaded
fastapi_seed-0.1.7.tar.gz 14.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastapi-seed 0.1.7
File Interpreter ABI Platform
fastapi_seed-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 32.1 kB

Release files / fastapi_seed-0.1.7.tar.gz

Download URL fastapi_seed-0.1.7.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
85186b3e5d7f83088e4f2766f13a3826b61c47c01ea03378f92f7c1de0edac16
BLAKE2b-256 checksum
How to use checksums
ff690bf44606f972ada13a1f3733646e23fef49ee31ba7be4d39dd51dba2b9b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / fastapi_seed-0.1.7-py3-none-any.whl

Download URL fastapi_seed-0.1.7-py3-none-any.whl
Size 18.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
99ad4b3b826271daa3685e6467a03d36218c2ff280f16fdd08106020bd89f672
BLAKE2b-256 checksum
How to use checksums
7dd8776a89f674c36d1cb2d4dbfb8c62473e1e424f638235c4b3d9d99713ab4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page