Add your description here
Project description
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
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 lyriath-0.1.0.tar.gz.
File metadata
- Download URL: lyriath-0.1.0.tar.gz
- Upload date:
- Size: 24.9 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26fe2b7f80388b10343d49fd23b07e369baa032b445a9315646fff7c6b136a0d
|
|
| MD5 |
3775627e8a4b046f6a91b5ef7caddaa9
|
|
| BLAKE2b-256 |
ae44bbd135a26321304703cc1172aff25edf51b84c3ba471c4736bd15c0a7223
|
File details
Details for the file lyriath-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lyriath-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c473c49f3c848f2669233e4b5a2fa29ccc4d3452ea03bb676475ccb75749de20
|
|
| MD5 |
cc0e2583b3c14ebfb7541447c12ca114
|
|
| BLAKE2b-256 |
728cda33ef9d88fe583cfd88d5ef54e2ce8422ac815752ad0cb05cb04a10cf72
|