Skip to main content

Overview

Boomerang is an alerting engine built on Kontiki. Producers publish alerts; the core matches YAML subscriptions; notifiers deliver (email, Telegram, …).

2.0.0 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 (AMQP alert.normalized or POST /alerts) — no change to the engine.
  • Downstream: add a notifier that consumes {channel}.alerting.notification.requested and exposes a channel catalogue — same targeting model.
  • Middle: who gets notified is declared in YAML (app.subscriptions + notifier app.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:

Telegram notification from Boomerang earthquake demo

Stop the stack:

make stack-down

Details (pipeline, HTTP ingest, catalogues, contracts): docs/features.md.


Documentation

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.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kontiki-boomerang 2.0.0
File Size Uploaded
kontiki_boomerang-2.0.0.tar.gz 25.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kontiki-boomerang 2.0.0
File Interpreter ABI Platform
kontiki_boomerang-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 71.8 kB

Release files / kontiki_boomerang-2.0.0.tar.gz

Download URL kontiki_boomerang-2.0.0.tar.gz
Size 25.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b911d7fe7a517e4019f7920f46597db39d698300b5b3f46bb995e731823ee8ea
BLAKE2b-256 checksum
How to use checksums
f00c159035415ed1e31209c2e1f2c0959b9355f51618a37c8e480d40c8b4b71a
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.0.0-py3-none-any.whl

Download URL kontiki_boomerang-2.0.0-py3-none-any.whl
Size 46.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
21f8c843525a6ec6fea2b5910968ca416cb8c7a0efde03955fc949978c4e469b
BLAKE2b-256 checksum
How to use checksums
5c9cea283a442621a344e0cdc8c1062141c4786ee099b8b8aa50d6757d24990a
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 history Release notifications | RSS feed

2.1.1

2 release files

2.1.0

2 release files

This release

2.0.0 This release

2 release files

1.0.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page