Skip to main content

FastAPI Pundra

PyPI version Python 3.10+ License: MIT Downloads

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:

💬 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

For major changes, please open an issue first to discuss what you would like to change.

📖 Contributing Guide →

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👨‍💻 Author

Mostafa Kamal (@code4mk)

🙏 Acknowledgments

Built with these amazing tools:


Made with ❤️ for the FastAPI community

⭐ Star us on GitHub | 📖 Read the Docs

Release files for fastapi-pundra 0.0.24

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastapi-pundra 0.0.24
File Size Uploaded
fastapi_pundra-0.0.24.tar.gz 22.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastapi-pundra 0.0.24
File Interpreter ABI Platform
fastapi_pundra-0.0.24-py3-none-any.whl Python 3 none any Details

Total release size: 52.7 kB

Release files / fastapi_pundra-0.0.24.tar.gz

Download URL fastapi_pundra-0.0.24.tar.gz
Size 22.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d2aa427c3ec6b8cab6eb666ffde25b0667814480795ad50c8332ee04e67e74e8
BLAKE2b-256 checksum
How to use checksums
33d6a90d55cb0ed9d178dbc871d714c0b58aab69856ae52474157e28713e1243
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release files / fastapi_pundra-0.0.24-py3-none-any.whl

Download URL fastapi_pundra-0.0.24-py3-none-any.whl
Size 30.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bb05f26a3817a5932956bbba97b242522c3910512e2e45192591efe116573682
BLAKE2b-256 checksum
How to use checksums
b3fa676164c01e6fe392fedc28b5c49083ba0f9fcc105669b3d765d94d13473b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release history Release notifications | RSS feed

This release

0.0.24 This release

2 release files

0.0.23

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page