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
deemixdownloads 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
- If you don't have it installed already, download and install Python. During installation, make sure to choose to update the PATH environment variable.
- Open the command prompt (search for "cmd" in the search bar) and type
pip install --user playlist-sync - Download the 2 scripts in the
windows_scriptsfolder in this repo, and put them in your music library folder - Double click on
playlist-sync_init.cmd. It will create two json files,config.jsonandplaylists.json, in the same folder. - Fill the two json files as described here and here.
- To download/update your playlists, simply double click on the
playlist-sync_sync.cmdfile
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
Metadata
Release files for playlist-sync 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| playlist-sync-0.1.0.tar.gz | 17.5 kB | Without provenance | Details for playlist-sync-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| playlist_sync-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for playlist_sync-0.1.0-py3-none-any.whl |
Total release size: 36.5 kB
Release files / playlist-sync-0.1.0.tar.gz
| Download URL | playlist-sync-0.1.0.tar.gz |
|---|---|
| Size | 17.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d5e7885020475b88469b6a6af9f84b9b72bad75aa4d6d64f7e11738196dd217a
|
|
BLAKE2b-256 checksum How to use checksums |
b480f38e27c66c5d2747e50d4382bbbba6fff9ef4c07b3492a06bff8511d1d7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / playlist_sync-0.1.0-py3-none-any.whl
| Download URL | playlist_sync-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
86d1d16a162c429a281fe98c0014638bbfd0735f77ba66fb57404642961c6432
|
|
BLAKE2b-256 checksum How to use checksums |
0ef0e4c6bc915397cb3c8ffa504c1d221b964f615f187df4b86de9e1e0354f70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for playlist-sync 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.