Skip to main content

Hermes notification toolkit — bus message sender, tmux notifier

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.2.tar.gz (5.1 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.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hermes_notify-0.4.2.tar.gz
Algorithm Hash digest
SHA256 99148b3000e56a38e181217d8c8838b834f745e3dce2e3a7047c6f05ac33a126
MD5 bc6e2944fad050e567c0d49147488a71
BLAKE2b-256 77ea05da92434c9377ce04d646bc9296aba8387553139054c693acf2b821a6eb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for hermes_notify-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 eacc9e884b996f40bdcdecdf85ed9ecef035a99061d0e14ff7b53dc566489c47
MD5 49a7061331ad2f9b48d9f756a0fc6e48
BLAKE2b-256 7ab5403debd8a4cd2ca6b0f62b82a36a5b323e072ad149ff475cc4c197d9328e

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