Gotipy
Gotipy is a tool that efficiently transfers your Google Play Music playlists to Spotify.
User can choose from many aggressiveness levels (A trade off between track detection rate and accuracy).
This package is built atop:
- Spotify's official python API: Spotipy https://github.com/plamere/spotipy
- Google Play Music's unofficial python API: Gmusicapi https://github.com/simon-weber/gmusicapi
Setup and Usage:
- Install python3 and git if not already installed
$ pip3 install gotipy
- Get Spotify token from here: https://developer.spotify.com/web-api/console/get-users-profile/ **Be sure to check 'Playlist Modify Private' option
- Get your spotify ID from here: https://www.spotify.com/account/overview/
- Generate an app specific password for your Google account from here https://security.google.com/settings/security/apppasswords (or turn off 2-step-auth)
$ git clone https://www.github.com/omarryhan/gotipy.git && cd gotipy && ./app.py
Aggressiveness levels
Aggressiveness levels will add the first track found if:
- Only one search result was found by searching trackss (Title, Artist, Album)
- Only one search result was found by searching track's (Title, Artist)
- Only one search result was found by searching track's (Title, Album)
- Only two search result were found by searching track's (Title, Artist, Album)
- Only two search result were found by searching track's (Title, Artist)
- More than two search results were found by searching track's (Title, Artist, Album)
- Only two search result were found by searching track's (Title, Album)
- More than two search results were found by searching track's (Title, Artist)
- More than two search results were found by searching track's (Title, Album)
- More than two search results were found by searching track's (Title)
- Of course, given any aggressiveness level, the program will start searching from agr level 1 all the way to the agr level that the user sets as the limit.
CSV colomns
Migrator will export a CSV with the following rows for each track processed:
- Direction
- Aggressiveness level chosen
- Playlist Number
- Playlist Name
- Track Number
- Track Title
- Track Artist
- Track Album
- Whether track was transferred or not
- On which level it was transferred on
- Notes (Reason why track was not transferred)