A Python package for FastAPI providing robust async CRUD operations and automatic endpoint creation with SQLAlchemy 2.0.
FastCRUD is a Python package for FastAPI that provides robust asynchronous CRUD operations and flexible endpoint creation utilities. It simplifies database interactions by offering dynamic query building, advanced join operations with auto-detected conditions, and multiple pagination strategies. The package helps developers build efficient APIs quickly by automating repetitive database tasks.
FastAPI developers building RESTful APIs who need efficient database operations with SQLAlchemy 2.0. It's particularly useful for backend engineers creating CRUD-heavy applications who want to reduce boilerplate code.
Developers choose FastCRUD for its comprehensive async CRUD functionality, automatic endpoint generation, and advanced features like cursor-based pagination and dynamic joins. It offers more flexibility and power compared to similar solutions while maintaining ease of use with FastAPI's ecosystem.
FastCRUD is a Python package for FastAPI, offering robust async CRUD operations and flexible endpoint creation utilities.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages Python's async capabilities for non-blocking database operations, as emphasized in the 'Fully Async' feature, ensuring efficient handling of I/O-bound tasks in FastAPI apps.
Built for the latest SQLAlchemy version, providing robust, type-safe database interactions that align with modern Python async patterns, a core requirement highlighted in the README.
Supports complex queries with dynamic filtering, sorting, and pagination, reducing boilerplate code for advanced data retrieval as described in the features list.
Facilitates SQL joins with auto-detected conditions, simplifying model relationships without manual configuration, which is a key advanced feature mentioned in the documentation.
Tightly coupled with SQLAlchemy 2.0 and FastAPI, making it incompatible with other ORMs like Django ORM or async alternatives such as Tortoise-ORM, restricting ecosystem choice.
The README warns that non-native column types (e.g., from sqlalchemy-utils) can cause NotImplementedError, requiring manual fixes like adding a python_type attribute, adding complexity.
Requires specific minimum versions of Python (3.10+), FastAPI, SQLAlchemy, and Pydantic, which can create integration hurdles with older or differently versioned projects.