Skip to main content

fastpluggy-notification-center

Notification Center Release Pipeline Status Coverage

Persistent notification center for FastPluggy with topbar bell icon, event bus integration, pluggable delivery channels, and optional Web Push support.

Installation

pip install fastpluggy-notification-center

For Web Push support:

pip install fastpluggy-notification-center[push]

Features

  • Topbar bell icon — unread badge count, slide-out notification panel
  • Event bus integration — listens to all notification.* events automatically
  • Pluggable channels — any plugin can register as a delivery channel via the NotificationChannel protocol
  • Channel relay — forward notifications to external channels (ntfy, email, etc.) based on category
  • Web Push — browser push notifications via VAPID (auto-generates keys on first load)
  • Notification categories — info, success, warning, error with colored badges
  • Read/unread tracking — mark individual or bulk mark-as-read
  • Auto-cleanup — configurable retention period (default 30 days)

Configuration

Settings are managed via NotificationCenterSettings (database-backed). Configure through the FastPluggy settings UI.

Setting Default Description
notification_retention_days 30 Days to keep notifications before cleanup
max_notifications_per_page 50 Pagination size for notification list
relay_enabled false Enable forwarding to delivery channels
relay_channels [] Channel names to relay to (empty = all discovered)
relay_categories ["error"] Only relay notifications with these categories
web_push_enabled true Enable browser Web Push support
vapid_private_key "" VAPID private key (auto-generated if empty)
vapid_public_key "" VAPID public key (auto-generated if empty)
vapid_contact_email "" Contact email for VAPID identification

Usage

Sending notifications via event bus

Any plugin can emit a notification event:

fast_pluggy.events.emit("notification.info", payload={
    "title": "Task completed",
    "message": "Backup finished successfully",
    "category": "success",
    "data": {"task_id": 42},
})

Sending browser push notifications

fast_pluggy.events.emit("notification.push", payload={
    "title": "Deployment ready",
    "message": "v1.2.0 is live",
    "url": "/plugin/ecosystem_status/",
})

Explicit relay to all channels

Bypasses the category filter:

fast_pluggy.events.emit("notification.relay", payload={
    "title": "Critical alert",
    "message": "Database connection lost",
    "category": "error",
})

Registering a delivery channel

Any plugin can act as a delivery channel by implementing the NotificationChannel protocol:

from fastpluggy_plugin.notification_center.channels import NotificationChannel

class MyChannel:
    channel_name = "my_channel"

    def send(self, title, message, category, data=None):
        # deliver the notification
        ...

class MyPlugin(FastPluggyBaseModule):
    notification_channel = MyChannel()

The notification center discovers channels automatically at startup.

Dashboard

The notification panel is accessible via the topbar bell icon on every page. A full notification history page is available at /plugin/notification_center/ (CI) or /plugin-pkg/notification_center/ (local dev).

Metadata

Release files for fastpluggy-notification-center 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastpluggy-notification-center 0.2.0
File Size Uploaded
fastpluggy_notification_center-0.2.0.tar.gz 23.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastpluggy-notification-center 0.2.0
File Interpreter ABI Platform
fastpluggy_notification_center-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.9 kB

Release files / fastpluggy_notification_center-0.2.0.tar.gz

Download URL fastpluggy_notification_center-0.2.0.tar.gz
Size 23.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1f819b53a130170238aceb46a8e51436a80bb21b0f308ddd01b833b809b9bd59
BLAKE2b-256 checksum
How to use checksums
2e349828c57e76958a4fdfdc405bac9dd3ee38fcb024809e321b5f5489bc2c87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / fastpluggy_notification_center-0.2.0-py3-none-any.whl

Download URL fastpluggy_notification_center-0.2.0-py3-none-any.whl
Size 23.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9d03e67f156284beed6ee1925151fc6a60eb70a9f7eee40d1069b2fa929e102b
BLAKE2b-256 checksum
How to use checksums
490ed33fcff232f16294258a92d2641477eef606283388a13e38d0e76a6d7e9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page