gitmyhub

apprise

Python ★ 17k updated 6h ago

Apprise - Push Notifications that work with just about every platform!

Apprise is a Python library and CLI tool that sends notifications to almost any popular service, Telegram, Discord, Slack, email, SMS, and dozens more, all through a single URL-based interface.

Pythonsetup: easycomplexity 2/5

Apprise is a notifications library and command-line tool that lets you send the same message to almost any popular notification service through a single, consistent interface. Instead of learning the specific API of each service — one for Telegram, another for Discord, another for Slack, Amazon SNS, Gotify, email, SMS providers, push services, desktop notifiers and so on — you describe the destination as a short URL (for example discord://webhook_id/webhook_token or gotify://hostname/token) and Apprise figures out the rest.

The library handles plain text messages, images, and file attachments for the services that accept them, and sends messages asynchronously so notifications go out in parallel rather than one at a time. It supports a long list of destinations, organised in the README into productivity-based notifications (Discord, Slack, Telegram, Microsoft Teams, Mattermost, etc.), SMS providers, desktop notifiers, email (including AWS SES and Brevo), and custom or self-hosted services like Apprise API, Home Assistant, Gotify, Bark, and many more. You can also load your own custom notification hooks.

There are two main ways to use it. System administrators and DevOps users typically use the apprise command-line tool that ships with the package — point it at one or more notification URLs (or a configuration file containing them) and pass in a message. Developers who want to add notifications to their own program can import it as a library and call the same functionality from Python code. It supports configuration files so frequently used destinations don't have to be retyped every time, and supports environment variables and persistent storage for things like rate limiting and history.

Someone would use Apprise when they want a single place that handles "tell me when X happens" across all the chat apps, email accounts, and mobile push services they actually use. The full README is longer than what was provided.

Where it fits