Skip to main content

Run a command and notify on completion

Project description

Tellme - Stop Watching Long-Running Server Jobs

PyPI version License: MIT Powered by Apprise LINUX DO

中文说明 / Chinese README


Running something large on a remote server, like downloading a model, installing packages over a slow network, or building a project, usually means one annoying tradeoff: either stay at the terminal and keep checking, or walk away and risk forgetting the result.

Tellme solves that problem.

Tellme is a lightweight CLI tool that wraps a long-running command, waits for it to finish, and then sends you a notification with the result: success or failure, exit code, elapsed time, a tail summary of stdout/stderr, and session hints so you can inspect the full output later.

Notifications are powered by Apprise, so you can route them to services like Telegram, PushMe, and many other channels. See the Apprise wiki for all supported notification providers.

Install

The recommended way to install it is with pipx:

pipx install tellme-notify

Upgrade later with:

pipx upgrade tellme-notify

Install directly from this repository:

pipx install .

Usage

Quick start

Run a command and get notified when it finishes:

tellme wget https://example.com/large-model.bin

For a quick one-shot notification without wrapping a command:

tellme echo "Task finished"

If the wrapped command itself starts with - flags, use -- to separate Tellme's arguments from the target command:

tellme -- wget -q https://example.com/file

When the command exits, Tellme sends a message containing the command, exit code, duration, tail output summary, and session information.

Configure notification targets

Use the interactive configuration screen to add your Apprise URLs:

tellme --configure

Inside the configurator, the single-key actions are:

  • a: add an Apprise URL
  • r: remove a URL
  • e: enable or disable a URL
  • c: clear all targets
  • t: toggle WSL Windows Toast support
  • m: set the max stdout/stderr summary length
  • s: save config
  • q: quit

The default config path is ~/.config/tellme/config.yaml.

Example Apprise URLs:

  • Telegram: tgram://<BOT_TOKEN>/<CHAT_ID>/
  • PushMe: pushme://<TOKEN>

For safety, avoid putting tokens directly into shell history. Tellme stores config with private permissions where possible.

Session management

Tellme provides session management similar to screen:

Start a named session:

tellme -N my-task long-running-command

Later, attach to it:

tellme -a -s my-task

Inside an attached session, press Ctrl+A then D to detach.

List all sessions:

tellme --sessions

Show the full output of one session:

tellme -s <SESSION_ID_OR_NAME>

Clean up exited session records:

tellme --clean

Direct notifications with echo

For quick one-shot notifications without session overhead:

tellme echo "Build finished successfully"

This sends a notification immediately without creating a session or recording logs.

Agent Skill Support

Tellme includes a built-in skill for AI agents. Install it to your project directory:

tellme --install-skill

This copies the bundled TellUser skill into your current directory. AI assistants can then use tellme echo to notify you when long tasks complete.

Diagnostics

Run environment and config diagnostics:

tellme --doctor

WSL Windows Toast

When running inside WSL, Tellme can send native Windows toast notifications through powershell.exe, without requiring a separate Windows-side app.

On non-WSL Linux systems, that channel is safely skipped.

Contributing

If you find a bug or want to suggest an improvement, feel free to open an Issue or a Pull Request.

License

This project is released under the MIT License.


Acknowledgement: notification delivery is powered by Apprise.

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

tellme_notify-0.0.2.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

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

tellme_notify-0.0.2-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file tellme_notify-0.0.2.tar.gz.

File metadata

  • Download URL: tellme_notify-0.0.2.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tellme_notify-0.0.2.tar.gz
Algorithm Hash digest
SHA256 47e9a062e6c4ea05f1a12be1bd5528c6f995c280bd7edbd20bb792c24ef23d65
MD5 c4a91b86da3a0d1b14d90cd80350df5f
BLAKE2b-256 84e7a55d06cf0fd48dee41ba8867311290636975007733f9ee02e05809d6e7f5

See more details on using hashes here.

File details

Details for the file tellme_notify-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: tellme_notify-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 24.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tellme_notify-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d83111107b0112bc6052b1974fe1264181935be39d530052ea4fe03305937b70
MD5 28b08477cf365b603e64a6fc73e0696a
BLAKE2b-256 c2820f631aa6c7acb33ef7fea10b57736786fa9a4d8aacb19b3aa20954cd3662

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