Skip to main content

Pundra: Your FastAPI Companion for Productivity

Project description

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

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

fastapi_pundra-0.0.22.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastapi_pundra-0.0.22-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_pundra-0.0.22.tar.gz.

File metadata

  • Download URL: fastapi_pundra-0.0.22.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for fastapi_pundra-0.0.22.tar.gz
Algorithm Hash digest
SHA256 86a93933b52c537f7ee6c6cb6e694711592e601a062fce890bb3ba70189e8fdd
MD5 2d0fdb86e3175c544929e24ae02eb2b1
BLAKE2b-256 c71acdc2f8c0d544f38dca98f5db787d7e36ff550a9507d9f763cf2209d5ef60

See more details on using hashes here.

File details

Details for the file fastapi_pundra-0.0.22-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_pundra-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 f518e1b0f8deb3df1d54793874b26858548339dd5c24cfee1c4a18f9e7000b6a
MD5 9aa3051b7a9e6b57351cc18d6d364f4e
BLAKE2b-256 f123f306c6c908e8b6883c2221de4d9296bc3e4463630aa21f32e18670d62028

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page