Skip to main content

🧠 Redis Model Store

License: MIT Language Code style: black GitHub last commit pypi

Store, version, and manage your ML models in Redis with ease. redis-model-store provides a simple yet powerful interface for handling machine learning model artifacts in Redis.

✨ Features

  • 🔄 Automatic Versioning: Track and manage multiple versions of your models
  • 📦 Smart Storage: Large models are automatically sharded for optimal storage
  • 🔌 Pluggable Serialization: Works with any Python object (NumPy, PyTorch, TensorFlow, etc.)
  • 🏃‍♂️ High Performance: Efficient storage and retrieval using Redis pipelining
  • 🛡️ Safe Operations: Atomic operations with automatic cleanup on failures

🚀 Quick Start

Installation

# Using pip
pip install redis-model-store

# Or using poetry
poetry add redis-model-store

Basic Usage

Here's a simple example using scikit-learn:

from redis import Redis
from redis_model_store import ModelStore
from sklearn.ensemble import RandomForestClassifier

# Connect to Redis and initialize store
redis = Redis(host="localhost", port=6379)
store = ModelStore(redis)

# Train your model
model = RandomForestClassifier()
model.fit(X_train, y_train)

# Save model with version tracking
version = store.save_model(
    model,
    name="my-classifier",
    description="Random forest trained on dataset v1"
)

# List available models
models = store.list_models()
print(f"Available models: {models}")

# Load latest version
model = store.load_model("my-classifier")

# Load specific version
model = store.load_model("my-classifier", version=version)

# View all versions
versions = store.get_all_versions("my-classifier")
for v in versions:
    print(f"Version: {v.version}, Created: {v.created_at}")

🛠️ Contributing

We welcome contributions! Here's how to get started:

Development Setup

  1. Clone the repository:
git clone https://github.com/redis-applied-ai/redis-model-store.git
cd redis-model-store
  1. Install poetry if you haven't:
curl -sSL https://install.python-poetry.org | python3 -
  1. Install dependencies:
poetry install --all-extras

Linting and Tests

poetry run format
poetry run check-mypy
poetry run test
poetry run test-verbose

Making Changes

  1. Create a new branch:
git checkout -b feat/your-feature-name
  1. Make your changes and ensure:

    • All tests pass (covering new functionality)
    • Code is formatted
    • Type hints are valid
    • Examples/docs added as notebooks to the docs/ directory.
  2. Push changes and open a PR

📚 Documentation

For more usage examples check out tbhis Example Notebook.

Metadata

Release files for redis-model-store 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for redis-model-store 0.0.2
File Size Uploaded
redis_model_store-0.0.2.tar.gz 10.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for redis-model-store 0.0.2
File Interpreter ABI Platform
redis_model_store-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 20.8 kB

Release files / redis_model_store-0.0.2.tar.gz

Download URL redis_model_store-0.0.2.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c8220b6400da77bf2529be54081d9fa541c49fe277960f17826e5f42ade46bf5
BLAKE2b-256 checksum
How to use checksums
1495f79e401bbe5de3bed1ef35807e9c7a621fe2f198bc7c564a1cd293623a5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.12 Linux/6.11.0-1012-azure

Release files / redis_model_store-0.0.2-py3-none-any.whl

Download URL redis_model_store-0.0.2-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f70873367966d289a73a4ea92a72941e2f3f96e813717a59baad8f37e959e60
BLAKE2b-256 checksum
How to use checksums
5b9e1dd4f808bf58e9c858c15ff37ec08c4765df88d1194bcbad2c81ce33b7a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.12 Linux/6.11.0-1012-azure

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page