Skip to main content

Watch command output and get notified on changes

Project description

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

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

watch-diff-1.1.4.tar.gz (6.9 kB view hashes)

Uploaded source

Built Distribution

watch_diff-1.1.4-py3-none-any.whl (7.2 kB view hashes)

Uploaded py3

Supported by

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