tidalfy is a Python script with the goal of providing a seamless migration from Spotify to TIDAL. The script, written in Python, utilizes tidalapi and spotipy to provide Daily Mix migration. Additional features are TBA.
- Daily Mix Migration: Move your Daily Mix Spotify playlists to TIDAL automatically.
-
Fork the repository. More instructions can be found here.
-
Clone your forked repository:
git clone https://github.com/-USERNAME-/tidalfy.git
-
Navigate to the project directory:
cd tidalfy
-
Edit the spotify_session_config.yml file with your Spotify credentials and Daily Mix playlist URIs. More instructions can be found here.
-
Run tidalfy.py, and follow the TIDAL authorization prompts:
"PROMPT: Please login with your web browser: link.tidal.com/sample_code"
-
Allow the script to finish executing. This may take a few minutes, depending on the number and size of your Daily Mix playlists.
-
Once the script has finished, push the changes to your GitHub repository:
git add . git commit -m "-MY COMMIT MESSAGE-" git push
-
Navigate to the "Actions" tab of your GitHub repository, and click "set up a workflow yourself".
-
Look over the provided GitHub Actions main.yml template.
name: tidalfy on: schedule: - cron: "* * * * *" # in cron syntax, "* * * * *" means "every minute" # to create your own cron syntax, visit https://crontab.guru jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository contents uses: actions/checkout@v4 - name: Setup Python Version uses: actions/setup-python@v5 with: python-version: 3.11.2 # 3.11.2 is currently stable # you may replace it with your own Python version, if you desire. - name: Install Python Dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - name: Execute Code run: python tidalfy.py - name: Commit Files run: | git config --local user.name "-YOUR_GITHUB_USERNAME-" git config --local user.email "-YOUR_GITHUB_EMAIL-" git add --all git commit -am "GitHub Action: Daily tidalfy execution" git push origin main env: REPO_KEY: ${{secrets.GITHUB_TOKEN}} username: github-actions - name: Push Changes uses: ad-m/[email protected] with: github_token: ${{secrets.GITHUB_TOKEN}} branch: main
-
Replace the boilerplate text from the main.yml template with your own cron time, Python version, and GitHub username and email.
-
Paste the modified template into your own main.yml file.
-
Stage, commit, and push your changes to your GitHub repository.
-
Login to Spotify Web.
-
Go to https://developer.spotify.com/dashboard, and click "Create app".
-
Create an app name, enter http://localhost:8888/callback for the redirect URI, check all API/SDKs, and click "Save" (note: copy the redirect URI for your spotify session config file).
-
Navigate to your app in your Spotify Developer Dashboard.
-
Click on "Settings"
-
There, you will find your Spotify client ID and client secret (once you press "View client secret").
-
Login to Spotify Web, and navigate to the Web Player.
-
Click on your profile image, and select "Account".
-
Select "Edit profile".
-
There, you will find your Spotify username.
-
Login to Spotify Web, and navigate to the Web Player.
-
Navigate to the appropriate Daily Mix playlist.
-
Click on the three dots.
-
While holding control (CTRL), select "Share" and then "Copy Spotify URI".
tidalfy is licensed under the MIT License.
For inquiries or suggestions, contact the developer at [email protected].