# 🔰 TIDAL Downloader Next Generation! (tidal-dl-ng) [![Release](https://img.shields.io/github/v/release/exislow/tidal-dl-ng)](https://img.shields.io/github/v/release/exislow/tidal-dl-ng) [![Build status](https://img.shields.io/github/actions/workflow/status/exislow/tidal-dl-ng/main.yml?branch=main)](https://github.com/exislow/tidal-dl-ng/actions/workflows/main.yml?query=branch%3Amain) [![Commit activity](https://img.shields.io/github/commit-activity/m/exislow/tidal-dl-ng)](https://img.shields.io/github/commit-activity/m/exislow/tidal-dl-ng) [![License](https://img.shields.io/github/license/exislow/tidal-dl-ng)](https://img.shields.io/github/license/exislow/tidal-dl-ng) This tool allows to download songs and videos from TIDAL (a paid plan is required!). You can use the command line or GUI version of this tool. 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 (other versions might work but are not tested!) ```bash 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: ```bash tidal-dl-ng dl https://tidal.com/browse/track/46755209 # OR tdn dl https://tidal.com/browse/track/46755209 ``` But also the GUI: ```bash tidal-dl-ng-gui # OR tdng # OR tidal-dl-ng gui ``` ## 🧁 Features - Download Tracks, Videos, Albums, Playlists - Metadata for songs - Adjustable audio and video download quality. ## ▶️ Getting started with development ### 🚰 Install dependecies Clone this repository and install the dependencies: ```bash poetry install --all-extras --with dev,docs ``` The main entry points are: ```bash tidal_ng_dl/cli.py tidal_ng_dl/gui.py ``` ### 📺 GUI Builder The GUI is build with `PySide6` using the [Qt Designer](https://doc.qt.io/qt-6/qtdesigner-manual.html): ```bash 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: ```bash 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](https://fpgmaas.github.io/cookiecutter-poetry/features/publishing/#set-up-for-pypi). For activating the automatic documentation with MkDocs, see [here](https://fpgmaas.github.io/cookiecutter-poetry/features/mkdocs/#enabling-the-documentation-on-github). To enable the code coverage reports, see [here](https://fpgmaas.github.io/cookiecutter-poetry/features/codecov/). ## ✨ Releasing a new version - Create an API Token on [Pypi](https://pypi.org/). - Add the API Token to your projects secrets with the name `PYPI_TOKEN` by visiting [this page](https://github.com/exislow/tidal-dl-ng/settings/secrets/actions/new). - Create a [new release](https://github.com/exislow/tidal-dl-ng/releases/new) on Github. - Create a new tag in the form `*.*.*`. For more details, see [here](https://fpgmaas.github.io/cookiecutter-poetry/features/cicd/#how-to-trigger-a-release). ## ‼️ Dislaimer - 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! 1