A command line tool for importing your Spotify playlists into Tidal. Due to various performance optimisations, it is particularly suited for periodic synchronisation of very large collections.

Installation

Clone this git repository and then run:

python3 -m pip install -e .

Setup

  1. Rename the file example_config.yml to config.yml
  2. Go here and register a new app on developer.spotify.com.
  3. Copy and paste your client ID and client secret to the Spotify part of the config file
  4. Copy and paste the value in 'redirect_uri' of the config file to Redirect URIs at developer.spotify.com and press ADD
  5. Enter your Spotify username to the config file

Usage

To synchronize all of your Spotify playlists with your Tidal account run the following from the project root directory Windows ignores python module paths by default, but you can run them using python3 -m spotify_to_tidal

spotify_to_tidal

You can also just synchronize a specific playlist by doing the following:

spotify_to_tidal --uri 1ABCDEqsABCD6EaABCDa0a # accepts playlist id or full playlist uri

or sync just your 'Liked Songs' with:

spotify_to_tidal --sync-favorites

See example_config.yml for more configuration options, and spotify_to_tidal --help for more options.

Streamlit + Docker auto-sync

The Streamlit app can run a daily background sync while it is open in Docker. It syncs the playlists marked with "Watch" in the app.

Enable it in config.yml:

auto_sync:
  enabled: true
  daily_at: "03:00"
  timezone: Europe/Berlin
  run_on_startup: false
  sync_external: false
  sync_favorites: false

Then start the local container:

docker compose up -d --build

Open the app at http://localhost:8501. The container mounts the project folder so config.yml, session.json, .session.yml, .cache-*, and the auto-sync status file persist on your machine.


Join our amazing community as a code contributor



Description
No description provided
Readme AGPL-3.0 169 KiB
Languages
Python 99%
Dockerfile 0.6%
Shell 0.4%