{"categories":[{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/6"}],"enrichment":{"capability":"Broadcaster provides a simple async broadcast API that abstracts over multiple backend services\u2014Redis PUB/SUB, Redis Streams, Apache Kafka, PostgreSQL LISTEN/NOTIFY, and in-memory\u2014to add realtime pub/sub messaging to Python applications.","skillfed_tags":["async-messaging","pubsub-abstraction","abandoned"],"use_cases":["WebSocket chat or notification systems where messages from one client need to reach multiple connected clients in real time.","Local development and testing using the in-memory backend without requiring external services.","Migrating between pub/sub backends (e.g., from Redis to Kafka) without rewriting application code.","Broadcasting events across multiple async tasks or coroutines within a single application.","Building async web applications with Starlette that need pub/sub messaging."],"what_it_does":"Broadcaster is an async pub/sub abstraction layer that lets you write realtime messaging code once and swap backends without changing application logic. It supports Redis (both PUB/SUB and Streams), Apache Kafka, PostgreSQL LISTEN/NOTIFY, and a simple in-memory backend for development and testing. The package is built on anyio for async compatibility and is designed to integrate with async web frameworks like Starlette.\n\nThe typical use case is adding broadcast channels to async web applications\u2014for example, a WebSocket chat app where messages published to a channel are delivered to all subscribers. You instantiate a Broadcast object with a backend URL, call connect() and disconnect() at app startup and shutdown, then use publish() to send messages and subscribe() as an async context manager to receive them. The abstraction means you can develop locally with the memory backend and deploy with Redis or Kafka by changing a single URL.","worth_installing":"No, not for new projects. The package is abandoned (repo archived, last commit April 2025) and explicitly marked Alpha with an API subject to change. The maintainers recommend pinning strictly to 0.3.0 if you must use it. For realtime messaging, prefer actively maintained alternatives or use backend libraries directly (aioredis, aiokafka, psycopg)."},"id":"broadcaster","links":{"html":"https://skillfed.io/packages/broadcaster","md":"https://skillfed.io/packages/broadcaster.md","pypi":"https://pypi.org/project/broadcaster/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2024-08-01","license_spdx":null,"license_treatment":"permissive","name":"broadcaster","python_support":"supports_current","summary":"Simple broadcast channels."},"popularity":{"monthly_downloads":161803,"position":10621,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.3.1"}
