Installation

Python versions

reader supports Python 3.10 and newer, and PyPy.

Dependencies

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 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 typing backports.

reader also depends on the sqlite3 standard library module (at least SQLite 3.18 with the JSON1 and FTS5 extensions).

Note

Because feedparser makes PyPI releases at a lower cadence, reader uses a vendored version of feedparser’s develop branch by default since Version 2.9. To opt out of this behavior, and make reader use the installed feedparser package, set the READER_NO_VENDORED_FEEDPARSER environment variable to 1.

Optional dependencies

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 3.16, reader has the following extras:

  • cli installs the dependencies needed for the command-line interface.

  • app installs the dependencies needed for the web application.

  • Specific plugins may require additional dependencies; refer to their documentation for details.

Virtual environments

You should probably install reader inside a virtual environment; see this for how and why to do it.

Install reader

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,...]'

Update reader

Use the following command to update reader (add any extras as needed):

pip install --upgrade reader

Living on the edge

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