{"id":25558703,"url":"https://github.com/code4mk/fastapi-pundra","last_synced_at":"2026-02-24T21:31:32.324Z","repository":{"id":272830739,"uuid":"916764020","full_name":"code4mk/fastapi-pundra","owner":"code4mk","description":"Pundra: Your FastAPI Companion for Productivity","archived":false,"fork":false,"pushed_at":"2026-02-02T00:17:46.000Z","size":68,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-02T08:54:54.685Z","etag":null,"topics":["fastapi","fastapi-pundra"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/code4mk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-14T18:06:37.000Z","updated_at":"2026-02-02T00:17:50.000Z","dependencies_parsed_at":"2025-01-16T22:18:16.166Z","dependency_job_id":"8f7fadbc-6d74-42de-be05-8d992ffa8b0a","html_url":"https://github.com/code4mk/fastapi-pundra","commit_stats":null,"previous_names":["code4mk/fastapi-pundra"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/code4mk/fastapi-pundra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code4mk%2Ffastapi-pundra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code4mk%2Ffastapi-pundra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code4mk%2Ffastapi-pundra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code4mk%2Ffastapi-pundra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code4mk","download_url":"https://codeload.github.com/code4mk/fastapi-pundra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code4mk%2Ffastapi-pundra/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29801021,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T21:02:39.706Z","status":"ssl_error","status_checked_at":"2026-02-24T21:02:21.834Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","fastapi-pundra"],"created_at":"2025-02-20T16:19:31.054Z","updated_at":"2026-02-24T21:31:32.318Z","avatar_url":"https://github.com/code4mk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FastAPI Pundra\n\n[![PyPI version](https://badge.fury.io/py/fastapi-pundra.svg)](https://badge.fury.io/py/fastapi-pundra)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Downloads](https://static.pepy.tech/badge/fastapi-pundra)](https://pepy.tech/project/fastapi-pundra)\n\n**Pundra: Your FastAPI Companion for Productivity**\n\nFastAPI 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.\n\n---\n\n## 📖 [**Full Documentation**](https://opensource.code4mk.org/docs/fastapi-pundra) | [Quick Start Guide](https://opensource.code4mk.org/docs/fastapi-pundra) | [Templates](https://opensource.code4mk.org/docs/fastapi-pundra)\n\n---\n\n## ✨ Why FastAPI Pundra?\n\n- 🚀 **Zero Boilerplate**: Auto-discover routes, automatic pagination, built-in exception handling\n- 🔋 **Batteries Included**: Email system, JWT auth, GraphQL support, raw SQL utilities out of the box\n- 📦 **Production Ready**: Battle-tested utilities for password hashing, validation, and error handling\n- 🎯 **Developer Experience**: Write less code, focus on business logic, ship faster\n\n## 🚀 Features\n\n- 🔧 **Common Utilities**: Password hashing, JWT auth, raw SQL support, helper functions\n- 📧 **Email System**: Template-based emails, background tasks, mail templating with inline CSS\n- 🌐 **REST API**: Auto router registration, exception handling, pagination, validation helpers\n- 🍓 **GraphQL (Strawberry)**: Common types, pagination, resolver utilities, validation integration\n\n**[📖 Explore all features in detail →](https://opensource.code4mk.org/docs/fastapi-pundra)**\n\n## 📦 Installation\n\n**Using pip:**\n```bash\npip install fastapi-pundra\n```\n\n**Using uv (recommended for faster installation):**\n```bash\nuv pip install fastapi-pundra\n```\n\nOr add to your project:\n```bash\nuv add fastapi-pundra\n```\n\n## ⚡ Quick Start (30 Seconds)\n\n```python\nfrom fastapi import FastAPI\nfrom fastapi_pundra.rest import auto_bind_router\nfrom fastapi_pundra.rest.global_exception_handler import setup_exception_handlers\n\napp = FastAPI()\n\n# Setup global exception handling\nsetup_exception_handlers(app)\n\n# Auto-discover and bind all API routes\nrouter = APIRouter()\nauto_bind_router(router, \"app.api\")\napp.include_router(router)\n```\n\n**Project Structure:**\n\n```\napp/\n└── api/\n    ├── health.py      # → /health/*\n    └── v1/\n        ├── users.py   # → /v1/users/*\n        └── posts.py   # → /v1/posts/*\n```\n\n**[📖 View complete tutorials and examples →](https://opensource.code4mk.org/docs/fastapi-pundra)**\n\n## 🔧 Key Features Showcase\n\n### Auto Router Registration\nNo more manual router imports! Pundra automatically discovers and registers all your API routes.\n\n### Email System\nSend beautiful HTML emails with templates and background tasks using FastAPI's native BackgroundTasks.\n\n### REST \u0026 GraphQL\nComprehensive utilities for both REST APIs and GraphQL (Strawberry) endpoints.\n\n**[📖 See detailed examples and configuration →](https://opensource.code4mk.org/docs/fastapi-pundra)**\n\n## 📚 Documentation \u0026 Resources\n\n🌐 **[Full Documentation Site](https://opensource.code4mk.org/docs/fastapi-pundra)** ← Start here!\n\n**Quick Links:**\n- [📖 Getting Started Guide](https://opensource.code4mk.org/docs/fastapi-pundra)\n- [🎯 API Reference](https://opensource.code4mk.org/docs/fastapi-pundra)\n- [📝 Tutorials \u0026 Examples](https://opensource.code4mk.org/docs/fastapi-pundra)\n- [🎨 Templates](https://opensource.code4mk.org/docs/fastapi-pundra)\n- [📋 Changelog](https://github.com/code4mk/fastapi-pundra/blob/main/CHANGELOG.md)\n\n## 💬 Community \u0026 Support\n\n- 📖 [Documentation](https://opensource.code4mk.org/docs/fastapi-pundra) - Comprehensive guides and tutorials\n- 🐛 [Issues](https://github.com/code4mk/fastapi-pundra/issues) - Report bugs or request features\n- 💡 [Discussions](https://github.com/code4mk/fastapi-pundra/discussions) - Ask questions and share ideas\n- 🔗 [LinkedIn](https://linkedin.com/in/code4mk) - Follow for updates\n- 📧 [Email](mailto:hiremostafa@gmail.com) - Direct support\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\nFor major changes, please open an issue first to discuss what you would like to change.\n\n**[📖 Contributing Guide →](https://opensource.code4mk.org/docs/fastapi-pundra)**\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 👨‍💻 Author\n\n**Mostafa Kamal** ([@code4mk](https://github.com/code4mk))\n- Email: hiremostafa@gmail.com\n- GitHub: [github.com/code4mk](https://github.com/code4mk)\n- LinkedIn: [linkedin.com/in/code4mk](https://linkedin.com/in/code4mk)\n\n## 🙏 Acknowledgments\n\nBuilt with these amazing tools:\n- [FastAPI](https://fastapi.tiangolo.com/) - Modern, fast web framework for building APIs\n- [Strawberry GraphQL](https://strawberry.rocks/) - Python GraphQL library\n\n\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ for the FastAPI community**\n\n⭐ Star us on [GitHub](https://github.com/code4mk/fastapi-pundra) | 📖 Read the [Docs](https://opensource.code4mk.org/docs/fastapi-pundra)\n\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode4mk%2Ffastapi-pundra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode4mk%2Ffastapi-pundra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode4mk%2Ffastapi-pundra/lists"}