A FastAPI utilities library providing class-based views, JWT helpers, multi-database support, and common authentication tools.
Fastapi-lazy is a Python library that provides reusable utilities and helpers for FastAPI applications. It simplifies common tasks like implementing class-based views, handling JWT authentication, supporting multiple databases, and integrating Redis caching, making API development more organized and maintainable.
FastAPI developers looking to reduce boilerplate code and add standardized authentication, database, and caching utilities to their projects.
It offers a curated set of production-ready utilities specifically for FastAPI, enabling faster development with consistent patterns for views, authentication, and data persistence without locking into a full framework.
CLI for generating FastAPI projects with selectable templates :sparkles:
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a structured way to organize route handlers using class-based patterns, reducing code duplication and improving maintainability in FastAPI apps, as highlighted in the README.
Includes ready-to-use dependencies for PostgreSQL, MongoDB, and SQLite via SQLAlchemy, allowing easy database switching with minimal code changes, as specified in the features list.
Offers JWT token creation and validation, password hashing, and email validation, simplifying secure authentication implementation without needing separate libraries.
Serializes Python objects to Redis using pickle for efficient caching, helping improve API performance with straightforward integration, though with security caveats.
The README admits that CRUD operations for PostgreSQL and SQLite are 'soon' to be added, making it less suitable for projects needing comprehensive database abstractions immediately.
Uses pickle for Redis cache serialization, which can execute arbitrary code if untrusted data is cached, posing a significant security concern that requires careful handling.
Requires extra packages like passlib for full token functionality, increasing the dependency tree and potential for conflicts in larger projects.