76 lines
2.3 KiB
Markdown
76 lines
2.3 KiB
Markdown
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:
|
|
|
|
```bash
|
|
python3 -m pip install -e .
|
|
```
|
|
|
|
Setup
|
|
-----
|
|
0. Rename the file example_config.yml to config.yml
|
|
0. Go [here](https://developer.spotify.com/documentation/general/guides/authorization/app-settings/) and register a new app on developer.spotify.com.
|
|
0. Copy and paste your client ID and client secret to the Spotify part of the config file
|
|
0. Copy and paste the value in 'redirect_uri' of the config file to Redirect URIs at developer.spotify.com and press ADD
|
|
0. 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`
|
|
|
|
```bash
|
|
spotify_to_tidal
|
|
```
|
|
|
|
You can also just synchronize a specific playlist by doing the following:
|
|
|
|
```bash
|
|
spotify_to_tidal --uri 1ABCDEqsABCD6EaABCDa0a # accepts playlist id or full playlist uri
|
|
```
|
|
|
|
or sync just your 'Liked Songs' with:
|
|
|
|
```bash
|
|
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`:
|
|
|
|
```yaml
|
|
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:
|
|
|
|
```bash
|
|
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
|
|
<br><br>
|
|
<a href="https://github.com/spotify2tidal/spotify_to_tidal/graphs/contributors">
|
|
<img class="dark-light" src="https://contrib.rocks/image?repo=spotify2tidal/spotify_to_tidal&anon=0&columns=25&max=100&r=true" />
|
|
</a>
|