Skip to main content

Convert YouTube playlists to Spotify playlists

Project description

songsync

Convert YouTube and YouTube Music playlists to Spotify playlists

Installation

pip install songsync

Setup

Create a Spotify app by following the instructions in the Spotify Web API documentation: https://developer.spotify.com/documentation/web-api

Set the following environment variables

export SPOTIPY_CLIENT_ID='your-spotify-client-id'
export SPOTIPY_CLIENT_SECRET='your-spotify-client-secret'
export SPOTIPY_REDIRECT_URI='your-app-redirect-url'

Usage

from songsync.songsync import SongSync

ss = SongSync()
spotify_playlist_id, tracks_not_found = ss.convert_yt_spotify(
    yt_playlist_id="PLkZa6xWYS81W6wdF6HSpuqOuVCgu9mzjD",
    spotify_playlist_name="Your Spotify Playlist Name",
)

Notes:

  • The YT playlist ID can be found from the URL of your Youtube/Youtube Music playlist.
  • The YT playlist must be public or unlisted.
  • (Experimental) The search algorithm uses language detection to search different Spotify markets and substrings of a song title.
    • Titles are more varied for normal YouTube videos in comparison to YouTube Music videos which can increase the difficulty of the search. The closer the YouTube video name is to the Spotify name the easier it is to find. See interactive mode below for manually searching tracks that cannot be found.

Interactive Mode

ss = SongSync(interactive_mode=True)

With interactive mode, if the script cannot find the YouTube track on Spotify you will be prompted to manually enter a title and artist. Enter it as it would appear in your country. You can enter blank in the prompt to skip.

Local Development

Install poetry: https://python-poetry.org/docs/#installation

Setup and activate virtual environment

python3 -m venv .venv && source .venv/bin/activate

Install poetry dependencies

poetry install

Follow the above instructions for setting up your Spotify app and environment variables.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

songsync-0.1.2.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

songsync-0.1.2-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file songsync-0.1.2.tar.gz.

File metadata

  • Download URL: songsync-0.1.2.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Darwin/22.5.0

File hashes

Hashes for songsync-0.1.2.tar.gz
Algorithm Hash digest
SHA256 39541b23f2e2b17cf2738735ac0bab017786dab487f770209f54063724a72ab4
MD5 690dce18241394c46b19ef45123e2499
BLAKE2b-256 15a1571e5b1097c60cdb0fdd1698de8a23cde5688665e4d21d0fe7142a061636

See more details on using hashes here.

File details

Details for the file songsync-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: songsync-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Darwin/22.5.0

File hashes

Hashes for songsync-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe5c4ee2c89e3dacbe7f9894ecbc044887b1a9b72447c08c2f0cd2b9ac15a55a
MD5 418b66e474d8ab6cba2ef760e657a898
BLAKE2b-256 32a3782ed4017ec4c5375c883cf80e15267386706ce9b9dd43109a9f60cbc685

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page