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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: songsync-0.1.1.tar.gz
  • Upload date:
  • Size: 5.4 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.1.tar.gz
Algorithm Hash digest
SHA256 a1050b1b0fe152a12538fde58f8c68dbd6ca72ac4b10e16a45af7bdcf2bfa6fd
MD5 bdee3adafa381886be8122e7f0e77c62
BLAKE2b-256 0210b43f1debc556dadea23eb4241db26461dca5e85e9e18f86cae9fa0a865e2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: songsync-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 abe3e6e8de3245b86415ad20b6c5622d95d05d6eb9f3652a857975788ffba7eb
MD5 9cf204a7b52f965c8d0555f59f354ca8
BLAKE2b-256 903e6544b94707165a5b29d9803047040eade13ca09c84fc1009499c17ae2290

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