You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

redis-model-store

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

redis-model-store

Library to handle versioning and serialization of AI/ML models into Redis.

0.0.2
pipPyPI
Maintainers
2

🧠 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

  • Clone the repository:
git clone https://github.com/redis-applied-ai/redis-model-store.git
cd redis-model-store
  • Install poetry if you haven't:
curl -sSL https://install.python-poetry.org | python3 -
  • 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

  • Create a new branch:
git checkout -b feat/your-feature-name
  • 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.
  • Push changes and open a PR

📚 Documentation

For more usage examples check out tbhis Example Notebook.

Keywords

ai

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts