Django Whisperer

Stay informed of it! Django Whisperer informs subscribed users via an URL when a specific event occurs. Currently only works on PostgreSQL.

Let’s have a look:

from whisperer.events import WhispererEvent, registry
from whisperer.tasks import deliver_event
from django.db.models.signals import post_save

class PackageCreateEvent(WhispererEvent):
    serializer_class = PackageSerializer
    event_type = 'package-created'

registry.register(PackageCreateEvent)


def signal_receiver(instance, created=False, **kwargs):
    if created:
        deliver_event(instance, 'package-created')

post_save.connect(signal_receiver, Package)

This will informs subscribed users when a package created with the following payload:

>>> webhook_event.request_payload
'{"event": {"type": "package-created", "uuid": "da81e85139824c6187dd1e58a7d3f971"}, "data": {"...": "..."}}'

data contains serialized data of the instance which triggered the whisperer event.