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, …).

The pipeline stays stable because both ends speak shared contracts (boomerang-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

The demo stack polls USGS, normalizes quakes, and notifies a Telegram chat.

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. Start the demo:

make stack-up-demo

3. Target a chat — subscription excerpt (operator config):

# stack/subscription.yaml (excerpt)
app:
  subscriptions:
    ops:                 # audience → recipient_id
      earthquakes:       # rule id
        status: active
        subscription:
          rule:
            category: natural.earthquake
            event_type: earthquake
            criteria:
              all_of:
                - key: magnitude
                  operator: gte
                  value: 4.5
          endpoints:
            - telegram.alerts
# stack/notifiers/telegram.yaml (excerpt)
app:
  endpoints:
    alerts:
      chat_id: "YOUR_CHAT_ID"

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kontiki_boomerang-0.3.0.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kontiki_boomerang-0.3.0-py3-none-any.whl (44.9 kB view details)

Uploaded Python 3

File details

Details for the file kontiki_boomerang-0.3.0.tar.gz.

File metadata

  • Download URL: kontiki_boomerang-0.3.0.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.13.7 Linux/6.8.0-124-generic

File hashes

Hashes for kontiki_boomerang-0.3.0.tar.gz
Algorithm Hash digest
SHA256 df35d568ecc47a4962a9647a3956f0b2776f354e1a82889a4e13f9186f4898a9
MD5 56a19a32299f81164f66ab22b893db02
BLAKE2b-256 4904f2c785b6f6c01b2143979e83d61631c7a1e4ed809755bb9fee928ad59eed

See more details on using hashes here.

File details

Details for the file kontiki_boomerang-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: kontiki_boomerang-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 44.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.13.7 Linux/6.8.0-124-generic

File hashes

Hashes for kontiki_boomerang-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 18a4b9bf28343ec17623a9b3864a1e4b0865b1af9e0bf69e5fbe53180f34c172
MD5 57285ae208e2fab9db2d81f8757dad99
BLAKE2b-256 ffed2e2a45d15570fe7c54256fe1dd7461da6ddb77b74a1316a07de9505bdd0d

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.0

2 files

0.3.1

2 files

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.0

2 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