watch-diff
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
andIn-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