Skip to content

TIDAL Media Downloader Next Generation! Up to HiRes Lossless / TIDAL MAX 24-bit, 192 kHz.

License

Notifications You must be signed in to change notification settings

exislow/tidal-dl-ng

Repository files navigation

🔰 TIDAL Downloader Next Generation! (tidal-dl-ng)

Release Build status Commit activity License

This tool allows to download songs and videos from TIDAL. A paid plan is required! Audio quality varies up to HiRes Lossless / TIDAL MAX 24 Bit, 192 kHz depending on the song available. You can use the command line or GUI version of this tool.

App Image

$ tidal-dl-ng --help

 Usage: tidal-dl-ng [OPTIONS] COMMAND [ARGS]...

╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --version  -v                                                                │
│ --help     -h        Show this message and exit.                             │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ cfg    Print or set an option. If no arguments are given, all options will   │
│        be listed. If only one argument is given, the value will be printed   │
│        for this option. To set a value for an option simply pass the value   │
│        as the second argument                                                │
│ dl                                                                           │
│ gui                                                                          │
│ login                                                                        │
╰──────────────────────────────────────────────────────────────────────────────╯

If you like this projects and want to support it, you can buy me a coffee :-)

Buy Me A Coffee 61e11d430afb112ea33c3aa5_Button-1-p-500

💻 Installation / Upgrade

Requirements: Python 3.11 or 3.12 (other versions might work but are not tested!)

pip install --upgrade tidal-dl-ng
# AND if you like to have the GUI as well
pip install --upgrade tidal-dl-ng[gui]

You can use the command line (CLI) version to download media:

tidal-dl-ng dl https://tidal.com/browse/track/46755209
# OR
tdn dl https://tidal.com/browse/track/46755209

But also the GUI:

tidal-dl-ng-gui
# OR
tdng
# OR
tidal-dl-ng gui

If you like to have the GUI version only, have a look at the release page and download the correct version for your platform.

🧁 Features

  • Download Tracks, Videos, Albums, Playlists
  • Metadata for songs
  • Adjustable audio and video download quality.

▶️ Getting started with development

🚰 Install dependencies

Clone this repository and install the dependencies:

poetry install --all-extras --with dev,docs

The main entry points are:

tidal_ng_dl/cli.py
tidal_ng_dl/gui.py

📺 GUI Builder

The GUI is build with PySide6 using the Qt Designer:

PYSIDE_DESIGNER_PLUGINS=tidal_dl_ng/ui pyside6-designer

After all changes are saved you need to translate the Qt Designer *.ui file into Python code:

pyside6-uic tidal_dl_ng/ui/main.ui -o tidal_dl_ng/ui/main.py

🏗 Build the project

To build the project use this command:

make install

The CI/CD pipeline will be triggered when you open a pull request, merge to main, or when you create a new release.

To finalize the set-up for publishing to PyPi or Artifactory, see here. For activating the automatic documentation with MkDocs, see here. To enable the code coverage reports, see here.

‼️ Disclaimer

  • For educational purposes only. I am not liable and responsible for any damage that happens.
  • You should not use this method to distribute or pirate music.
  • It may be illegal to use this app in your country.

🫂 Contributors

Thanks to all, who have contributed to this project!

This project is based on: