TIDDL is the Python CLI application that allows downloading Tidal tracks. Fully typed, only 2 requirements.
It's inspired by Tidal-Media-Downloader - currently not mantained project. This repository will contain features requests from that project and will be the enhanced version.
Install package using pip
pip install tiddl
After installation you can use tiddl
to set up auth token
$ tiddl
> go to https://link.tidal.com/xxxxx and add device!
authenticated!
token expires in 7 days
Use tiddl -h
to show help message
After authentication - when your token is ready - you can start downloading!
You can download tracks
albums
playlists
artists albums
tiddl -s -q high
sets high quality as default qualitytiddl <input>
downloads with high qualitytiddl <input> -q master
downloads with best possible qualitytiddl 284165609 -p my_folder -o "{artist} - {title}"
downloads track tomy_folder/{artist} - {title}.flac
tiddl track/284165609 -p my_folder -o "{artist} - {title}" -s
same as above, but savesmy_folder
as default download path and{artist} - {title}
as default file format
- 284165609 (will treat this as track id)
- https://tidal.com/browse/track/284165609
- track/284165609
- https://listen.tidal.com/album/284165608/track/284165609
- https://listen.tidal.com/album/284165608
- album/284165608
- https://listen.tidal.com/artist/7695548
- artist/7695548
- https://listen.tidal.com/playlist/803be625-97e4-4cbb-88dd-43f0b1c61ed7
- playlist/803be625-97e4-4cbb-88dd-43f0b1c61ed7
Key | Example | Comment |
---|---|---|
title | Money Trees | |
artist | Kendrick Lamar | |
artists | Kendrick Lamar, Jay Rock | |
album | good kid, m.A.A.d city | |
number | 5 | number on album |
disc_number | 1 | number of album volume |
released | 10/22/2012 | release date |
year | 2012 | year of release date |
playlist | Kendrick Lamar Essentials | title of playlist will only appear when you download playlist |
playlist_number | 15 | index of track on the playlist |
id | 20556797 | id on Tidal |
You can also use TIDDL as module, it's fully typed so you will get type hints
from tiddl import TidalApi, Config
config = Config()
api = TidalApi(
config["token"],
config["user"]["user_id"],
config["user"]["country_code"]
)
album_id = 284165608
album = api.getAlbum(album_id)
print(f"{album["title"]} has {album["numberOfTracks"]} tracks!")
python -m unittest tiddl/tests.py