{"id":45808910,"url":"https://github.com/oskvr37/tiddl","last_synced_at":"2026-04-25T00:04:06.839Z","repository":{"id":249319813,"uuid":"831188719","full_name":"oskvr37/tiddl","owner":"oskvr37","description":"Download Tidal tracks, videos, albums, playlists \u0026 artists! Tidal downloader that supports master quality.","archived":false,"fork":false,"pushed_at":"2026-01-18T16:39:06.000Z","size":507,"stargazers_count":256,"open_issues_count":17,"forks_count":23,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-19T00:44:37.159Z","etag":null,"topics":["audio","cli","downloader","music","python","tidal","tiddl"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/tiddl/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oskvr37.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"oskvr","thanks_dev":null,"custom":null}},"created_at":"2024-07-19T21:58:46.000Z","updated_at":"2026-01-18T20:57:08.000Z","dependencies_parsed_at":"2024-08-22T14:38:52.074Z","dependency_job_id":"d56d6e0b-d036-4984-a85a-0b6b8bb373dd","html_url":"https://github.com/oskvr37/tiddl","commit_stats":null,"previous_names":["oskvr37/tiddl"],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/oskvr37/tiddl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oskvr37%2Ftiddl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oskvr37%2Ftiddl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oskvr37%2Ftiddl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oskvr37%2Ftiddl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oskvr37","download_url":"https://codeload.github.com/oskvr37/tiddl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oskvr37%2Ftiddl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29862509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T08:51:08.701Z","status":"ssl_error","status_checked_at":"2026-02-26T08:50:19.607Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","cli","downloader","music","python","tidal","tiddl"],"created_at":"2026-02-26T15:05:28.571Z","updated_at":"2026-02-26T15:05:29.347Z","avatar_url":"https://github.com/oskvr37.png","language":"Python","readme":"# Tidal Downloader\n\nDownload tracks and videos from Tidal with max quality! `tiddl` is CLI app written in Python.\n\n\u003e [!WARNING]\n\u003e `This app is for personal use only and is not affiliated with Tidal. Users must ensure their use complies with Tidal's terms of service and local copyright laws. Downloaded tracks are for personal use and may not be shared or redistributed. The developer assumes no responsibility for misuse of this app.`\n\n![PyPI - Downloads](https://img.shields.io/pypi/dm/tiddl?style=for-the-badge\u0026color=%2332af64)\n![PyPI - Version](https://img.shields.io/pypi/v/tiddl?style=for-the-badge)\n[\u003cimg src=\"https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=for-the-badge\" /\u003e](https://gitmoji.dev)\n\n# Installation\n\n`tiddl` is available at [python package index](https://pypi.org/project/tiddl/) and you can install it with your favorite Python package manager.\n\n\u003e [!IMPORTANT]\n\u003e Also make sure you have installed  [`ffmpeg`](https://ffmpeg.org/download.html) - it is used to convert downloaded tracks to proper format.\n\n## uv\n\nWe recommend using [uv](https://docs.astral.sh/uv/)\n\n```bash\nuv tool install tiddl\n```\n\n## pip\n\nYou can also use [pip](https://packaging.python.org/en/latest/tutorials/installing-packages/)\n\n```bash\npip install tiddl\n```\n\n## docker\n\n**coming soon**\n\n# Usage\n\nRun the app with `tiddl`\n\n```bash\n$ tiddl\n Usage: tiddl [OPTIONS] COMMAND [ARGS]...\n\n tiddl - download tidal tracks ♫\n\n╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────╮\n│ --omit-cache            --no-omit-cache      [default: no-omit-cache]                                       │\n│ --debug                 --no-debug           [default: no-debug]                                            │\n│ --install-completion                         Install completion for the current shell.                      │\n│ --show-completion                            Show completion for the current shell, to copy it or customize │\n│                                              the installation.                                              │\n│ --help                                       Show this message and exit.                                    │\n╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\n╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────╮\n│ auth       Manage Tidal authentication.                                                                     │\n│ download   Download Tidal resources.                                                                        │\n╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\n```\n\n## Authentication\n\nLogin to app with your Tidal account: run the command below and follow instructions.\n\n```bash\ntiddl auth login\n```\n\n## Downloading\n\nYou can download tracks / videos / albums / artists / playlists / mixes.\n\n```bash\n$ tiddl download url \u003curl\u003e\n```\n\n\u003e [!TIP]\n\u003e You don't have to paste full urls, track/103805726, album/103805723 etc. will also work\n\nRun `tiddl download` to see available download options.\n\n### Error Handling\n\nBy default, tiddl stops when encountering unavailable items in collections such as playlists, albums, artists, or mixes (e.g., removed or region-locked tracks).\n\nUse `--skip-errors` to automatically skip these items and continue downloading:\n\n```bash\ntiddl download url \u003curl\u003e --skip-errors\n```\n\nSkipped items are logged with track/album name and IDs for reference.\n\n### Quality\n\n| Quality | File extension |        Details        |\n| :-----: | :------------: | :-------------------: |\n|   LOW   |      .m4a      |        96 kbps        |\n| NORMAL  |      .m4a      |       320 kbps        |\n|  HIGH   |     .flac      |   16-bit, 44.1 kHz    |\n|   MAX   |     .flac      | Up to 24-bit, 192 kHz |\n\n### Output\n\nYou can format filenames of your downloaded resources and put them in different directories.\n\nFor example, setting output flag to `\"{album.artist}/{album.title}/{item.number:02d}. {item.title}\"`\nwill download tracks like following:\n\n```\nMusic\n└── Kanye West\n    └── Graduation\n        ├── 01. Good Morning.flac\n        ├── 02. Champion.flac\n        ├── 03. Stronger.flac\n        ├── 04. I Wonder.flac\n        ├── 05. Good Life.flac\n        ├── 06. Can't Tell Me Nothing.flac\n        ├── 07. Barry Bonds.flac\n        ├── 08. Drunk and Hot Girls.flac\n        ├── 09. Flashing Lights.flac\n        ├── 10. Everything I Am.flac\n        ├── 11. The Glory.flac\n        ├── 12. Homecoming.flac\n        ├── 13. Big Brother.flac\n        └── 14. Good Night.flac\n```\n\n\u003e [!NOTE]\n\u003e Learn more about [file templating](/docs/templating.md)\n\n## Configuration files\n\nFiles of the app are created in your home directory. By default, the app is located at `~/.tiddl`.\n\nYou can (and should) create the `config.toml` file to configure the app how you want.\n\nYou can copy example config from docs [config.example.toml](/docs/config.example.toml)\n\n## Environment variables\n\n### Custom app path\n\nYou can set `TIDDL_PATH` environment variable to use custom path for `tiddl` app.\n\nExample CLI usage:\n\n```sh\nTIDDL_PATH=~/custom/tiddl tiddl auth login\n```\n\n### Auth stopped working?\n\nSet `TIDDL_AUTH` environment variable to use another credentials.\n\nTIDDL_AUTH=\u003cCLIENT_ID\u003e;\u003cCLIENT_SECRET\u003e\n\n# Development\n\nClone the repository\n\n```bash\ngit clone https://github.com/oskvr37/tiddl\ncd tiddl\n```\n\nYou should create virtual environment and activate it\n\n```bash\nuv venv\nsource .venv/Scripts/activate\n```\n\nInstall package with `--editable` flag\n\n```bash\nuv pip install -e .\n```\n\n# Resources\n\n[Tidal API wiki (api endpoints)](https://github.com/Fokka-Engineering/TIDAL)\n\n[Tidal-Media-Downloader (inspiration)](https://github.com/yaronzz/Tidal-Media-Downloader)\n","funding_links":["https://buymeacoffee.com/oskvr"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foskvr37%2Ftiddl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foskvr37%2Ftiddl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foskvr37%2Ftiddl/lists"}