Pundra: Your FastAPI Companion for Productivity
Project description
FastAPI Pundra
Pundra: Your FastAPI Companion for Productivity
FastAPI Pundra is a comprehensive toolkit that extends FastAPI with essential utilities, helpers, and integrations to accelerate your API development. Whether you're building REST APIs or GraphQL endpoints, Pundra provides the building blocks you need to create robust, scalable applications.
๐ Full Documentation | Quick Start Guide | Templates
โจ Why FastAPI Pundra?
- ๐ Zero Boilerplate: Auto-discover routes, automatic pagination, built-in exception handling
- ๐ Batteries Included: Email system, JWT auth, GraphQL support, raw SQL utilities out of the box
- ๐ฆ Production Ready: Battle-tested utilities for password hashing, validation, and error handling
- ๐ฏ Developer Experience: Write less code, focus on business logic, ship faster
๐ Features
- ๐ง Common Utilities: Password hashing, JWT auth, raw SQL support, helper functions
- ๐ง Email System: Template-based emails, background tasks, mail templating with inline CSS
- ๐ REST API: Auto router registration, exception handling, pagination, validation helpers
- ๐ GraphQL (Strawberry): Common types, pagination, resolver utilities, validation integration
๐ Explore all features in detail โ
๐ฆ Installation
Using pip:
pip install fastapi-pundra
Using uv (recommended for faster installation):
uv pip install fastapi-pundra
Or add to your project:
uv add fastapi-pundra
โก Quick Start (30 Seconds)
from fastapi import FastAPI
from fastapi_pundra.rest import auto_bind_router
from fastapi_pundra.rest.global_exception_handler import setup_exception_handlers
app = FastAPI()
# Setup global exception handling
setup_exception_handlers(app)
# Auto-discover and bind all API routes
router = APIRouter()
auto_bind_router(router, "app.api")
app.include_router(router)
Project Structure:
app/
โโโ api/
โโโ health.py # โ /health/*
โโโ v1/
โโโ users.py # โ /v1/users/*
โโโ posts.py # โ /v1/posts/*
๐ View complete tutorials and examples โ
๐ง Key Features Showcase
Auto Router Registration
No more manual router imports! Pundra automatically discovers and registers all your API routes.
Email System
Send beautiful HTML emails with templates and background tasks using FastAPI's native BackgroundTasks.
REST & GraphQL
Comprehensive utilities for both REST APIs and GraphQL (Strawberry) endpoints.
๐ See detailed examples and configuration โ
๐ Documentation & Resources
๐ Full Documentation Site โ Start here!
Quick Links:
- ๐ Getting Started Guide
- ๐ฏ API Reference
- ๐ Tutorials & Examples
- ๐จ Templates
- ๐ Changelog
๐ฌ Community & Support
- ๐ Documentation - Comprehensive guides and tutorials
- ๐ Issues - Report bugs or request features
- ๐ก Discussions - Ask questions and share ideas
- ๐ LinkedIn - Follow for updates
- ๐ง Email - Direct support
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For major changes, please open an issue first to discuss what you would like to change.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐จโ๐ป Author
Mostafa Kamal (@code4mk)
- Email: hiremostafa@gmail.com
- GitHub: github.com/code4mk
- LinkedIn: linkedin.com/in/code4mk
๐ Acknowledgments
Built with these amazing tools:
- FastAPI - Modern, fast web framework for building APIs
- Strawberry GraphQL - Python GraphQL library
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 fastapi_pundra-0.0.21.tar.gz.
File metadata
- Download URL: fastapi_pundra-0.0.21.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
403a3bb087107d918963a85ff5494453cbaa8d1eba5cf7afbabd4fdaf9ad7a8e
|
|
| MD5 |
f1dc5acbf8ede3b7cea5007a765ba3ba
|
|
| BLAKE2b-256 |
8ca896cdfbdbf0620d85295615b61018123f127e97405ca4c995517bf0170b3f
|
File details
Details for the file fastapi_pundra-0.0.21-py3-none-any.whl.
File metadata
- Download URL: fastapi_pundra-0.0.21-py3-none-any.whl
- Upload date:
- Size: 25.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dd82623724d941779da3fc15e0c2e68cf53806de0d2d6c44e8bbeaf09867cbe
|
|
| MD5 |
bb5529ba232bafbaa97a2f702a47e3f1
|
|
| BLAKE2b-256 |
edbb1a3c34dba8527e5525b46fc90aa5dea310e3b2d863d8e64f531b2bad6e8b
|