back to home

caronc / apprise

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

16,074 stars
571 forks
81 issues
PythonRoffShell

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing caronc/apprise in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/caronc/apprise)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

**ap·prise** / *verb* To inform or tell (someone). To make one aware of something. *Apprise* allows you to send a notification to *almost* all of the most popular *notification* services available to us today such as: Telegram, Discord, Slack, Amazon SNS, Gotify, etc. • One notification library to rule them all. • A common and intuitive notification syntax. • Supports the handling of images and attachments (_to the notification services that will accept them_). • It's incredibly lightweight. • Amazing response times because all messages sent asynchronously. Developers who wish to provide a notification service no longer need to research each and every one out there. They no longer need to try to adapt to the new ones that comeout thereafter. They just need to include this one library and then they can immediately gain access to almost all of the notifications services available to us today. System Administrators and DevOps who wish to send a notification now no longer need to find the right tool for the job. Everything is already wrapped and supported within the command line tool (CLI) that ships with this product. Table of Contents • Supported Notifications • Productivity Based Notifications • SMS Notifications • Desktop Notifications • Email Notifications • Custom Notifications • Installation • Command Line Usage • Configuration Files • File Attachments • Loading Custom Notifications/Hooks • Environment Variables • Developer API Usage • Configuration Files • File Attachments • Loading Custom Notifications/Hooks • Persistent Storage • More Supported Links and Documentation Visit the Official Documentation site for more information on Apprise. Supported Notifications The section identifies all of the services supported by this library. Check out the wiki for more information on the supported modules here. Productivity Based Notifications The table below identifies the services this tool supports and some example service urls you need to use in order to take advantage of it. Click on any of the services listed below to get more details on how you can configure Apprise to access them. | Notification Service | Service ID | Default Port | Example Syntax | | -------------------- | ---------- | ------------ | -------------- | | Apprise API | apprise:// or apprises:// | (TCP) 80 or 443 | apprise://hostname/Token | AWS SES | ses:// | (TCP) 443 | ses://user@domain/AccessKeyID/AccessSecretKey/RegionName ses://user@domain/AccessKeyID/AccessSecretKey/RegionName/email1/email2/emailN | Bark | bark:// | (TCP) 80 or 443 | bark://hostname bark://hostname/device_key bark://hostname/device_key1/device_key2/device_keyN barks://hostname barks://hostname/device_key barks://hostname/device_key1/device_key2/device_keyN | BlueSky | bluesky:// | (TCP) 443 | bluesky://Handle:AppPw bluesky://Handle:AppPw/TargetHandle bluesky://Handle:AppPw/TargetHandle1/TargetHandle2/TargetHandleN | Brevo | brevo:// | (TCP) 443 | brevo://APIToken:FromEmail/ brevo://APIToken:FromEmail/ToEmail brevo://APIToken:FromEmail/ToEmail1/ToEmail2/ToEmailN/ | Chanify | chantify:// | (TCP) 443 | chantify://token | Discord | discord:// | (TCP) 443 | discord://webhook_id/webhook_token discord://avatar@webhook_id/webhook_token | Dot. | dot:// | (TCP) 443 | dot://apikey@device_id/text/ dot://apikey@device_id/image/ **Note**: is the Quote/0 hardware serial | Emby | emby:// or embys:// | (TCP) 8096 | emby://user@hostname/ emby://user:password@hostname | Enigma2 | enigma2:// or enigma2s:// | (TCP) 80 or 443 | enigma2://hostname | FCM | fcm:// | (TCP) 443 | fcm://project@apikey/DEVICE_ID fcm://project@apikey/#TOPIC fcm://project@apikey/DEVICE_ID1/#topic1/#topic2/DEVICE_ID2/ | Feishu | feishu:// | (TCP) 443 | feishu://token | Flock | flock:// | (TCP) 443 | flock://token flock://botname@token flock://app_token/u:userid flock://app_token/g:channel_id flock://app_token/u:userid/g:channel_id | Google Chat | gchat:// | (TCP) 443 | gchat://workspace/key/token | Gotify | gotify:// or gotifys:// | (TCP) 80 or 443 | gotify://hostname/token gotifys://hostname/token?priority=high | Growl | growl:// | (UDP) 23053 | growl://hostname growl://hostname:portno growl://password@hostname growl://password@hostname:port **Note**: you can also use the get parameter _version_ which can allow the growl request to behave using the older v1.x protocol. An example would look like: growl://hostname?version=1 | Guilded | guilded:// | (TCP) 443 | guilded://webhook_id/webhook_token guilded://avatar@webhook_id/webhook_token | Home Assistant | hassio:// or hassios:// | (TCP) 8123 or 443 | hassio://hostname/accesstoken hassio://user@hostname/accesstoken hassio://user:password@hostname:port/accesstoken hassio://hostname/optional/path/accesstoken | IFTTT | ifttt:// | (TCP) 443 | ifttt://webhooksID/Event ifttt://webhooksID/Event1/Event2/EventN ifttt://webhooksID/Event1/?+Key=Value ifttt://webhooksID/Event1/?-Key=value1 | IRC | irc:// or ircs:// | (TCP) 6667 or 6697 | ircs://user:pass@irc.server/@user ircs://user:pass@irc.server/#channel?join=true&mode=nickserv ircs://user:pass@znc.server/@user1/@user2/@user3/#channel1 | Jellyfin | jellyfin:// or jellyfins:// | (TCP) 8096 | jellyfin://user@hostname/ jellyfins://user:password@hostname | Join | join:// | (TCP) 443 | join://apikey/device join://apikey/device1/device2/deviceN/ join://apikey/group join://apikey/groupA/groupB/groupN join://apikey/DeviceA/groupA/groupN/DeviceN/ | KODI | kodi:// or kodis:// | (TCP) 8080 or 443 | kodi://hostname kodi://user@hostname kodi://user:password@hostname:port | Kumulos | kumulos:// | (TCP) 443 | kumulos://apikey/serverkey | LaMetric Time | lametric:// | (TCP) 443 | lametric://apikey@device_ipaddr lametric://apikey@hostname:port lametric://client_id@client_secret | Lark | lark:// | (TCP) 443 | lark://BotToken | Line | line:// | (TCP) 443 | line://Token@User line://Token/User1/User2/UserN | Mailgun | mailgun:// | (TCP) 443 | mailgun://user@hostname/apikey mailgun://user@hostname/apikey/email mailgun:…