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.2.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tiddl-1.8.2.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.2.tar.gz
Algorithm Hash digest
SHA256 8254387d8e1eee9ea23e2d2880217218580401ebc06c4f50f4dc81d4370e524c
MD5 b8e43eff069fde6aac0b2c9e2692b972
BLAKE2b-256 d5b729d19f8a3c50185f6ee9410203fea216a6d4c7e3959b292d1c509b7808fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tiddl-1.8.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7e618e969e91d1b97f84b23ac3fb20f299295e51348ede08ca7b1672cafcda6f
MD5 ca2f54cf0907b454c5fc6d9471171d66
BLAKE2b-256 72132b7384afe81ba73897631e4c9e43ac69edae1a3f39aaad298e54210fe36b

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