lyriath
Search, explore and download Lossless and Hi-Res music from Qobuz. It just works™ (2025).
Features
- Download FLAC and MP3 files from Qobuz
- Explore and download music directly from your terminal with interactive or lucky mode
- Download albums, tracks, artists, playlists and labels with download mode
- Download music from last.fm playlists (Spotify, Apple Music and Youtube playlists are also supported through this method)
- Queue support on interactive mode
- Effective duplicate handling with own portable database
- Support for albums with multiple discs
- Support for M3U playlists
- Downloads URLs from text file
- Extended tags
- And more
Getting started
You'll need an active subscription
Install lyriath with pip
Linux / MAC OS
pip3 install --upgrade lyriath
Windows
pip3 install windows-curses
pip3 install --upgrade lyriath
Run lyriath and enter your credentials
Linux / MAC OS
lyriath
Windows
lyriath.exe
If something fails, run
lyriath -rto reset your config file.
Examples
Download mode
Download URL in 24B<96khz quality
lyriath dl https://play.qobuz.com/album/qxjbxh1dc3xyb -q 7
Download multiple URLs to custom directory
lyriath dl https://play.qobuz.com/artist/2038380 https://play.qobuz.com/album/ip8qjy1m6dakc -d "Some pop from 2020"
Download multiple URLs from text file
lyriath dl this_txt_file_has_urls.txt
Download albums from a label and also embed cover art images into the downloaded files
lyriath dl https://play.qobuz.com/label/7526 --embed-art
Download a Qobuz playlist in maximum quality
lyriath dl https://play.qobuz.com/playlist/5388296 -q 27
Download all the music from an artist except singles, EPs and VA releases
lyriath dl https://play.qobuz.com/artist/2528676 --albums-only
Last.fm playlists
Last.fm has a new feature for creating playlists: you can create your own based on the music you listen to or you can import one from popular streaming services like Spotify, Apple Music and Youtube. Visit:
https://www.last.fm/user/<your profile>/playlists(e.g. https://www.last.fm/user/vitiko98/playlists) to get started.
Download a last.fm playlist in the maximum quality
lyriath dl https://www.last.fm/user/vitiko98/playlists/11887574 -q 27
Run lyriath dl --help for more info.
Interactive mode
Run interactive mode with a limit of 10 results
lyriath fun -l 10
Type your search query
Logging...
Logged: OK
Membership: Studio
Enter your search: [Ctrl + c to quit]
- fka twigs magdalene
lyriath will bring up a nice list of releases. Now choose whatever releases you want to download (everything else is interactive).
Run lyriath fun --help for more info.
Lucky mode
Download the first album result
lyriath lucky playboi carti die lit
Download the first 5 artist results
qobuz-dl lucky joy division -n 5 --type artist
Download the first 3 track results in 320 quality
qobuz-dl lucky eric dolphy remastered --type track -n 3 -q 5
Download the first track result without cover art
qobuz-dl lucky jay z story of oj --type track --no-cover
Run qobuz-dl lucky --help for more info.
Other
Reset your config file
qobuz-dl -r
By default, qobuz-dl will skip already downloaded items by ID with the message This release ID ({item_id}) was already downloaded. To avoid this check, add the flag --no-db at the end of a command. In extreme cases (e.g. lost collection), you can run qobuz-dl -p to completely reset the database.
Usage
usage: qobuz-dl [-h] [-r] {fun,dl,lucky} ...
The ultimate Qobuz music downloader.
See usage examples on https://github.com/vitiko98/qobuz-dl
optional arguments:
-h, --help show this help message and exit
-r, --reset create/reset config file
-p, --purge purge/delete downloaded-IDs database
commands:
run qobuz-dl <command> --help for more info
(e.g. qobuz-dl fun --help)
{fun,dl,lucky}
fun interactive mode
dl input mode
lucky lucky mode
Module usage
Using qobuz-dl as a module is really easy. Basically, the only thing you need is QobuzDL from core.
import logging
from lyriath.core import QobuzDL
logging.basicConfig(level=logging.INFO)
email = "your@email.com"
password = "your_password"
qobuz = QobuzDL()
qobuz.get_tokens() # get 'app_id' and 'secrets' attrs
qobuz.initialize_client(email, password, qobuz.app_id, qobuz.secrets)
qobuz.handle_url("https://play.qobuz.com/album/va4j3hdlwaubc")
Attributes, methods and parameters have been named as self-explanatory as possible.
A note about Qo-DL
qobuz-dl is inspired in the discontinued Qo-DL-Reborn. This tool uses two modules from Qo-DL: qopy and spoofer, both written by Sorrow446 and DashLt.
Disclaimer
- This tool was written for educational purposes. I will not be responsible if you use this program in bad faith. By using it, you are accepting the Qobuz API Terms of Use.
qobuz-dlis not affiliated with Qobuz
Metadata
Release files for lyriath 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lyriath-0.1.3.tar.gz | 25.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lyriath-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.6 kB
Release files / lyriath-0.1.3.tar.gz
| Download URL | lyriath-0.1.3.tar.gz |
|---|---|
| Size | 25.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6adaff16edcae809ac488a7bcc89733b86838e42954d995efe6c77c3a82385dd
|
|
BLAKE2b-256 checksum How to use checksums |
0f4d878f4dae691a9f46c886a614373fb6598d11b6d8bbfc0d4ecc1da95eb671
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / lyriath-0.1.3-py3-none-any.whl
| Download URL | lyriath-0.1.3-py3-none-any.whl |
|---|---|
| Size | 26.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
885cdc5c3eb784b32afa6426aabd26e45844059dc23ba926eb3e05205cdda300
|
|
BLAKE2b-256 checksum How to use checksums |
33980d0a75c8714aa478e625d64bc911516770e4899bf6310767f3ba9c336bba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|