Skip to main content

Hermes notification toolkit — bus message sender, tmux notifier, bus-notifier daemon

Project description

hermes-notify

English | 中文

A config-driven notification toolkit for Hermes Agent — CLI senders for bus messages and tmux notifications.

Works with hermes-bus and hermes-bus-plugin. Route rules live in ~/.hermes/bus-rules.yaml.

What is this?

hermes-notify provides two CLI tools:

  • notify-hermes — send messages to any bus endpoint (short-lived connection via hermes_bus.client.send_message)
  • notify-agent — send messages to tmux sessions via send-keys

Route processing (print, context injection, command execution) is handled by hermes-bus-plugin.

Quickstart

  1. Install: pip install hermes-notify
  2. Configure route rules in ~/.hermes/bus-rules.yaml (see hermes-bus-plugin)
  3. Send a message: notify-hermes --to my-service --type task_done "Hello"
  4. The plugin matches match_type: task_done and handles it

Install

pip install hermes-notify

Or from source:

git clone https://github.com/mlinquan/hermes-notify.git
cd hermes-notify && pip install -e .

CLI

# Send a message to any bus endpoint
notify-hermes --to my-service --type task_done "Task completed"
notify-hermes --to my-service --type progress "50% done"
notify-hermes --to my-service --type ack "Received"

# Send a notification to a tmux session
notify-agent mysession "Start working"
notify-agent --simple mysession "FYI: something happened"

# Route processing is handled by hermes-bus-plugin
# See https://github.com/mlinquan/hermes-bus-plugin

Configuration

Route rules are defined in ~/.hermes/bus-rules.yaml and processed by hermes-bus-plugin. See its README for the full rule format.

Session aliases and the default sender name are also configured in bus-rules.yaml:

Architecture

notify-hermes ──→ hermes-bus (Unix Socket)
notify-agent  ──→ tmux send-keys

Message routing (print/inject/command) is handled by hermes-bus-plugin
via ~/.hermes/bus-rules.yaml.

Session Aliases

Map tmux session names to human-readable sender names in bus-rules.yaml:

session_aliases:
  session-1: alias-1
  session-2: alias-2

default_sender: notify-agent

Project details


Download files

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

Source Distribution

hermes_notify-0.4.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

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

hermes_notify-0.4.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file hermes_notify-0.4.0.tar.gz.

File metadata

  • Download URL: hermes_notify-0.4.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for hermes_notify-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a00d83400e0c04bcfae6bf4dfbad18fd0d0fd07eae45750147e38cec7a0f7263
MD5 36d406e82b7415d76e5b50d1b3efc5df
BLAKE2b-256 53d264f3073e455f23d535265e8ef49ae61e0ba2a9af48bdb827526e32d59468

See more details on using hashes here.

File details

Details for the file hermes_notify-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: hermes_notify-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for hermes_notify-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8db02c2fb6d32abc73d84ae48b982d877ca0ff38320300f18157659ad97c1ad8
MD5 b9026e60320267bf78941280a0b30cb2
BLAKE2b-256 d84b6d578a036c2b3f17924f2048d57c09a105e534bf336762f0ad4acbbb512f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page