Benav Labs FastAPI Boilerplate¶
A production-ready FastAPI boilerplate to speed up your development.
Documentation Status
This is our first version of the documentation. While functional, we acknowledge it's rough around the edges - there's a huge amount to document and we needed to start somewhere! We built this foundation (with a lot of AI assistance) so we can improve upon it.
Better documentation, examples, and guides are actively being developed. Contributions and feedback are greatly appreciated!
What is FastAPI Boilerplate?¶
FastAPI Boilerplate is a comprehensive, production-ready template that provides everything you need to build scalable, async APIs using modern Python technologies. It combines the power of FastAPI with industry best practices to give you a solid foundation for your next project.
Core Technologies¶
This boilerplate leverages cutting-edge Python technologies:
- FastAPI - Modern, fast web framework for building APIs with Python 3.7+
- Pydantic V2 - Data validation library rewritten in Rust (5x-50x faster)
- SQLAlchemy 2.0 - Python SQL toolkit and Object Relational Mapper
- PostgreSQL - Advanced open source relational database
- Redis - In-memory data store for caching and message brokering
- ARQ - Job queues and RPC with asyncio and Redis
- Docker - Containerization for easy deployment
- NGINX - High-performance web server for reverse proxy and load balancing
Key Features¶
Performance & Scalability¶
- Fully async architecture
- Pydantic V2 for ultra-fast data validation
- SQLAlchemy 2.0 with efficient query patterns
- Built-in caching with Redis
- Horizontal scaling with NGINX load balancing
Security & Authentication¶
- JWT-based authentication with refresh tokens
- Cookie-based secure token storage
- Role-based access control with user tiers
- Rate limiting to prevent abuse
- Production-ready security configurations
Developer Experience¶
- Comprehensive CRUD operations with FastCRUD
- Automatic API documentation
- Database migrations with Alembic
- Background task processing
- Extensive test coverage
- Docker Compose for easy development
Production Ready¶
- Environment-based configuration
- Structured logging
- Health checks and monitoring
- NGINX reverse proxy setup
- Gunicorn with Uvicorn workers
- Database connection pooling
Quick Start¶
Get up and running in less than 5 minutes:
# Clone the repository
git clone https://github.com/benavlabs/fastapi-boilerplate
cd fastapi-boilerplate
# Start with Docker Compose
docker compose up
That's it! Your API will be available at http://localhost:8000/docs
Continue with the Getting Started Guide →
Documentation Structure¶
For New Users¶
- Getting Started - Quick setup and first steps
- User Guide - Comprehensive feature documentation
For Developers¶
- Development - Extending and customizing the boilerplate
- Testing - Testing strategies and best practices
- Production - Production deployment guides
Perfect For¶
- REST APIs - Build robust, scalable REST APIs
- Microservices - Create microservice architectures
- Smll Applications - Multi-tenant applications with user tiers
- Data APIs - APIs for data processing and analytics
Community & Support¶
- GitHub Issues - Bug reports and feature requests