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.3.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: songsync-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 440a1dd2166d5bdbb69de110c8baac78b497c21e208283cb3f52475f77e0280b
MD5 a7e06e6d5bcc912d819835f8148ae99a
BLAKE2b-256 930491fe6d17ab6ae3fb9f700740f61bee7ced95e2c09b5e40eb2098f404ec5a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: songsync-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2058b6ec2cdcaba42a707fa8c5678d9c1cea5b711a2143b44128ff1fab5203f3
MD5 012593ce8d6fa246bce18a4676cac1ef
BLAKE2b-256 1a199e0fdd2b35c153e8db6ab1dc75e5b66679d6cdc6b86097c2306d4cae83f2

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