Overview
Boomerang is an alerting engine built on Kontiki. Producers publish alerts; the core matches YAML subscriptions; notifiers deliver (email, Telegram, …).
2.1.1 runs on Kontiki 2 (JSON AMQP, RabbitMQ ≥ 4.3).
Subscriptions are a map of rule id to category, optional event_type and criteria, and endpoints.
NotificationRequest carries channel, endpoint_key, and message
(boomerang-contracts 2.0.0). Both ends speak shared contracts:
Producers ──► NormalizedAlert ──► subscription + alert-engine ──► NotificationRequest ──► Notifiers
- Upstream: add a producer that emits
NormalizedAlert(AMQPalert.normalizedorPOST /alerts) — no change to the engine. - Downstream: add a notifier that consumes
{channel}.alerting.notification.requestedand exposes a channel catalogue — same targeting model. - Middle: who gets notified is declared in YAML (
app.subscriptions+ notifierapp.endpoints).
More detail: docs/features.md · docs/contracts.md · docs/configuration.md.
Install
Run the platform (CLI entrypoints):
pip install kontiki-boomerang
# boomerang-subscription, boomerang-alert-engine,
# boomerang-email-notifier, boomerang-telegram-notifier, …
Extend Boomerang (producers / notifiers — contracts only):
pip install boomerang-contracts
The quickstart below uses Docker Compose instead of a local pip install.
Quickstart — earthquake → Telegram / MailHog
The demo stack polls USGS, normalizes quakes, and notifies Telegram plus email
(MailHog). Targeting lives in stack/subscription.demo.yaml
(magnitude >= 2 → telegram.alerts and email.inbox).
1. Bot token (once):
cp stack/notifiers/telegram_bot_token.yaml.example \
stack/notifiers/telegram_bot_token.yaml
# set app.telegram.bot_token from BotFather
2. Telegram chat in stack/notifiers/telegram.yaml:
app:
endpoints:
alerts:
chat_id: "YOUR_CHAT_ID"
3. Start the demo:
make stack-up-demo
Email copies land in MailHog (http://127.0.0.1:8025). When a matching quake arrives, Telegram looks like this:
Stop the stack:
make stack-down
Details (pipeline, HTTP ingest, catalogues, contracts): docs/features.md.
Documentation
- Index:
docs/README.md - Features:
docs/features.md - Contracts:
docs/contracts.md - Configuration:
docs/configuration.md·docs/boomerang-config.example.yaml - Stack config:
stack/ - Contributing:
CONTRIBUTING.md - License:
LICENSE(Apache-2.0)
| Service | README |
|---|---|
| Subscription | boomerang/services/subscription/README.md |
| Alert engine | boomerang/services/alert_engine/README.md |
| Email notifier | boomerang/services/notifiers/email/README.md |
| Telegram notifier | boomerang/services/notifiers/telegram/README.md |
| Earthquake feed (demo) | boomerang/services/alert_services/earthquake/README.md |
Metadata
Release files for kontiki-boomerang 2.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| kontiki_boomerang-2.1.1.tar.gz | 28.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kontiki_boomerang-2.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 79.1 kB
Release files / kontiki_boomerang-2.1.1.tar.gz
| Download URL | kontiki_boomerang-2.1.1.tar.gz |
|---|---|
| Size | 28.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa71dec85d978c63f4f005723179e291b02fef3d62451c6ee87b03d41ad31c93
|
|
BLAKE2b-256 checksum How to use checksums |
aaacb1e6110a7a13586db741fe7be5d754fb41e5fd56746df56233c00c5fb374
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.13.7 Linux/6.8.0-142-generic
|
Release files / kontiki_boomerang-2.1.1-py3-none-any.whl
| Download URL | kontiki_boomerang-2.1.1-py3-none-any.whl |
|---|---|
| Size | 51.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
201e5cdd222bae035fa86dc260d1ce11977c19a9ec202000ef001e850cd16b47
|
|
BLAKE2b-256 checksum How to use checksums |
231b860a3c2fa173f5564b22e7f8bb64ac22e6bdfe94a2576866f7adb83e1d59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.13.7 Linux/6.8.0-142-generic
|
Security for kontiki-boomerang 2.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.