Releases: mrb101/django_broadcaster
Version 0.1.0 - Enhanced User Experience
🎉 Django Dispatch v0.1.0 - Initial Release
We're excited to announce the first release of Django Dispatch, a powerful Django app that implements the transactional outbox pattern with CloudEvents support for reliable event publishing in distributed systems.
✨ What's New
This initial release brings a complete implementation of the transactional outbox pattern to Django applications, ensuring reliable event delivery even in complex distributed architectures.
🚀 Key Features
- 🔄 Transactional Outbox Pattern: Guarantees that events are published reliably alongside database transactions
- ☁️ CloudEvents Compatible: Full compliance with CloudEvents specification for standardized event format
- 🔌 Multiple Backend Support: Built-in support for Redis Streams
- 🔁 Smart Retry Logic: Exponential backoff with configurable retry policies
- 📊 Monitoring & Observability: Comprehensive metrics and health checks out of the box
- 🎯 Event Handlers: Local event processing framework for handling events within your application
- 🔧 Django Admin Integration: Manage and monitor events directly from Django admin
📦 Installation
# Using pip
pip install django-dispatch
# Using uv (recommended)
uv add django-dispatch🎯 Quick Start
- Add to your
INSTALLED_APPS:
INSTALLED_APPS = [
# ... your other apps
'django_dispatch',
]- Configure your publisher backend:
OUTBOX_PUBLISHERS = {
'default': {
'BACKEND': 'django_dispatch.backends.RedisStreamBackend',
'OPTIONS': {
'host': 'localhost',
'port': 6379,
'stream_name': 'events',
}
}
}- Start publishing events:
from django_dispatch.publishers import publisher
event = publisher.publish_event(
event_type='user.created',
source='user-service',
data={'user_id': 123, 'email': 'user@example.com'}
)🔧 Requirements
- Python: 3.11+
- Django: 4.1, 4.2, 5.0+
- Dependencies: Redis 6.2.0+
📚 Documentation
Full documentation is available at https://django-dispatch.readthedocs.io/en/latest/
🤝 Contributing
We welcome contributions! This is an open-source project and we'd love your help to make it even better.
📄 License
This project is licensed under the MIT License.
Note: This is the initial beta release. While the core functionality is stable and ready for use, we're actively working on additional features and improvements. Please report any issues or feature requests on our [GitHub Issues](https://github.com/mrb101/django_dispatch/issues) page.
What's Next?
Stay tuned for upcoming releases with enhanced monitoring capabilities, additional backend support, and performance optimizations!