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.3.tar.gz (18.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.3-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for redstream-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7bc7901a788cc72b2c476d810ca6defb0c2297e5f5091a829b35a1739a5078de
MD5 0e5afc2907c8859cf19bc1a951bcc338
BLAKE2b-256 471249e8d175591df4b0bb089bdabfaf5f31c0b0e2d98954be955cd566014b30

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for redstream-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 408be37ac7b3def8c4f092e21b29edd9ea395b217cab6564b5a1c80e120d8040
MD5 76d050663cfb5d946fb4e8578eb07cdc
BLAKE2b-256 93919832d48eb351870b0e9bc157207b664324a5fcc3e3d0c1797d5be3229c0c

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