Skip to content

biisal/fastrdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastRDB.

Follow DRY principles and keep your code DRY with FastRDB
FastRDB is a high-performance, generic CRUD operations package combining SQLAlchemy async ORM with Redis caching.


Features

  • Type-Safe CRUD Operations: Built with Python type hints and generics for robust type checking
  • SQLAlchemy Integration: Seamless integration with SQLAlchemy for database operations
  • Redis Caching: Integrated Redis caching with automatic cache invalidation
  • Async Support: Fully asynchronous operations using SQLAlchemy async ORM and Redis
  • Pagination: Built-in pagination support with customizable limits and page numbers
  • Pydantic Integration: Seamless integration with Pydantic for schema validation
  • Generic Base Class: Extensible base class for creating custom CRUD operations
  • Automatic Cache Management: Smart cache invalidation on data modifications
  • Error Handling: Consistent error handling with custom exceptions

Note

  • ⚡ FastRDB is designed with FastAPI (Fastest Python Web Framework) in mind, providing optimal support for asynchronous operations, dependency injection, and Pydantic-based validation.

  • However, FastRDB is framework-agnostic — you can use it with any Python async environment (such as plain asyncio, Quart, Starlette, etc.), as long as you're using SQLAlchemy's async ORM.

  • Whether you're building REST APIs, microservices, or internal tooling, FastRDB can boost your productivity with clean and reusable CRUD operations. 💡


Requirements

  • Python 3.10 or higher
  • SQLAlchemy
  • Redis
  • Pydantic
  • orjson

You only need to ensure Python version compatibility. All other dependencies will be installed automatically with FastRDB.


Installation

  • Using uv

First create a virtual environment and activate it
(if not already done and it's a good practice to keep your dependencies in a virtual environment) :

uv venv
source .venv/bin/activate 

Install FastRDB:

uv pip install fastrdb
  • Using pip

Create a virtual environment and activate it:

python3 -m venv venv
source venv/bin/activate

Install FastRDB:

pip install fastrdb

Now you are ready to use FastRDB! 🤩


Tutorial

Click here to see a complete example

About

⚡ A lightweight and fast async database abstraction layer with built-in Redis caching, generic CRUD operations, and pagination support — designed for scalable backend systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages