Skip to content

A schedulable, configurable CLI downloader for Spotify accounts

License

Notifications You must be signed in to change notification settings

b4ird/spotify_sync

Repository files navigation

spotify_sync

Python Versions PyPi package Downloads License Documentation Code Style

Introduction

spotify_sync is a CLI app written in Python allowing you to download songs from your Spotify account. It is designed to be a 'set and forget' tool for users wanting to keep an offline copy of their library. Spotify songs are matched to a 1:1 Deezer equivalent via their ISRC and then queued for download.

Features:

  • Download of liked songs
  • Download of playlist songs
  • Up-to lossless quality downloads
  • Multi-threaded downloading
  • Scheduling (e.g. cron)
  • Multi-config support; configure and schedule multiple profiles with separate Spotify accounts
  • Backup and restore of config and persistent data
  • Notification support via Pushover
  • Automatic Plex library scanning via Autoscan

Requirements

  1. Python & pip >= 3.8
  2. Spotify account (Free)
  3. Deezer account (Free allows 128kbps downloads, up to lossless requires Deezer Hi-Fi account)

Install

python3 -m pip install -U spot_sync

Usage

Simple usage would be..

Cache Spotify OAuth token

spotify_sync utils authorize-spotify --profile myFirstProfile

Run in automatic mode

spotify_sync run auto --profile myFirstProfile

Documentation

Further configuration is required, details for which can be found at the docs.

Support

If you use or enjoy this project, please give it a ⭐ or

Buy Me A Coffee

Disclaimer

This tool was written for educational purposes. I will not be responsible if you use this program in bad faith. By using it, you are accepting the Deezer Terms of Use. spotify_sync is not affiliated with Deezer.