Metadata-Version: 2.1
Name: webchanges
Version: 3.0.1
Summary: webchanges checks webpages for changes
Home-page: https://github.com/mborsetti/webchanges
Author: Mike Borsetti
Author-email: mike@borsetti.com
License: MIT, BSD 3-Clause License
Project-URL: Bug Tracker, https://github.com/mborsetti/webchanges/issues
Project-URL: Source Code, https://github.com/mborsetti/webchanges
Project-URL: Documentation, https://webchanges.readthedocs.io
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
Classifier: Topic :: Utilities
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: English
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Developers
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
Requires-Dist: appdirs
Requires-Dist: cssselect
Requires-Dist: html2text
Requires-Dist: lxml
Requires-Dist: markdown2
Requires-Dist: minidb
Requires-Dist: pyyaml
Requires-Dist: requests
Requires-Dist: colorama ; os_name == "nt"
Provides-Extra: all
Requires-Dist: Pillow ; extra == 'all'
Requires-Dist: aioxmpp ; extra == 'all'
Requires-Dist: beautifulsoup4 ; extra == 'all'
Requires-Dist: chump ; extra == 'all'
Requires-Dist: coverage ; extra == 'all'
Requires-Dist: cssbeautifier ; extra == 'all'
Requires-Dist: docutils ; extra == 'all'
Requires-Dist: flake8 ; extra == 'all'
Requires-Dist: flake8-import-order ; extra == 'all'
Requires-Dist: jsbeautifier ; extra == 'all'
Requires-Dist: keyring ; extra == 'all'
Requires-Dist: matrix-client ; extra == 'all'
Requires-Dist: msgpack ; extra == 'all'
Requires-Dist: pdftotext ; extra == 'all'
Requires-Dist: pushbullet.py ; extra == 'all'
Requires-Dist: pyppeteer ; extra == 'all'
Requires-Dist: pytesseract ; extra == 'all'
Requires-Dist: pytest ; extra == 'all'
Requires-Dist: redis ; extra == 'all'
Requires-Dist: sphinx-rtd-theme ; extra == 'all'
Requires-Dist: sphynx ; extra == 'all'
Requires-Dist: vobject ; extra == 'all'
Provides-Extra: beautify
Requires-Dist: beautifulsoup4 ; extra == 'beautify'
Requires-Dist: jsbeautifier ; extra == 'beautify'
Requires-Dist: cssbeautifier ; extra == 'beautify'
Provides-Extra: bs4
Requires-Dist: beautifulsoup4 ; extra == 'bs4'
Provides-Extra: ical2text
Requires-Dist: vobject ; extra == 'ical2text'
Provides-Extra: matrix
Requires-Dist: matrix-client ; extra == 'matrix'
Provides-Extra: ocr
Requires-Dist: pytesseract ; extra == 'ocr'
Requires-Dist: Pillow ; extra == 'ocr'
Provides-Extra: pdf2text
Requires-Dist: pdftotext ; extra == 'pdf2text'
Provides-Extra: pushbullet
Requires-Dist: pushbullet.py ; extra == 'pushbullet'
Provides-Extra: pushover
Requires-Dist: chump ; extra == 'pushover'
Provides-Extra: redis
Requires-Dist: redis ; extra == 'redis'
Requires-Dist: msgpack ; extra == 'redis'
Provides-Extra: safe_password
Requires-Dist: keyring ; extra == 'safe_password'
Provides-Extra: testing
Requires-Dist: aioxmpp ; extra == 'testing'
Requires-Dist: beautifulsoup4 ; extra == 'testing'
Requires-Dist: chump ; extra == 'testing'
Requires-Dist: coverage ; extra == 'testing'
Requires-Dist: cssbeautifier ; extra == 'testing'
Requires-Dist: docutils ; extra == 'testing'
Requires-Dist: flake8 ; extra == 'testing'
Requires-Dist: flake8-import-order ; extra == 'testing'
Requires-Dist: jsbeautifier ; extra == 'testing'
Requires-Dist: keyring ; extra == 'testing'
Requires-Dist: matrix-client ; extra == 'testing'
Requires-Dist: msgpack ; extra == 'testing'
Requires-Dist: pushbullet.py ; extra == 'testing'
Requires-Dist: pyppeteer ; extra == 'testing'
Requires-Dist: pytest ; extra == 'testing'
Requires-Dist: redis ; extra == 'testing'
Requires-Dist: sphinx-rtd-theme ; extra == 'testing'
Requires-Dist: sphynx ; extra == 'testing'
Requires-Dist: vobject ; extra == 'testing'
Provides-Extra: use_browser
Requires-Dist: pyppeteer ; extra == 'use_browser'
Provides-Extra: xmpp
Requires-Dist: aioxmpp ; extra == 'xmpp'

==========
webchanges
==========

.. |pypi_version| image:: https://img.shields.io/pypi/v/webchanges.svg?label=
    :target: https://pypi.org/project/webchanges/
    :alt: pypi version

.. |support| image:: https://img.shields.io/pypi/pyversions/webchanges.svg
    :target: https://pypi.org/project/webchanges/
    :alt: supported Python version

.. |license| image:: https://img.shields.io/pypi/l/webchanges.svg
    :target: https://pypi.org/project/webchanges/
    :alt: license

.. |issues| image:: https://img.shields.io/github/issues-raw/mborsetti/webchanges
    :target: https://github.com/mborsetti/webchanges/issues
    :alt: issues

.. |readthedocs| image:: https://img.shields.io/readthedocs/webchanges/latest.svg?label=
    :target: https://webchanges.readthedocs.io/
    :alt: Read the documentation at https://webchanges.readthedocs.io/

.. |travis| image:: https://img.shields.io/travis/mborsetti/webchanges/master.svg?label=Travis%20CI
    :target: https://travis-ci.com/mborsetti/webchanges
    :alt: Travis CI build status

.. |appveyor| image:: https://img.shields.io/appveyor/ci/mborsetti/webchanges/master.svg?logo=appveyor
    :target: https://ci.appveyor.com/project/mborsetti/webchanges
    :alt: appveyor build status

.. |coverage| image:: https://codecov.io/github/mborsetti/webchanges/coverage.svg
    :target: https://codecov.io/github/mborsetti/webchanges
    :alt: code coverage

`webchanges` checks web content (or the output of local commands) for changes, and notifies you via e-mail or
one of many other supported services if one is detected. The notification includes the changed URL or command and
a summary of what has changed. This project is a fork of `urlwatch <https://github.com/thp/urlwatch>`__ as suggested by
its author to optimize it for HTML.

Installation
============
`webchanges` |pypi_version| is available on `PyPI <https://pypi.org/project/webchanges/>`__ for |support| and can be
installed using `pip`::

   pip install webchanges

Optional dependencies may be needed; see `here <https://webchanges.readthedocs.io/en/stable/dependencies.html>`__.

Documentation
=============
The documentation is hosted on `Read the Docs <ttps://webchanges.readthedocs.io/en/stable/>`__ |readthedocs|.

Code
====
|issues| |travis| |coverage|

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

Quick Start
============
#. Run ``webchanges --edit`` to customize your job list (this will create ``jobs.yaml`` and ``config.yaml``)
#. Run ``webchanges --edit-config`` if you want to set up e-mail sending

``webchanges`` will check for changes every time you run it, but does not include a scheduler. We recommend using a
system scheduler to automatically run `webchanges` periodically:

- In Linux, you can use cron; `crontab.guru <https://crontab.guru>`__ will build a schedule expression for you. If you
  have never used cron before, see `here <https://www.computerhope.com/unix/ucrontab.htm>`__.
- On Windows, you can use the built-in `Windows Task Scheduler
  <https://en.wikipedia.org/wiki/Windows_Task_Scheduler>`__.


Contributing
============
We welcome any contribution, e.g. documentation, bug reports, new features, etc., as both pull requests and
`issues <https://github.com/mborsetti/webchanges/issues>`__.
More information for developers and documenters is `here
<https://github.com/mborsetti/webchanges/blob/master/CONTRIBUTING.rst>`__, and our wishlist is `here
<https://github.com/mborsetti/webchanges/blob/master/WISHLIST.md>`__.

License
=======
|license|

Released under the `MIT License <https://opensource.org/licenses/MIT>`__, but including code licensed under the
`BSD 3-Clause License <https://opensource.org/licenses/BSD-3-Clause>`__. See the license `here
<https://github.com/mborsetti/webchanges/blob/master/COPYING>`__.


