Skip to content

GH Docs Pages dont render class info #173

@strawgate

Description

@strawgate

https://strawgate.com/py-key-value/wrappers.html
see:
::: key_value.aio.wrappers.compression.CompressionWrapper options: show_source: false members: - init

CompressionWrapper
Compresses values before storing and decompresses on retrieval using gzip compression.

::: key_value.aio.wrappers.compression.CompressionWrapper options: show_source: false members: - init

Use Cases
Storing large JSON objects
Reducing network transfer for distributed stores
Optimizing disk usage
Example
from key_value.aio.stores.memory import MemoryStore
from key_value.aio.wrappers.compression import CompressionWrapper

store = CompressionWrapper(
    key_value=MemoryStore(),
    min_size_to_compress=1024  # Only compress values > 1KB
)

# Large values are automatically compressed
await store.put(
    key="large-doc",
    value={"content": "..." * 1000},
    collection="documents"
)
Performance Considerations
Compression adds CPU overhead but reduces storage/transfer size
The min_size_to_compress parameter helps avoid compressing small values where overhead exceeds benefit
Uses gzip with compression level 1 for speed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions