DISCLAIMER: current project will not work without inserting your own client_id and client_secret into assets/config.py
The project is an implementation of the Spotify to YTMusic playlist/song converter. App could transfer your playlists/songs with easy and no need in manually searching for each song.
To install this project, simply download the files and place them in the desired directory on your local machine.
- Python 3.1 or higher
This project requires the following libraries to be installed:
- requests
- Pillow
- flask
- ytmusicapi
- customtkinter
Use the package manager pip to install necessary libraries.
pip install -r requirements.txt
Please note that client_id and client_secret are sensitive information and should not be stored publically like this.
In order to use this app openly, go to spotify dashboard and get your own credentials
- Clone or download this repository to your local machine.
- Run the main script using the following command in your terminal:
python -m src
- After installing requiring packages the browser will open with 2 new tabs ( Spotify and Google authentication pages).
The terminal should look like this:
After logging in your spotify account you should see this page:
After logging in your google account you should press 'enter' key in your terminal. Your terminal should look like this.
- App interface
- Now you should be able to use application. You will see home page and navigation bar on the left side. You can change
white/dark version of the app.
- Home page consists of manually logging in Spotify/YT music if something fails. It will restart the process of authentication.
- Connection button test Spotify and Youtube Music connection be sending a test request. It will notify you by opening another window.
- Export frame
-
After successfully connection with spotify you should be able to see yours Spotify playlists. After choosing playlist application will load songs in chosen playlist.
-
In the bottom you can choose between different option of exporting.
-
- Export all songs from current chosen playlist - It will create a new playlist and transfer each song to this playlist. In case playlist with this name exists and will add to it.
- Export chosen songs to new playlist - You can choose songs individually, create a new playlist and transfer them to it.
- Export chosen songs to existing playlist - You can choose songs individually and transfer them to an existing playlist. Note that it can transfer only to your own playlist. Unfortunately app does not support transferring songs to 'Like Music' playlist.
-
After exporting
- After choosing playlist/songs to export and pressing the button you should see transfer process in the terminal.
- After finishing it will notify you about transfer status
Run tests by executing the following command:
pytest test_functions.py
This command will launch tests.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Special thanks for Tom Schimansky and his customtkinter library and for easy ytmusicapi library.