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 pip or pipx:

pip install readerlet
pipx 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:

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. You must first authorize the application with readerlet kindle-login. This feature stores credentials locally.

readerlet kindle-login
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

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.1.0.tar.gz (17.1 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.1.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: readerlet-0.1.0.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for readerlet-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a663e74f188ac87eed517fb8b7152d0fc27200e4789a597acf20ed200d3b689f
MD5 62f5119fa7e7b43820c41f9b1526181b
BLAKE2b-256 4f0a17319c217f5abfbd2f474d831c4f68f5b8718de07b80b7ea5e419a74ce4f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: readerlet-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for readerlet-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bf97e34232274d309be9fc068b372f2432460c7567db1c620b2b80cac4f101e3
MD5 d2978f1269d2ab7332d4a6a01ae8fcb3
BLAKE2b-256 e7f4ac3dce97aa7bb65c1ca8aedcea5693441abfad8ff9873fcaeb2afb59b123

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