# API Reference

Welcome to the Redis Toolkit API Reference. Here you'll find detailed documentation for all public classes, methods, and functions.

# 📚 API Documentation Organization

🔧 Core API

All methods of the RedisToolkit main class

  • Initialization & Configuration
  • Basic Operations
  • Batch Operations
  • Pub/Sub
View Documentation →

🎨 Converters API

Media processing converters

  • Image Converters
  • Audio Converters
  • Video Converters
  • Common Interfaces
View Documentation →

⚙️ Configuration API

Configuration classes and options

  • RedisConnectionConfig
  • RedisOptions
  • Default Configuration
  • Validation Methods
View Documentation →

🛠️ Utility Functions

Utility and helper functions

  • Serialization Functions
  • Retry Decorators
  • Validation Tools
  • Exception Classes
View Documentation →

# 🎯 Quick Navigation

# Most Used APIs

# Core Classes
from redis_toolkit import RedisToolkit

# Configuration Classes
from redis_toolkit import RedisConnectionConfig, RedisOptions

# Converter Functions
from redis_toolkit.converters import (
    encode_image, decode_image,
    encode_audio, decode_audio,
    get_converter
)

# Utility Functions
from redis_toolkit.utils import serialize_value, deserialize_value
from redis_toolkit.utils import with_retry

# Exception Classes
from redis_toolkit.exceptions import (
    RedisToolkitError,
    SerializationError,
    ValidationError
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# Quick Start Examples

from redis_toolkit import RedisToolkit

# Create Instance
toolkit = RedisToolkit()

# Basic Operations
toolkit.set('key', {'data': 'value'})
value = toolkit.get('key')

# Batch Operations
toolkit.batch_set({
    'key1': 'value1',
    'key2': {'nested': 'data'}
})

# Pub/Sub
def handler(channel, message):
    print(f"Received: {message}")

subscriber = toolkit.subscribe('channel', handler=handler)
toolkit.publish('channel', 'Hello, Redis!')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 📖 Usage Patterns

# Context Manager Pattern

from redis_toolkit import RedisToolkit

# Automatic resource cleanup
with RedisToolkit() as toolkit:
    toolkit.set('temp', 'data')
    value = toolkit.get('temp')
1
2
3
4
5
6

# Custom Configuration

from redis_toolkit import RedisToolkit, RedisConnectionConfig, RedisOptions

# Connection configuration
config = RedisConnectionConfig(
    host='redis.example.com',
    port=6379,
    password='secure_password'
)

# Behavior options
options = RedisOptions(
    log_level='INFO',
    use_connection_pool=True
)

# Create with custom config
toolkit = RedisToolkit(config=config, options=options)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# Error Handling

from redis_toolkit.exceptions import SerializationError, ValidationError

try:
    toolkit.set('key', complex_object)
except SerializationError as e:
    print(f"Serialization failed: {e}")
except ValidationError as e:
    print(f"Validation failed: {e}")
1
2
3
4
5
6
7
8

# 📦 Optional Dependencies

Different features require different optional dependencies:

# Image processing
pip install redis-toolkit[image]

# Audio processing  
pip install redis-toolkit[audio]

# Full media support
pip install redis-toolkit[media]

# All features
pip install redis-toolkit[all]
1
2
3
4
5
6
7
8
9
10
11

# 🔍 Finding What You Need

  1. Basic Redis OperationsCore API
  2. Media ProcessingConverters API
  3. ConfigurationConfiguration API
  4. Error HandlingUtility Functions

# 📚 Additional Resources