Skip to main content

Check web (or command output) for changes since last run and notify. Anonymously alerts you of web changes, with

Project description

webchanges checks web content including images, and notifies you via email (or one of many other supported services) if a change is detected. webchanges can also check the output of local commands. The notification includes a detail of what has changed (“diff”), with an optional summary generated by AI (BETA).

webchanges anonymously alerts you of web changes.

Requirements

webchanges requires Supported Python versions.

You should use the latest version of Python if possible, but older Python versions are supported for 3 years after being obsoleted by a new major release (3.x). For each major release, only the latest bug and security fix version (3.x.y) is supported.

For Generative AI summaries (BETA), you need a free API Key from Google Cloud AI Studio (see here).

Installation

Install webchanges PyPI version Kit format Package stability Security Status with:

pip install webchanges

Running in Docker

webchanges can be run in a Docker container. Please see here for one such implementation.

Documentation Documentation status

The documentation is hosted on Read the Docs.

Quick Start

Initialize

  1. Run the following command to create the default config.yaml (configuration) and jobs.yaml (jobs) files and open an editor to add your jobs:

    webchanges --edit
  2. Run the following command to change the default configuration, e.g. to receive change notifications (”reports”) by email and/or one of many other methods:

    webchanges --edit-config

Run

To check the sources in your jobs and report on (e.g. display or via email) any changes found from the previous execution, just run:

webchanges

webchanges does not include a scheduler. We recommend using a system scheduler to automatically run webchanges periodically:

  • On Linux or macOS, you can use cron (if you have never used cron before, see here); crontab.guru will build a schedule expression for you.

  • On macOS, you can use launchd

  • On Windows, you can use the built-in Windows Task Scheduler.

Code

Code coverage by Coveralls Issues at https://github.com/mborsetti/webchanges/issues

The code and issues tracker are hosted on GitHub.

Contributing

We welcome any contribution no matter how small, both as pull requests or issue reports.

More information for code and documentation contributors is here, and our wishlist is here.

License

License at https://pypi.org/project/webchanges/

Released under the MIT License but redistributing modified source code from urlwatch 2.21 dated 30 July 2020 licensed under a BSD 3-Clause License. See the complete license here.

Compatibility with and improvements from urlwatch

This project is based on code from urlwatch 2.21 dated 30 July 2020. You can easily upgrade to webchanges from the current version of urlwatch using the same job and configuration files (see here) and benefit from many improvements, including:

  • Summary of changes in plain text using Generative AI, useful for long, boring, legal documents;

  • Depicting changes to an image;

  • Element-by-element changes of JSON or XML data;

  • Much better documentation;

  • Many improvements to HTML reports, including:

    • Links that are clickable!

    • Retaining of original formatting such as bolding / headers, italics, underlining, list bullets (•) and indentation;

    • Added and deleted lines clearly highlighted by color and strikethrough, and long lines that wrap around;

    • Correct rendering by email clients who override stylesheets (e.g. Gmail);

    • Other legibility improvements;

  • New filters such as additions_only, which makes it easier to track content that was added without the distractions of the content that was deleted;

  • New command line arguments such as --errors to catch jobs that no longer work;

  • More reliability and stability, including a ~30 percentage point increase in testing coverage;

  • Many other additions, refinements and fixes (see detailed information).

Examples:

https://raw.githubusercontent.com/mborsetti/webchanges/main/docs/html_diff_filters_example_1.png

https://raw.githubusercontent.com/mborsetti/webchanges/main/docs/html_diff_filters_example_3.png

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

webchanges-3.24.1.tar.gz (133.5 kB view details)

Uploaded Source

Built Distribution

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

webchanges-3.24.1-py3-none-any.whl (136.2 kB view details)

Uploaded Python 3

File details

Details for the file webchanges-3.24.1.tar.gz.

File metadata

  • Download URL: webchanges-3.24.1.tar.gz
  • Upload date:
  • Size: 133.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for webchanges-3.24.1.tar.gz
Algorithm Hash digest
SHA256 91a22425daf3eecb5ca7e99fadb68199fbe96268b23e07e4bfcb80898677420b
MD5 1924369ea33edd910305356bf7eff033
BLAKE2b-256 5c7166f90bf9930ed5426c549f5ece75c4b59cbd82a0f81f73fe3241e5ecaf07

See more details on using hashes here.

File details

Details for the file webchanges-3.24.1-py3-none-any.whl.

File metadata

  • Download URL: webchanges-3.24.1-py3-none-any.whl
  • Upload date:
  • Size: 136.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for webchanges-3.24.1-py3-none-any.whl
Algorithm Hash digest
SHA256 38afca7fb90caf71405a7950d19333477d1bc68954e0c2f07eb2cb2df24cc5dd
MD5 3b2a07f56b630c9c2f6ad4ea4919f2ff
BLAKE2b-256 e0d47b19e64a50021501df515550428afe5038435fbedaa1259d262a88feec87

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