Skip to main content

Platform-wide multi-channel notification registry (ADR-088)

Project description

platform-notifications

Platform-wide multi-channel notification registry (ADR-088)

Overview

Unified notification system with channel abstraction, Celery-First async delivery, audit logging, and thread-safe registry pattern.

Installation

pip install -e packages/platform-notifications
pip install -e "packages/platform-notifications[sms]"  # for Twilio SMS

Usage

from platform_notifications.service import NotificationService, Notification

NotificationService.send(Notification(
    tenant_id=request.tenant_id,
    channel="email",
    recipient="user@example.com",
    subject="Welcome",
    body="Hello from the platform!",
    source_app="wedding-hub",
    source_event="rsvp_confirmation",
))

Built-in Channels

  • email — Django send_mail
  • sms — Twilio (requires twilio extra)
  • webhook — Generic HTTPS POST via httpx

Configuration

# config/settings/base.py
PLATFORM_NOTIFICATIONS = {
    "DEFAULT_CHANNELS": ["email"],
    "RETRY_MAX": 3,
    "RETRY_BACKOFF": True,
    "RETRY_BACKOFF_MAX": 300,
    "LOG_RETENTION_DAYS": 90,
}

Database

Run: python manage.py migrate platform_notifications

Related ADRs

  • ADR-088: Notification Registry
  • ADR-045: Secret Management (Twilio, Discord, Telegram)
  • ADR-072: Schema Isolation (Row-Level deviation documented)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iil_platform_notifications-0.1.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iil_platform_notifications-0.1.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file iil_platform_notifications-0.1.0.tar.gz.

File metadata

File hashes

Hashes for iil_platform_notifications-0.1.0.tar.gz
Algorithm Hash digest
SHA256 95b30fcc57662f145f971fad96d86009b6e4678d955d8e84e5907bd5a38dfc9d
MD5 6e3fe4c4494a214e92bc4e335262e9f5
BLAKE2b-256 2b58cfdba905058f13fc7b0ea91333e274f7b93f1e451d722d32505138778e9c

See more details on using hashes here.

File details

Details for the file iil_platform_notifications-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iil_platform_notifications-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e332868b6ae586f8438f96275e271f5611344c732de4a3a26a9c7c8d7e31c8ce
MD5 39d30a96fafe2d2e187e95745add2fdb
BLAKE2b-256 d3593d6bb9ce4f3f879562be4975810e87cdd9417d9c7fe00a9ef2b8470eb425

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page