A command-line utility for extracting and packaging web content for offline reading.
Project description
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68c07a20f5a4a14e829f6fb6fedcb85b6eca97fa2910a88eb0f0ca5bf121c20e
|
|
| MD5 |
6a45a2301a0914773d3b608a2a02f17e
|
|
| BLAKE2b-256 |
74741d4cabb3b829a4fb1dd072dbe001f9f661b94b688340bececc21a4155a7e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
265a7d257962209e076ad7f301499373b61b81908b9f188bdab5558493fdb8a8
|
|
| MD5 |
c458702fd677feb264dcb620bc3b5522
|
|
| BLAKE2b-256 |
0e1a0b68c416c5b9ce74aac234edb2e4b5ba73e901b45387a0a0b81d1575c78b
|