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
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