Skip to main content

TIDDL (Tidal Downloader) is a Python CLI application that allows downloading Tidal tracks.

Project description

Tidal Downloader

TIDDL is the Python CLI application that allows downloading Tidal tracks. Fully typed, only 2 requirements.

GitHub top language PyPI - Version GitHub commits since latest release

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.

Installation

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

CLI

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 quality
  • tiddl <input> downloads with high quality
  • tiddl <input> -q master downloads with best possible quality
  • tiddl 284165609 -p my_folder -o "{artist} - {title}" downloads track to my_folder/{artist} - {title}.flac
  • tiddl track/284165609 -p my_folder -o "{artist} - {title}" -s same as above, but saves my_folder as default download path and {artist} - {title} as default file format

Valid input

File formatting

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

Modules

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!")

Testing

python -m unittest tiddl/tests.py

Resources

Tidal API wiki

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

tiddl-1.8.1.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

tiddl-1.8.1-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file tiddl-1.8.1.tar.gz.

File metadata

  • Download URL: tiddl-1.8.1.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for tiddl-1.8.1.tar.gz
Algorithm Hash digest
SHA256 b3660cdb9194f9ff69c2f54148ea6f29d0a8fada2f7f34c35eda7a55e55f2ed5
MD5 196dadfc3c42b788736e182759dcbc89
BLAKE2b-256 683ff7fcfd416c0496dc84b262a8a4cae31b27c3199fef935d1d427c487f0938

See more details on using hashes here.

File details

Details for the file tiddl-1.8.1-py3-none-any.whl.

File metadata

  • Download URL: tiddl-1.8.1-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for tiddl-1.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 215b5d6ac52d01c5f1b589b6c19ed843734af32c08a5ff0a2c1e65e7742bbe0f
MD5 d9f96c202cf77758b3697a23ae370658
BLAKE2b-256 8f20e062e40c047552375a6804933af691c5bc1716cb339f33d4fdfc533f2122

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page