fastapi-deck
Interactive scaffold generator for FastAPI projects — like create-next-app
but for FastAPI. Run one command, answer a few questions with your arrow keys,
and get a complete, runnable project with .env, requirements.txt, SQL
database wiring, optional auth, services folder, Docker and tests.
Author: Bazil Suhail · PyPI
What you get
A generated project includes:
.env+.env.example,requirements.txt,requirements-dev.txt,.gitignore,README.md- Typed configuration via
pydantic-settings(no rawos.getenv) - Async SQLAlchemy 2.0 database layer + session dependency
- CORS middleware,
/and/healthendpoints - PostgreSQL: Alembic migrations pre-configured · SQLite: zero-setup local dev
- Optional JWT authentication (python-jose + passlib/bcrypt)
- Three templates:
beginner— single-file appstandard— layered (config,database,models,schemas,routers)production— domain-driven (app/core/+app/modules/with models → schemas → services → routers)
Questions the wizard asks
- Project name
- Template — Beginner / Standard / Production
- Database (SQL only for now; MongoDB comes later) — PostgreSQL / SQLite / None
- Optional features (toggle with the space bar):
- JWT authentication
services/business-logic folder- Docker (Dockerfile + docker-compose.yml)
- pytest smoke tests
Navigate menus with Up/Down arrow keys (or W/S), press Enter to select, Space to toggle optional features, and Q to go back.
Requirements
- Python 3.9+ to run the tool
- Python 3.10+ for generated projects (they use modern type syntax)
Install
pip install fastapi-deck
This registers the fastapi-deck command on your system.
Usage
fastapi-deck
or
python -m fastapi_deck
From the main menu choose Create new project, answer the questions, and the project is written into a new folder named after your project. Then:
cd myproject
python -m venv venv
.\venv\Scripts\activate # Windows (PowerShell: .\venv\Scripts\Activate.ps1)
pip install -r requirements.txt
Copy .env.example to .env and adjust values
uvicorn app.main:app --reload
Open http://localhost:8000/docs for the interactive Swagger UI.
CLI options
fastapi-deck --help # help, including author info
fastapi-deck --version # show the version
Guides
- GUIDE.md — full setup & configuration guide for generated projects:
environment,
.env, database setup, migrations, running, auth, adding modules, tests and Docker.
How the tool is built
Modular and extensible so new templates, databases and features drop in easily:
layouts/— project templates (beginner,standard,production)providers/— pluggable database backends (postgres,sqlite,none)features/— gated optional additions (services, docker, tests)ui.py— reusable arrow-key menu components
Adding MongoDB later is just a new providers/mongodb.py plus one registry entry —
layouts and features need no changes.
Metadata
Release files for fastapi-deck 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fastapi_deck-0.3.0.tar.gz | 21.6 kB | Without provenance | Details for fastapi_deck-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fastapi_deck-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for fastapi_deck-0.3.0-py3-none-any.whl |
Total release size: 49.4 kB
Release files / fastapi_deck-0.3.0.tar.gz
| Download URL | fastapi_deck-0.3.0.tar.gz |
|---|---|
| Size | 21.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa16d64c1bef285152f326f877c988913cbc282571b337eca30223f0a29d04d9
|
|
BLAKE2b-256 checksum How to use checksums |
8d1b85908c457c05bf6a3dfbdd5d47fcab36783957fcffd0aae4b429f154e2b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|
Release files / fastapi_deck-0.3.0-py3-none-any.whl
| Download URL | fastapi_deck-0.3.0-py3-none-any.whl |
|---|---|
| Size | 27.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f522031b1cd5565e8b7bccfa7e269a2c3088f66a5bc0f4be89e0c5bd8ec1ae0
|
|
BLAKE2b-256 checksum How to use checksums |
b0eb929b292adbbe3a6792cb0c859608679fb756c826a3877b1ddec8b17ec555
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|
Security for fastapi-deck 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.