Skip to main content

A little command line tool to download and sync playlists from Deezer or Spotify to predefined folders.

Project description

Playlist-sync

playlist-sync is a little command line tool to download and sync playlists from Deezer or Spotify to predefined folders. It reads playlists links and target folders from a JSON file.

It uses deemix under the hood to actually download the playlists.

What you will need

  • Python >= 3.8 with pip (untested on earlier versions of Python)
  • A Deeezer account. Since deemix downloads songs from Deezer, it uses your Deezer account to access Deezer servers and download music. So even if you only want to download Spotify playlists, you will need to have a Deezer account. Note that to download 320kbps MP3 or FLAC, you will need a Deezer Premium account. A free Deezer account only allow to download 128kbps MP3.
  • A Spotify account if you want to download playlists from Spotify.

Installation

Playlist-sync can be installed with pip from PyPI:

pip install playlist-sync

The pip package adds the playlist-sync command to the command line.

How to setup and use

Playlist-sync relies on two files, config.json and playlists.json, which must exist in the current working directory. config.json contains some general settings (Deezer ARL, Spotify API token, bitrate...), and playlists.json contains the links to your playlists as well as the target folders where you want them to be downloaded.

playlist-sync can create templates for these two files so you only need to fill them. In your music library folder (where you want your playlists to be downloaded), run:

playlist-sync init

It will create the 2 json files. Fill them both as explained in the wiki, here and here. Once you've filled the config.json file with your Deezer ARL (and Spotify API client ID and secret if you want to download Spotify playlists) and the playlists.json file with your playlists links, to download them all at once in the desired folders, simply run:

playlist-sync sync

How to install and use easily on Windows

  1. If you don't have it installed already, download and install Python. During installation, make sure to choose to update the PATH environment variable.
  2. Open the command prompt (search for "cmd" in the search bar) and type pip install --user playlist-sync
  3. Download the 2 scripts in the windows_scripts folder in this repo, and put them in your music library folder
  4. Double click on playlist-sync_init.cmd. It will create two json files, config.json and playlists.json, in the same folder.
  5. Fill the two json files as described here and here.
  6. To download/update your playlists, simply double click on the playlist-sync_sync.cmd file

Todo

  • Add support for SoundCloud and YouTube playlists, with youtube-dl
  • Sync Serato/rekordbox crates with downloaded playlists
  • Use ISRC numbers to prevent downloading songs from different playlists twice, and make hardlinks between files instead

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

playlist-sync-0.1.0.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

playlist_sync-0.1.0-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file playlist-sync-0.1.0.tar.gz.

File metadata

  • Download URL: playlist-sync-0.1.0.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for playlist-sync-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d5e7885020475b88469b6a6af9f84b9b72bad75aa4d6d64f7e11738196dd217a
MD5 2df42987585aa75a3ee1f837ad729beb
BLAKE2b-256 b480f38e27c66c5d2747e50d4382bbbba6fff9ef4c07b3492a06bff8511d1d7e

See more details on using hashes here.

File details

Details for the file playlist_sync-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: playlist_sync-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for playlist_sync-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86d1d16a162c429a281fe98c0014638bbfd0735f77ba66fb57404642961c6432
MD5 f839b8568a95372f5722edd9c74e92d7
BLAKE2b-256 0ef0e4c6bc915397cb3c8ffa504c1d221b964f615f187df4b86de9e1e0354f70

See more details on using hashes here.

Supported by

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