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.1.tar.gz (25.1 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.1-py3-none-any.whl (44.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kontiki_boomerang-0.3.1.tar.gz
  • Upload date:
  • Size: 25.1 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.1.tar.gz
Algorithm Hash digest
SHA256 98b3695fde87930b8391e8cff617f5a475a2ed1f3e7ff56dbad4e6d84ef990c1
MD5 c658cf9dfda2df9a7bf5954387667aba
BLAKE2b-256 b067319e0cfc933bd0a25a0a7bc28ee8437e3e0c2a1cbcd7142386727e0c6526

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kontiki_boomerang-0.3.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4e5d5336fa769f2fccc99a1fc3cdab7df1519de0bd45d32d14728dd5de91d37d
MD5 e04e64f86fcf95a39860f66636aeb2b9
BLAKE2b-256 66e87132a51613f0e562b36779b8cdc6edda74436904838a6a99defe503fb541

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.0

2 files

This release

0.3.1 This release

2 files

0.3.0

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