Skip to content

Releases: mrb101/django_broadcaster

Version 0.1.0 - Enhanced User Experience

25 Jun 09:49

Choose a tag to compare

🎉 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

  1. Add to your INSTALLED_APPS:
INSTALLED_APPS = [
    # ... your other apps
    'django_dispatch',
]
  1. Configure your publisher backend:
OUTBOX_PUBLISHERS = {
    'default': {
        'BACKEND': 'django_dispatch.backends.RedisStreamBackend',
        'OPTIONS': {
            'host': 'localhost',
            'port': 6379,
            'stream_name': 'events',
        }
    }
}
  1. 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!