Ответ
Centrifuge — это клиентская библиотека для Python, предназначенная для взаимодействия с real-time сервером сообщений Centrifugo.
Её основная задача — упростить отправку сообщений в WebSocket-каналы из бэкенд-приложения, написанного на Python. Это позволяет реализовать функциональность, требующую мгновенных обновлений на стороне клиента, например:
- Чаты и системы комментирования
- Live-уведомления
- Обновление данных в реальном времени (дашборды, графики)
Пример использования
from cent import Client
# 1. Инициализация клиента с адресом сервера и API-ключом
client = Client("http://localhost:8000", api_key="your-secret-api-key")
# 2. Данные для отправки
payload = {"message": "Hello, real-time world!"}
# 3. Публикация данных в публичный канал 'news'
# Все клиенты, подписанные на этот канал, получат сообщение.
client.publish("news", payload)
Ключевые возможности
- Публикация сообщений: Отправка данных в каналы.
- Управление подписками: Принудительная подписка или отписка пользователей от каналов.
- Приватные каналы: Генерация токенов для доступа к защищенным каналам.
- Получение информации: Запрос информации о состоянии каналов и наличии подписчиков.