Skip to main content

A command-line utility for extracting and packaging web content for offline reading.

Project description

PyPI Tests

A CLI utility for extracting readable content from web pages. Converts web articles to clean HTML or plain text using mozilla/readability. Extracted content can be packaged into EPUB or printed to stdout.

Includes Send to Kindle integration via the stkclient, allowing sending created EPUB articles directly to your Kindle device for offline reading.

Installation

Install using uv or pip:

uv tool install readerlet
pip install readerlet

Note that this utility requires Node.js.

For convenience, the nodejs-bin package containing node binary & npm can be installed optionally as an extra dependency:

uv tool install 'readerlet[node]'
pip install 'readerlet[node]'

Usage

For help, run:

readerlet --help

The readerlet send packages web content as EPUB file and sends it to your Kindle. This feature stores credentials locally.

readerlet send <url>

To send local file instead:

readerlet send <path/to/local/file>

The extract command extracts content from URL and outputs an EPUB file to specified directory if used with -e flag:

readerlet extract <url> -e <output-dir>
readerlet extract https://example.com -e .

To print the extracted content to stdout as html or just text:

readerlet extract <url> -o html
readerlet extract <url> -o text

Both extract and send commands accept -i and -h flags that remove image-related elements and hyperlinks from content.

Remove hyperlinks:

readerlet extract <url> -h
readerlet send <url> -h

Remove images and hyperlinks:

readerlet extract <url> -i -h -o html
readerlet send <url> -i -h

Authentication

Authentication is handled automatically when you first use the readerlet send command. If your credentials expire, you will be prompted to log in again.

The readerlet kindle-login command is also available for manually authenticating or switching between Amazon accounts.

Development

First checkout the code. Then create a new virtual environment:

cd readerlet
python -m venv venv
source venv/bin/activate

Install the dependencies and dev/test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

readerlet-0.2.3.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

readerlet-0.2.3-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file readerlet-0.2.3.tar.gz.

File metadata

  • Download URL: readerlet-0.2.3.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for readerlet-0.2.3.tar.gz
Algorithm Hash digest
SHA256 68c07a20f5a4a14e829f6fb6fedcb85b6eca97fa2910a88eb0f0ca5bf121c20e
MD5 6a45a2301a0914773d3b608a2a02f17e
BLAKE2b-256 74741d4cabb3b829a4fb1dd072dbe001f9f661b94b688340bececc21a4155a7e

See more details on using hashes here.

File details

Details for the file readerlet-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: readerlet-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for readerlet-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 265a7d257962209e076ad7f301499373b61b81908b9f188bdab5558493fdb8a8
MD5 c458702fd677feb264dcb620bc3b5522
BLAKE2b-256 0e1a0b68c416c5b9ce74aac234edb2e4b5ba73e901b45387a0a0b81d1575c78b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page