https://github.com/yayuniversal/playlist-sync
A little command line tool to download and sync playlists from Deezer or Spotify to predefined folders.
https://github.com/yayuniversal/playlist-sync
deemix deezer deezer-downloader deezer-playlist playlist-downloader playlists python python3 spotify spotify-downloader spotify-playlist
Last synced: about 1 month ago
JSON representation
A little command line tool to download and sync playlists from Deezer or Spotify to predefined folders.
- Host: GitHub
- URL: https://github.com/yayuniversal/playlist-sync
- Owner: yayuniversal
- License: gpl-3.0
- Created: 2022-03-16T02:37:55.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-07T00:59:12.000Z (over 1 year ago)
- Last Synced: 2024-10-30T04:31:11.127Z (7 months ago)
- Topics: deemix, deezer, deezer-downloader, deezer-playlist, playlist-downloader, playlists, python, python3, spotify, spotify-downloader, spotify-playlist
- Language: Python
- Homepage:
- Size: 20.5 KB
- Stars: 17
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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`](https://pypi.org/project/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 from [PyPI](https://pypi.org/project/playlist-sync/) with [`pipx`](https://pipx.pypa.io/):
```
pipx install playlist-sync
```
`pipx` can be installed with `pip` if you don't have it installed:
```
pip install pipx
pipx ensurepath
```playlist-sync can also be installed directly with pip, but pipx is recommanded for command-line applications since it creates an isolated environment for each application and its associated packages.
The 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](https://github.com/lilianmallardeau/playlist-sync/wiki/The-config.json-file) and [here](https://github.com/lilianmallardeau/playlist-sync/wiki/The-playlists.json-file).
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](https://www.python.org). 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 playlist-sync`
3. Download the 2 scripts in the [`windows_scripts`](https://github.com/lilianmallardeau/playlist-sync/tree/main/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](https://github.com/lilianmallardeau/playlist-sync/wiki/The-config.json-file) and [here](https://github.com/lilianmallardeau/playlist-sync/wiki/The-playlists.json-file).
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](http://ytdl-org.github.io/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