1e8366a0e8e751186dc9d630ddce29e5fb7fa95f
This replaces #36 and adds some other fixes! Execution speed should be much faster now, especially when there are not many changes to synchronize. * Maintain track cache between different playlists (thanks to @joshrmcdaniel for amazing work on that!) * Fix incorrect tidal_playlist_is_dirty() implementation * Remove more redundant API calls * Avoid unnecessarily spinning up tasks for tracks that were in match failure cache * Introduce new rate_limit configuration parameter implemented with leaky bucket rate-limiting algorithm * Where possible, add new tracks to existing playlist instead of erasing the old ones * Use asyncio multithreading instead of multiprocessing * When user has large number of spotify playlists, fetch them in parallel instead of one by one * More typing hints / typing fixes
A command line tool for importing your Spotify playlists into Tidal
Installation
Clone this git repository and then run:
python3 -m pip install -e .
Setup
- Rename the file example_config.yml to config.yml
- Go here and register a new app on developer.spotify.com.
- Copy and paste your client ID and client secret to the Spotify part of the config file
- Copy and paste the value in 'redirect_uri' of the config file to Redirect URIs at developer.spotify.com and press ADD
- 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
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
See example_config.yml for more configuration options, and spotify_to_tidal --help for more options.
Join our amazing community as a code contributor
Description
Languages
Python
99.5%
Shell
0.5%