Links & Stats
👉 https://github.com/caronc/apprise
![]()
![]()
![]()
Every service you touch has its own way of pinging you. Telegram has a bot API, Discord has webhooks, Slack has incoming hooks, Gotify has its own thing, and ntfy — the one you actually like — has a REST endpoint. Wiring each one into your scripts, cron jobs, and monitoring means learning N different APIs and maintaining N different code paths.
Markdown is the lingua franca of documentation, but it’s static. You write ./deploy.sh, and six months later someone runs it in a terminal with different state and gets a different result. The code rots. The docs drift.
Three tools try to fix this by making Markdown executable, but they take very different approaches. Let me break them down.
“Jupyter notebooks, but for your ops runbooks.”