Skip to main content

Асинхронный инструментарий для работы с Redis Streams и конфигурациями

Project description

RedStream

Асинхронный инструментарий для работы с Redis Streams и конфигурациями.

Описание

RedStream - это Python библиотека, которая предоставляет удобный интерфейс для работы с Redis Streams. Она разработана для создания масштабируемых микросервисных архитектур с использованием Redis в качестве шины обмена сообщениями.

Особенности

  • Асинхронный API для работы с Redis Streams
  • Система роутинга сообщений
  • Работа с группами потребителей (Consumer Groups)
  • Структуры сообщений с поддержкой типизации
  • Отслеживание статусов сообщений в процессе обработки
  • Интеграция с aiogram

Установка

pip install redstream

Простой пример использования

import asyncio
from redstream import RSMessage, RSMessageStatus, RedisStreamRouter

async def main():
    # Инициализация роутера
    router = RedisStreamRouter(
        redis_url="redis://localhost:6379/0",
        stream_name="my_stream"
    )
    
    # Создание сообщения
    message = RSMessage(
        event_type="message",
        message_type="text",
        action="process",
        chat_id="123456",
        user_id="user123",
        text="Привет, RedStream!"
    )
    
    # Отправка сообщения
    await router.publish_message("my_stream", message)
    
    # Обработка сообщений
    async def message_handler(msg):
        print(f"Получено сообщение: {msg.text}")
        return True
    
    # Регистрация обработчика
    router.register_handler("message", message_handler)
    
    # Запуск обработки сообщений
    await router.start_consuming()

if __name__ == "__main__":
    asyncio.run(main())

Лицензия

MIT

Автор

Albert Toma (cornil@mail.ru)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redstream-0.1.5.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

redstream-0.1.5-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file redstream-0.1.5.tar.gz.

File metadata

  • Download URL: redstream-0.1.5.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for redstream-0.1.5.tar.gz
Algorithm Hash digest
SHA256 36c007b6af87cda505f7d5c9cffbac3880a2cb9fce426e8420ab03add479df2b
MD5 60f66b749fc839c03540e25244b9a770
BLAKE2b-256 6ba0e0575506a1b380fae0713259bc93b311b44f843ca00b726b4cdf91806e83

See more details on using hashes here.

File details

Details for the file redstream-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: redstream-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for redstream-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1282bc7766299e7f85912936fb4cd58b1939c86a5c90e9f6cd8375a061b998f9
MD5 2ccdc387327b934e042535775c91c211
BLAKE2b-256 04b40096bb39847987f56735a91ea2c0197dede98cdfac41b693580ac81973b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page