CLI tool for production-ready FastAPI projects with auth, Docker, databases, and cloud deployment
Project description
🕊️ fullapi
CLI tool for production-ready FastAPI projects with auth, Docker, databases, and Redis caching
Quick Start
pip install fullapi
fullapi new my_api --preset production
cd my_api && pip install -r requirements.txt
uvicorn main:app --reload
Features
| Feature | Description |
|---|---|
| Zero Dependencies | Pure Python stdlib |
| Production Ready | Auth, Docker, DB migrations, Redis |
| Modern Architecture | SQLAlchemy 2.0, Pydantic v2, async lifespan |
| Extensible | Add routers/models anytime |
| Health Checks | fullapi doctor validates structure |
| Database Support | SQLite, PostgreSQL, MySQL with Alembic migrations |
| JWT Authentication | Access/refresh tokens, role-based access |
| Redis Caching | Async client with cache manager |
| Middleware Stack | CORS, rate limiting, security headers, gzip, request ID, logging |
Commands
| Command | Description |
|---|---|
fullapi new <name> |
Create new project |
fullapi add router <name> |
Add router to project |
fullapi doctor |
Check project health |
fullapi docker build |
Build Docker image |
fullapi docker push |
Push image to registry |
fullapi preset list |
List available presets |
Presets
| Preset | Stack |
|---|---|
production |
PostgreSQL + auth + Docker + Redis + middleware + logging |
microservice |
SQLite + Docker + middleware + logging |
minimal |
Basic API only |
CLI Options
fullapi new my_api [OPTIONS]
--basic Minimal structure
--full Production structure
--db TYPE none | sqlite | postgresql | mysql
--auth JWT authentication
--docker Docker + docker-compose
--redis Redis caching
--middleware Middleware stack
--logging Structured logging
--preset NAME Use preset config
Project Structure
my_api/
├── main.py # FastAPI app with lifespan
├── core/ # Config, responses, middleware, logging
├── routers/ # API endpoints (health, users, auth, redis)
├── schemas/ # Pydantic models
├── models/ # SQLAlchemy models
├── crud/ # Database operations
├── dependencies/ # DB, auth, cache injection
├── db/ # Session, base, mixins
├── tests/ # Pytest with fixtures
├── alembic/ # DB migrations
├── requirements.txt
└── .env.example
Built and maintained by @sahilnyk with zero dependencies
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
fullapi-1.2.1.tar.gz
(59.5 kB
view details)
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
fullapi-1.2.1-py3-none-any.whl
(72.0 kB
view details)
File details
Details for the file fullapi-1.2.1.tar.gz.
File metadata
- Download URL: fullapi-1.2.1.tar.gz
- Upload date:
- Size: 59.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
408d692037b866347230f2a4a4ffbbd2bd395ae4d1136938f3503048afad33a9
|
|
| MD5 |
0988c36981db590e56a30da1202492af
|
|
| BLAKE2b-256 |
36db1fa1797e4db67dc2dbe3e62a9be1ebf02dc4e464838084339cdb62db0030
|
File details
Details for the file fullapi-1.2.1-py3-none-any.whl.
File metadata
- Download URL: fullapi-1.2.1-py3-none-any.whl
- Upload date:
- Size: 72.0 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 |
854078740a2360742f94a36382cfc602ae64363e69fc8637c681ac5aa4f3d565
|
|
| MD5 |
1d0821ea943dc457542577689532dd10
|
|
| BLAKE2b-256 |
986cb138b6e83e1b82d18f7c3aa4fb05015e799a27ca0c8a546eb28a1e0a4643
|