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.6] - 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

[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.6.tar.gz (14.0 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.6-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastapi_seed-0.1.6.tar.gz
  • Upload date:
  • Size: 14.0 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.6.tar.gz
Algorithm Hash digest
SHA256 b8f862a7ae9ada38e611578397cdfcc257efc5cfe02cdadc243dee8d4e9b0997
MD5 e1fcbd4188346e42ace6a0d10c6bcdeb
BLAKE2b-256 5beab6ef26eb91ddc0ca5876d6b20f52277bef3c5005404eaa781d6f045f45b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastapi_seed-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 17.9 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0d317f9bef631edafa8dab5121d080f2aef0e24433d3b0eff0f5285ded8083b9
MD5 15cce8f2a7864dc4e222fd6840da6d16
BLAKE2b-256 cc431b4030d4f8806aa4fabba6e4d1b290b9b2f3adbaecf36fa106ad98f3ccda

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