Skip to main content

A schedulable, configurable CLI downloader for Spotify accounts

Project description

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 :star: 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.

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

spot_sync-1.1.1.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

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

spot_sync-1.1.1-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file spot_sync-1.1.1.tar.gz.

File metadata

  • Download URL: spot_sync-1.1.1.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.9.16 Linux/5.15.0-1031-azure

File hashes

Hashes for spot_sync-1.1.1.tar.gz
Algorithm Hash digest
SHA256 bd0c636a15d1262fa0929096cbfc3a9d82abf3c09ac0601a5b94679682b88feb
MD5 3b8110e16f0120b49a36b349088605ce
BLAKE2b-256 8139dd471ed07e71459041def60e08a4ef62da84da9d7d0286c8d0529edebcb3

See more details on using hashes here.

File details

Details for the file spot_sync-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: spot_sync-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.9.16 Linux/5.15.0-1031-azure

File hashes

Hashes for spot_sync-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 105b699366c3b6ed6065a98b22601e601a710ea7fb0ff17ebf49407e635533f8
MD5 129d5fd38248c730d47bcd5014f8de5d
BLAKE2b-256 e151e0b101ce54aca0b3a494573cb100a4270d6b3bddabfda9e4324956f8b83e

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