Production-grade FastAPI project generator with enterprise features
Project description
"""
create-fastapi-boilerplate
Production-grade FastAPI project generator with enterprise features.
Features
✅ JWT Authentication - OAuth2 with access & refresh tokens, RBAC
✅ Async SQLAlchemy 2.0 - PostgreSQL with full async support
✅ Redis Rate Limiting - Intelligent rate limiting per user/IP
✅ OpenTelemetry - Distributed tracing with Jaeger
✅ Prometheus Metrics - Production-ready monitoring
✅ Docker & Compose - Complete containerization
✅ Full Test Suite - pytest with async support
✅ CI/CD Pipeline - GitHub Actions ready
✅ Code Quality - Ruff, MyPy, pre-commit hooks
Installation
pip install create-fastapi-boilerplate
Or with pipx (recommended):
pipx install create-fastapi-boilerplate
Usage
Create a new FastAPI project:
create-fastapi-boilerplate my-awesome-api
cd my-awesome-api
make compose-up
That's it! Your FastAPI app is now running at http://localhost:8000
Options
create-fastapi-boilerplate --help
Options:
project_name Name of your project
--output-dir, -o Output directory (default: current directory)
--no-git Skip git initialization
--no-install Skip dependency installation
--version, -v Show version
What You Get
my-awesome-api/
├── app/ # Application code
│ ├── api/ # API routes
│ ├── core/ # Config, security
│ ├── models/ # Database models
│ ├── schemas/ # Pydantic schemas
│ └── services/ # Business logic
├── tests/ # Test suite
├── migrations/ # Alembic migrations
├── docker-compose.yml # Services setup
├── Dockerfile # Multi-stage build
├── Makefile # Dev commands
└── .github/workflows/ # CI/CD
Quick Start
# Start with Docker (recommended)
make compose-up
# OR run locally
make install # Install dependencies
make migrate # Run migrations
make dev # Start dev server
# Run tests
make test
# Code quality
make lint
make format
make typecheck
API Endpoints
POST /api/v1/auth/register- Register userPOST /api/v1/auth/login- LoginGET /api/v1/users/me- Get current userGET /health- Health checkGET /docs- OpenAPI docs
Requirements
- Python 3.8+
- Git
- Docker (optional, but recommended)
Default Credentials
⚠️ Change these in production!
- Email:
admin@example.com - Password:
admin123
Documentation
Visit the generated project for complete documentation:
README.md- Full documentationSETUP.md- Setup guideCONTRIBUTING.md- Contribution guidelines
Template Repository
This tool clones from: https://github.com/parth1618/fastapi-boilerplate
Support
License
MIT License - See LICENSE file
Contributing
Contributions welcome! Please see CONTRIBUTING.md
Made with ❤️ by Parth Joshi """
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 create_fastapi_boilerplate-1.0.1.tar.gz.
File metadata
- Download URL: create_fastapi_boilerplate-1.0.1.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3f52b69ce5aa7a6f278dbae1089297185e76e93e4d66337a92399435ce816b6
|
|
| MD5 |
4cf703c038abf009c87261fe1b64b81e
|
|
| BLAKE2b-256 |
69e510e7e7e74f0c9f60744df988acb55efc5cde12aa1514d70b005eb4b30391
|
File details
Details for the file create_fastapi_boilerplate-1.0.1-py3-none-any.whl.
File metadata
- Download URL: create_fastapi_boilerplate-1.0.1-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a0fd22a47a9563c4d33b4980a0d8b30c8228ad4d429ac075627fbd8b148f3c4
|
|
| MD5 |
af1b287b80e678c666533da28a56433f
|
|
| BLAKE2b-256 |
cf211cd1d43343443df6ec5c9d6563ae06e600f5af6a393130c25a775a0b184e
|