FastAPI project scaffolder โ zero dependencies, one command.
Project description
Quick Start
pip install fullapi
fullapi new my_api --preset production
cd my_api && pip install -r requirements.txt
uvicorn main:app --reload
Visit http://localhost:8000/docs for auto-generated API documentation.
With Infrastructure
fullapi new my_api --full --db postgresql --docker --terraform
cd my_api
pip install -r requirements.txt
fullapi docker build
fullapi docker push
fullapi terraform apply
Commands
# Interactive mode
fullapi new my_api
# Use a preset
fullapi new my_api --preset production
# Add components
fullapi add router Product
fullapi add model Order
# Check project health
fullapi doctor
# List presets
fullapi preset list
# Terraform operations
fullapi terraform init
fullapi terraform plan
fullapi terraform apply
fullapi terraform destroy
# Docker operations
fullapi docker build
fullapi docker push
# Scaling
fullapi scale up
fullapi scale down
fullapi scale set medium
fullapi scale status
Presets
| Preset | Description |
|---|---|
production |
Full setup: PostgreSQL + auth + Docker + Redis + middleware + logging |
microservice |
Lightweight: SQLite + Docker + middleware + logging |
docker-ready |
Full mode with PostgreSQL + Docker + logging |
minimal |
Bare essentials, nothing else |
Create custom presets in ~/.fullapi/presets.json
CLI Flags
fullapi new my_api [OPTIONS]
OPTIONS:
--basic Minimal structure
--full Production-ready structure
--db TYPE none | sqlite | postgresql | mysql
--auth JWT authentication
--docker Docker + docker-compose
--redis Redis caching
--middleware CORS, rate limiting, security headers
--logging Structured logging
--terraform Terraform infrastructure (AWS, GCP, Azure)
--template PATH Custom template directory
--preset NAME Use a preset configuration
Features
Zero Dependencies โ Pure Python stdlib
Instant Setup โ Complete project in seconds
Production Ready โ Auth, Docker, DB migrations, caching
Cloud Infrastructure โ Terraform for AWS, GCP, Azure
Container Ops โ Build and push Docker images
Auto Scaling โ Scale infrastructure with simple commands
Extensible โ Add routers/models to existing projects
Health Checks โ fullapi doctor validates structure
Presets โ Save common configurations
Custom Templates โ Bring your own boilerplate
What Gets Created
Basic Mode
my_project/
โโโ main.py
โโโ routers/health.py
โโโ schemas/base.py
โโโ core/config.py
โโโ requirements.txt
โโโ .fullapi.json
Full Mode (--db postgresql --auth --docker --terraform)
my_project/
โโโ main.py
โโโ routers/
โ โโโ health.py
โ โโโ users.py
โโโ models/user.py
โโโ schemas/user.py
โโโ crud/user.py
โโโ core/
โ โโโ config.py
โ โโโ security.py
โโโ db/session.py
โโโ alembic/
โ โโโ env.py
โ โโโ versions/
โโโ terraform/
โ โโโ main.tf
โ โโโ variables.tf
โ โโโ outputs.tf
โ โโโ terraform.tfvars
โ โโโ README.md
โโโ tests/test_main.py
โโโ Dockerfile
โโโ docker-compose.yml
โโโ requirements.txt
โโโ .env.example
โโโ .fullapi.json
Examples
# Start with a preset
fullapi new api --preset production
# Customized setup
fullapi new api --full --db mysql --auth --redis --middleware
# Basic API
fullapi new api --basic
# With cloud infrastructure
fullapi new api --full --db postgresql --docker --terraform
# Custom template
fullapi new api --template ./my_template
Infrastructure Management
Deploy your FastAPI app to AWS, GCP, or Azure with built-in Terraform support:
# Create project with infrastructure
fullapi new myapi --full --db postgresql --docker --redis --terraform
# Build and push Docker image
cd myapi
fullapi docker build
fullapi docker push
# Deploy to cloud
fullapi terraform init
fullapi terraform plan
fullapi terraform apply
# Scale resources
fullapi scale up # Increase instance size
fullapi scale down # Decrease instance size
fullapi scale set large # Set specific size
fullapi scale status # View current configuration
# Destroy infrastructure
fullapi terraform destroy
Supported Cloud Providers:
- AWS (ECS Fargate, RDS, ElastiCache, ECR)
- Google Cloud (Cloud Run, Cloud SQL, Memorystore, Artifact Registry)
- Azure (Container Apps, Azure Database, Azure Cache, ACR)
Cost-Optimized Defaults:
- Small: 1 vCPU, 2GB RAM (~$10-15/month)
- Medium: 2 vCPU, 4GB RAM (~$25-35/month)
- Large: 4 vCPU, 8GB RAM (~$60-80/month)
Contributing
- Keep it stdlib only โ no new dependencies
- Test your changes:
pip install -e . && fullapi new test_project --full - One feature per PR
License
MIT License โ see LICENSE
Created by Sahil Nayak
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fullapi-1.1.0.tar.gz.
File metadata
- Download URL: fullapi-1.1.0.tar.gz
- Upload date:
- Size: 55.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
288fe83bac2d0eac9ccd3a4dd760496e5c7e7cd68da7ac3f5cb4f919c060d644
|
|
| MD5 |
6763923fba74fef3c8665f3aaa1545ad
|
|
| BLAKE2b-256 |
bb9785deb47f418956f65845bed3f3f7bbdd059e3d4953ac0d237a6ff19403a7
|
File details
Details for the file fullapi-1.1.0-py3-none-any.whl.
File metadata
- Download URL: fullapi-1.1.0-py3-none-any.whl
- Upload date:
- Size: 54.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8a82ab9ec91e39800599f196836270f447435705d8c13a5915093e550eb57ef
|
|
| MD5 |
5dd39fe4f1fe52ad9c39107b8ecdbbdc
|
|
| BLAKE2b-256 |
19593010dca1f400323fec80a957615a329faec3eb461d86488212c1f8506ce0
|