eBook cli downloader
Go to file
s0len c1952d4d10 Add urllib3 as explicit dependency
grawlix/sources/storytel.py imports urllib3.util.parse_url but urllib3
was only pulled in transitively. Fresh installs (e.g. via uv tool) fail
at import time with ModuleNotFoundError.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 07:41:13 +02:00
grawlix Fix Nextory: bump X-App-Version and handle null series 2026-05-21 07:41:05 +02:00
.gitignore Add support for marvel unlimited 2023-05-14 17:35:25 +02:00
flake.lock Add nix flake 2025-12-27 14:12:18 +01:00
flake.nix Add nix flake 2025-12-27 14:12:18 +01:00
LICENSE Create LICENSE 2023-04-29 17:14:27 +02:00
pyproject.toml Add urllib3 as explicit dependency 2026-05-21 07:41:13 +02:00
README.md Add storytel support (#13) 2024-04-02 15:18:45 +00:00
setup.py Add code 2023-04-06 21:38:19 +02:00

grawlix

GitHub release GitHub top language License Donate using Ko-Fi

CLI ebook downloader

Supported services

grawlix currently supports downloading from the following sources:

Installation

pip install grawlix

From repo (unstable)

git clone https://github.com/jo1gi/grawlix.git
cd grawlix
python3 setup.py install

Authentication

Authentication can either be done with login (username and password) or cookies. Not all sources support both methods.

Login

Some sources require authentication, which can be done either with cli arguments or a config file.

Cli example

grawlix --username "user@example.com" --password "SuperSecretPassword" <url>

Config file example

[sources.name]
username = "user@example.com"
password = "SuperSecretPassword"

Config file should be placed in ~/.config/grawlix/grawlix.toml

Cookies

Some sources can be authenticated with Netscape cookie files. I use this extension to export my cookies from my browser.

Cookies can be placed in current dir as cookies.txt or be given with the --cookie argument.

Download books

To download a book run:

grawlix [options] <book url>