Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

webchanges

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webchanges

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

  • 3.26.0
  • PyPI
  • Socket score

Maintainers
1

.. role:: underline :class: underline .. role:: additions :class: additions .. role:: deletions :class: deletions

====================== webchanges |downloads|

webchanges checks web content including images, and notifies you via email (or one of many other supported services <https://webchanges.readthedocs.io/en/stable/introduction.html#reporters-list>__) 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 |support|.

You should use the latest version of Python <https://www.python.org/downloads/>__ 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 <https://aistudio.google.com/app/apikey>__ (see here <https://webchanges.readthedocs.io/en/stable/differs.html#ai-google>__).

Installation

Install webchanges |pypi_version| |format| |status| |security| with:

.. code-block:: bash

pip install webchanges

Running in Docker

webchanges can be run in a Docker <https://www.docker.com/>__ container; please see here <https://github.com/yubiuser/webchanges-docker>__ for one such implementation.

Documentation |readthedocs|

The documentation is hosted on Read the Docs <https://webchanges.readthedocs.io/>__.

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 <https://webchanges.readthedocs.io/en/stable/jobs.html>__:

.. code-block:: bash

  webchanges --edit

#. Run the following command to change the default configuration <https://webchanges.readthedocs.io/en/stable/configuration.html>, e.g. to receive change notifications ("reports <https://webchanges.readthedocs.io/en/stable/reporters.html>") by email <https://webchanges.readthedocs.io/en/stable/reporters.html#smtp>__ and/or one of many other methods:

.. code-block:: bash

  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:

.. code-block:: bash

webchanges

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

  • On Linux or macOS, you can use cron (if you have never used cron before, see here <https://www.computerhope.com/unix/ucrontab.htm>); crontab.guru <https://crontab.guru> will build a schedule expression for you;
  • On macOS, you can use launchd <https://developer.apple .com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html>__;
  • On Windows, you can use the built-in Windows Task Scheduler <https://en.wikipedia.org/wiki/Windows_Task_Scheduler>__.

Code

|coveralls| |issues|

The code and issues tracker are hosted on GitHub <https://github.com/mborsetti/webchanges>__.

Contributing

We welcome any contribution no matter how small, both as pull requests or issue reports <https://github.com/mborsetti/webchanges/issues>__.

More information for code and documentation contributors is here <https://webchanges.readthedocs.io/en/stable/contributing.html>, and our wishlist is here <https://github.com/mborsetti/webchanges/blob/main/WISHLIST.md>.

License

|license|

Released under the MIT License <https://opensource.org/licenses/MIT>__ but redistributing modified source code from urlwatch 2.21 <https://github.com/thp/urlwatch/tree/346b25914b0418342ffe2fb0529bed702fddc01f>__ dated 30 July 2020 licensed under a BSD 3-Clause License <https://raw.githubusercontent.com/thp/urlwatch/346b25914b0418342ffe2fb0529bed702fddc01f/COPYING>. See the complete license here <https://github.com/mborsetti/webchanges/blob/main/LICENSE>.

Compatibility with and improvements from urlwatch

This project is based on code from urlwatch 2.21 <https://github.com/thp/urlwatch/tree/346b25914b0418342ffe2fb0529bed702fddc01f>__ 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 <https://webchanges.readthedocs.io/en/stable/migration.html>__) and benefit from many improvements, including:

  • Summary of changes in plain text using Generative AI, useful for long documents (e.g. legal);

  • Depicting changes to an image;

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

  • Much better documentation <https://webchanges.readthedocs.io/>__, easing implementation;

  • Much clearer to HTML reports, which include:

    • Links that are clickable <https://pypi.org/project/webchanges/>__!
    • Retaining of original formatting such as bolding / headers, italics, :underline:underlining, list bullets (•) and indentation;
    • Lines that are :additions:added and :deletions:deleted are clearly highlighted by color and strikethrough, and long lines wrap around;
    • Correct rendering by email clients who override stylesheets (e.g. Gmail);
    • Other legibility improvements;
  • New filters such as additions_only <https://webchanges.readthedocs.io/en/stable/diff_filters.html#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 <https://webchanges.readthedocs.io/en/stable/migration.html#upgrade-details>__).

Example enhancements to HTML reporting:

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

|

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

.. |support| image:: https://img.shields.io/pypi/pyversions/webchanges.svg :target: https://www.python.org/downloads/ :alt: Supported Python versions .. |pypi_version| image:: https://img.shields.io/pypi/v/webchanges.svg?label= :target: https://pypi.org/project/webchanges/ :alt: PyPI version .. |format| image:: https://img.shields.io/pypi/format/webchanges.svg :target: https://pypi.org/project/webchanges/ :alt: Kit format .. |downloads| image:: https://static.pepy.tech/badge/webchanges :target: https://www.pepy.tech/project/webchanges :alt: PyPI downloads .. |license| image:: https://img.shields.io/pypi/l/webchanges.svg :target: https://pypi.org/project/webchanges/ :alt: License at https://pypi.org/project/webchanges/ .. |issues| image:: https://img.shields.io/github/issues-raw/mborsetti/webchanges :target: https://github.com/mborsetti/webchanges/issues :alt: Issues at https://github.com/mborsetti/webchanges/issues .. |readthedocs| image:: https://img.shields.io/readthedocs/webchanges/stable.svg?label= :target: https://webchanges.readthedocs.io/ :alt: Documentation status .. |CI| image:: https://github.com/mborsetti/webchanges/actions/workflows/ci-cd.yaml/badge.svg?event=push :target: https://github.com/mborsetti/webchanges/actions :alt: CI testing status .. |coveralls| image:: https://coveralls.io/repos/github/mborsetti/webchanges/badge.svg?branch=main :target: https://coveralls.io/github/mborsetti/webchanges?branch=main :alt: Code coverage by Coveralls .. |status| image:: https://img.shields.io/pypi/status/webchanges.svg :target: https://pypi.org/project/webchanges/ :alt: Package stability .. |security| image:: https://img.shields.io/badge/security-bandit-yellow.svg :target: https://github.com/PyCQA/bandit :alt: Security Status

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc