Skip to main content

Scaffold FastAPI projects in seconds

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_seed-0.1.7.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastapi_seed-0.1.7-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_seed-0.1.7.tar.gz.

File metadata

  • Download URL: fastapi_seed-0.1.7.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for fastapi_seed-0.1.7.tar.gz
Algorithm Hash digest
SHA256 85186b3e5d7f83088e4f2766f13a3826b61c47c01ea03378f92f7c1de0edac16
MD5 a4da5eede2c046dde19ef83ff357e1b6
BLAKE2b-256 ff690bf44606f972ada13a1f3733646e23fef49ee31ba7be4d39dd51dba2b9b3

See more details on using hashes here.

File details

Details for the file fastapi_seed-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: fastapi_seed-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for fastapi_seed-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 99ad4b3b826271daa3685e6467a03d36218c2ff280f16fdd08106020bd89f672
MD5 1154ac22af80fa4e011c457b5bab02f7
BLAKE2b-256 7dd8776a89f674c36d1cb2d4dbfb8c62473e1e424f638235c4b3d9d99713ab4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page