← Back to all sparks
A

Apprise

COMMS
Velocity0.0

Unified notification delivery across dozens of messaging services

Apprise passed 150 notification services and taught tags to carry priority.

notificationspython-libraryservice-integrationspriority-routingdeveloper-tooling
Current state
Apprise is a Python notification library that normalizes delivery across services behind a single URL syntax, and it now supports more than 150 of them. Recent releases pair a steady intake of new services — Stackfield, PushWard, MailerSend, Kook, IRC, Fluxer, Viber Bot, a restored XMPP via Slixmpp — with structural work: HTML to Markdown conversion built in, weighted tag routing, and a documentation and URL Builder site at appriseit.com that several releases were explicitly staged to enable.
Where it's heading
Two lines are converging. Breadth is the obvious one and it compounds monthly, but the more interesting shift is from a fan-out library to one that makes routing decisions: tags now carry weights, and delivery attempts cascade by priority rather than firing at everything at once. The tooling investment — details() as JSON, plugin definition cleanup, the URL Builder — reads as an effort to make that growing service catalog navigable to people who won't read 150 sets of docs.
Prediction
Expect the monthly cadence of bundled service additions to continue, and the weighted-routing model to accumulate configuration surface now that ordering is a first-class concept. The repeated groundwork commits suggest more of the documentation site's functionality is still being backfilled.

Recent moves

  1. 1mo ago

    Past 150 services, with HTML-to-Markdown conversion built in

    The monthly bundle that pushes the catalog past 150 services, adding Stackfield, PushWard, MailerSend, Notifyer, Kook and others in one pass. Built-in HTML to Markdown conversion is the more durable change — it removes a preprocessing step for anyone feeding rich content into services that only accept plain formats.

    View source ↗
  2. 2mo ago

    Tags gain weights, turning notification fan-out into failover

    ⚡ SPARK

    This is where Apprise stops being purely a fan-out layer: tags can carry a weight, and delivery walks the priority levels in order, only falling through when a level fails. Everything the library did before still works unchanged, but routing is now something it decides rather than something the caller pre-computes.

    View source ↗
  3. 4mo ago

    XMPP multi-user chat and the groundwork for the URL Builder

    Described in its own notes as a mini release, it adds XMPP multi-user chat support and fixes a send/disconnect race condition in the same protocol. The details() JSON response and repo cleanup are explicitly staging for the URL Builder — an example of how much recent work serves the documentation site rather than the library itself.

    View source ↗
  4. 5mo ago

    IRC support arrives and XMPP returns via Slixmpp

    A heavy service release: IRC with ZNC bouncer support, Viber Bot, Fluxer, a jellyfin alias for Emby, and XMPP restored on Slixmpp after a period without it. Slack OAuth bot rotation support is the operational note here — token rotation is what separates a demo integration from one that survives in production.

    View source ↗
  5. 6mo ago

    Back to full test coverage; docs move to appriseit.com

    Returning to 100% test coverage and standing up a dedicated documentation source are investments in maintainability rather than features, and they precede the URL Builder work that follows. YAML config gaining plural tags support is a small fix that matters to anyone managing many targets declaratively.

    View source ↗
  6. 8mo ago

    Four new services plus RPM and typing packaging fixes

    Four more services — 46elks, Dot, NotificationAPI, Brevo — alongside packaging fixes for RPM builds and the return of py.typed to the manifest. A representative release for this project: breadth from contributors, packaging papercuts from the maintainer.

    View source ↗