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.
Requirements
For the best experience, use the current version of Python. We also support older Python versions for 3 years after they’re replaced by a newer one; we just ask that you use the most up-to-date bug and security fix release from that older version.
For Generative AI summaries (BETA), you need a free API Key from Google Cloud AI Studio (see here).
Installation
Install webchanges with uv (recommended):
uv pip install webchanges
or with pip:
pip install webchanges
Running in Docker
webchanges can easily run in a Docker container! You will find a minimal implementation (no browser) here, and one with a browser here.
Documentation 
The documentation is hosted on Read the Docs.
Quick Start
Initialize
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 --editRun 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:
On Linux you can use cron, with the help of a tool like crontab.guru (help here);
On Windows you can use Windows Task Scheduler;
Code
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
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).
Compatibility urlwatch
This project is based on code from urlwatch 2.21 dated 30 July 2020.
For upgrading from urlwatch to webchanges (using the same job and configuration files), see here).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file webchanges-3.31.2.tar.gz.
File metadata
- Download URL: webchanges-3.31.2.tar.gz
- Upload date:
- Size: 150.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e464c95ca04a48f6800f78a670a7ed9802805d9003dd59ebb42a7a31fb6e82b4
|
|
| MD5 |
6f71e60f61bdea7013b6de6975c06611
|
|
| BLAKE2b-256 |
42fa748bd8fdc07e81e4f9dffb76c77c586407731a7fad4b5a23afb1ba588139
|
Provenance
The following attestation bundles were made for webchanges-3.31.2.tar.gz:
Publisher:
ci-cd.yaml on mborsetti/webchanges
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
webchanges-3.31.2.tar.gz -
Subject digest:
e464c95ca04a48f6800f78a670a7ed9802805d9003dd59ebb42a7a31fb6e82b4 - Sigstore transparency entry: 522262575
- Sigstore integration time:
-
Permalink:
mborsetti/webchanges@25fdc13bead402918eff2cb3712f6548a07e9b71 -
Branch / Tag:
refs/tags/v3.31.2 - Owner: https://github.com/mborsetti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-cd.yaml@25fdc13bead402918eff2cb3712f6548a07e9b71 -
Trigger Event:
push
-
Statement type:
File details
Details for the file webchanges-3.31.2-py3-none-any.whl.
File metadata
- Download URL: webchanges-3.31.2-py3-none-any.whl
- Upload date:
- Size: 153.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09d550f351ce6fd0c5a1a14ba3ad8fa79460e80626cf519bac7b5a2de0cde8af
|
|
| MD5 |
50ec23f6a49d82b64c8383869194580a
|
|
| BLAKE2b-256 |
cfc3338da64c68757a559ca8e69dee9dbc9c8a0e4e08be4bb95f1e70cb21b9d8
|
Provenance
The following attestation bundles were made for webchanges-3.31.2-py3-none-any.whl:
Publisher:
ci-cd.yaml on mborsetti/webchanges
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
webchanges-3.31.2-py3-none-any.whl -
Subject digest:
09d550f351ce6fd0c5a1a14ba3ad8fa79460e80626cf519bac7b5a2de0cde8af - Sigstore transparency entry: 522262589
- Sigstore integration time:
-
Permalink:
mborsetti/webchanges@25fdc13bead402918eff2cb3712f6548a07e9b71 -
Branch / Tag:
refs/tags/v3.31.2 - Owner: https://github.com/mborsetti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-cd.yaml@25fdc13bead402918eff2cb3712f6548a07e9b71 -
Trigger Event:
push
-
Statement type: