Watch command output and get notified on changes


License
MIT
Install
pip install watch-diff==0.3.0

Documentation

watch-diff

Main workflow PyPI

Periodically run a command and receive nice diff styled emails on output changes.

See https://francisbergin.github.io/posts/watch-diff for more info.

Setup

pip install watch-diff

Features

  • Supports Python >= 3.7
  • Uses only Python Standard Library
  • Sends email diff in both text and html form
  • Output changes to CLI and optionally to SMTP
  • Uses Message-ID and In-Reply-To to group email threads

Usage

$ watch-diff --help
usage: watch-diff [-h] [-v | -d] [-i SECONDS] [-r RECIPIENT] command

Watch command output and get notified on changes

positional arguments:
  command               the command to watch

optional arguments:
  -h, --help            show this help message and exit
  -i SECONDS, --interval SECONDS
                        number of seconds between executions
  -r RECIPIENT, --recipient RECIPIENT
                        send email to recipient

logging level:
  -v, --verbose         enable verbose output
  -d, --debug           show debugging statements

Credentials

export SMTP_HOST=qwer.ty
export SMTP_PORT=1234
export SMTP_USER=qwer@qwer.ty
read -s -p "SMTP_PASS: " SMTP_PASS
export SMTP_PASS

Development

# setup
python3 -m venv venv && . venv/bin/activate

# editable install
pip install -e .[dev]

# running tests
python -m unittest -v

# running tests for all supported python versions
tox