corvix.notifications.targets.base ================================= .. py:module:: corvix.notifications.targets.base .. autoapi-nested-parse:: NotificationTarget protocol — the extension point for all delivery channels. Classes ------- .. autoapisummary:: corvix.notifications.targets.base.NotificationTarget Module Contents --------------- .. py:class:: NotificationTarget Bases: :py:obj:`Protocol` Delivery channel for notification events. Implement this protocol to add a new notification channel (browser push, Slack, webhook, email, …). ``deliver`` is only called when there is at least one event to process. Errors raised inside ``deliver`` are caught by the dispatcher and surfaced in ``DeliveryResult.errors``; they never propagate to the poll loop. .. py:property:: name :type: str Human-readable identifier used in logs and metrics. .. py:method:: deliver(events: list[corvix.notifications.models.NotificationEvent]) -> corvix.notifications.models.DeliveryResult Deliver *events* to this channel. Must return a ``DeliveryResult`` even on partial failure. Implementations are responsible for their own rate-limiting, retries, and idempotency.