StoryCLI
StoryCLI is an unofficial CLI tool for downloading your favourite audiobooks from Storytel without leaving your terminal. An active Storytel account is required for using this tool.
I am not responsible for any issues that this tool could cause, including but not limited to account blocking, temporary or permanent bans, loss of time or monet. I built this tool only as a learning experience, and making it open-source so other people can see the source code and learn. Use it at your own risk.
- Download from PyPI:
pipx install storycli
Authentication
Create ~/.storycli and fill it with your login credentials:
STORYCLI_MAIL=<your-storytel-email>
STORYCLI_PASS=<your-storytel-password>
Usage
usage: storycli [-h] (-q QUERY | -D BOOK_ID) [-o PATH] [-H]
Search and download Storytel audiobooks.
options:
-h, --help show this help message and exit
-q QUERY, --query QUERY
search for audiobooks
-D BOOK_ID, --download BOOK_ID
download an audiobook
-o PATH, --output PATH
MP3 output path (required with --download)
-H, --human-readable do not format query lengths as hours:minutes:seconds
Search an Audiobook:
storycli -q <search-query>
storycli -q Dune
storycli --query Dune
ID LENGTH TITLE
------- -------- ---------------
...
2759046 18:36:1 Paul of Dune
2836812 17:19:18 The Winds of Dune
2835170 19:31:19 Sandworms of Dune
...
Download an Audiobook:
storycli -D <book-id> -o <mp3-save-path>
storycli -D 2759046 -o ~/Downloads/2759046.mp3
storycli --download 2759046 -o ~/Downloads/2759046.mp3
Development
- Install the
uvproject manager. - Clone the project and run
uv sync.
Future Improvements
- Prevent logging in everytime by storing login tokens.
- Add book description preview.
- Better UX.
- Standalone Storytel TUI with builtin player.
- Better error message management.
License
MIT
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 storycli-0.1.1.tar.gz.
File metadata
- Download URL: storycli-0.1.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4906d49501220b30468d9f289f4f7b9372a1b40ff605610fef81882512da4b73
|
|
| MD5 |
61981175d96e9be91858904dff1f0a8d
|
|
| BLAKE2b-256 |
0e09b2ef2017f95243b84005871252ccfcc705249367aead223192f72f1a3c80
|
File details
Details for the file storycli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: storycli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4032bfcb7778133d81a75bf36b1f41e6773077bfe256f8912db6ed61eb70fe56
|
|
| MD5 |
d328ad100c2039d1213fc491140d7acc
|
|
| BLAKE2b-256 |
13636eada67161a53a7a7be76d52e200b65f1447478472d1c91b24cf4804050e
|