Skip to content

Release v0.1.1 - MongoDB Change Broadcaster

Choose a tag to compare

@Youngestdev Youngestdev released this 22 Apr 08:13
· 12 commits to main since this release
aab7863

🎉 Initial Release Highlights

A robust Python package for transforming MongoDB change streams into real-time events across multiple channels.

✨ Key Features

  • Multi-Channel Broadcasting: Send changes to WebSocket, Redis, HTTP, and Database
  • Extensible Architecture: Easily add custom channels via BaseChannel subclassing
  • Configurable Pipelines: Filter and project change events with MongoDB aggregation syntax
  • Async-First: Built on motor and asyncio for high-performance streaming

🛠 Setup

$ pip install mongo-broadcaster

🚀 Quick Start

from mongo_broadcaster import MongoChangeBroadcaster, BroadcasterConfig

config = BroadcasterConfig(
    mongo_uri="mongodb://localhost:27017",
    collections=[{"collection_name": "users"}]
)
broadcaster = MongoChangeBroadcaster(config)
broadcaster.add_channel(WebSocketChannel())
await broadcaster.start()

📦 Included Channels

Channel Use Case Dependencies
WebSocketChannel Browser real-time updates fastapi, websockets
RedisPubSubChannel Microservice messaging redis
HTTPCallbackChannel Webhook integrations aiohttp
DatabaseChannel Internal logging

⚙️ Breaking Changes

  • Requires MongoDB replica set configuration for change streams
  • Python 3.8+ only

📜 Full Changelog