Skip to main content

Web Changes Delivered. AI-Summarized. Totally Anonymous.

Project description

webchanges anonymously checks web content (including images) and commands for changes, delivering instant notifications and AI-powered summaries to your favorite platform.

Highlights

  • AI-powered change summaries via Gemini (ai_google differ, BETA).

  • Structural diffs for JSON and XML via the deepdiff differ.

  • Visual diffs for images via the image differ (BETA).

  • Bypass TLS/JA3 fingerprinting with the optional curl_cffi HTTP client.

  • JSON-Schema-validated jobs.yaml and config.yaml for editor autocompletion and inline validation.

Requirements

webchanges requires Supported Python versions. For the best experience, use the current version of Python; older Python versions are supported for 3 years after they’re replaced. Free-threaded Python is supported, though some optional dependencies may not be.

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

Installation

PyPI version Kit format Package stability

Install webchanges with uv (recommended):

uv pip install webchanges

or with pip:

pip install webchanges

Other ways to run

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-jobs
  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 last time the program ran, just run:

webchanges

Schedule

webchanges leverages the power of a system scheduler:

Code

Code coverage by Coveralls Issues at https://github.com/mborsetti/webchanges/issues Code style ruff OpenSSF Scoreard

The code, issues tracker, and discussions 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/

See the complete licenses (released under the MIT License but redistributing modified source code, dated 30 July 2020, from urlwatch 2.21 licensed under a BSD 3-Clause License).

Relationship with urlwatch

This project is a fork of urlwatch 2.21 and has since added many features; see the comparison.

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.37.0.tar.gz (211.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.37.0-py3-none-any.whl (233.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: webchanges-3.37.0.tar.gz
  • Upload date:
  • Size: 211.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for webchanges-3.37.0.tar.gz
Algorithm Hash digest
SHA256 1494a794f93741ecf739a36063b186647234edfe570ddfacb7dc28562a853273
MD5 e9f3a41a0fe26af8a39107b445d0205b
BLAKE2b-256 b158bc04c7d8b8544ebe9dc8e69d880459bae4429a2819ddaa146e7083a79e19

See more details on using hashes here.

Provenance

The following attestation bundles were made for webchanges-3.37.0.tar.gz:

Publisher: ci-cd.yaml on mborsetti/webchanges

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: webchanges-3.37.0-py3-none-any.whl
  • Upload date:
  • Size: 233.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for webchanges-3.37.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f996f9bbabf219bd0520ab15d39ee176779a24b0ed4de3e5c0d67c310d5d650
MD5 3dcee0e2915c8c480cba710e3c1a1bf5
BLAKE2b-256 413741addb5ae1d7dcc9c2a9438eab29908fedf57cbc07d050286f0c45b70cdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for webchanges-3.37.0-py3-none-any.whl:

Publisher: ci-cd.yaml on mborsetti/webchanges

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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