reader supports Python |min_python| and newer, and PyPy.
These packages will be installed automatically when installing reader:
- feedparser parses feeds; reader is essentially feedparser + state.
- requests retrieves feeds from the internet; it replaces feedparser's default use of :mod:`urllib` to make it easier to write plugins.
- werkzeug provides HTTP utilities.
- iso8601 parses dates in ISO 8601 / RFC 3339; used for JSON Feed parsing.
- beautifulsoup4 is used to strip HTML tags before adding entries to the search index.
- typing-extensions is used for :mod:`typing` backports.
reader also depends on the :mod:`sqlite3` standard library module (at least SQLite 3.18 with the JSON1 and FTS5 extensions).
Despite coming with a CLI and web application, reader is primarily a library. As such, most dependencies are optional, and can be installed as extras.
As of version |version|, reader has the following extras:
cli
installs the dependencies needed for the :doc:`command-line interface <cli>`.app
installs the dependencies needed for the :doc:`web application <app>`.- Specific plugins may require additional dependencies; refer to their documentation for details.
You should probably install reader inside a virtual environment; see this for how and why to do it.
Use the following command to install reader, along with its required dependencies:
pip install reader
Use the following command to install reader with optional dependencies:
pip install 'reader[some-extra,...]'
Use the following command to update reader (add any extras as needed):
pip install --upgrade reader
If you want to use the latest reader code before it’s released, install or update from the master branch:
pip install --upgrade https://github.com/lemon24/reader/archive/master.tar.gz