Skip to main content

spotidl: download songs, albums and playlists using Spotify links

Project description

Introduction

yet Another Song Downloader, yASD for short(I couldn't think of a better name, sorry!), is a song downloader app that accepts Spotify links, fetches individual song—and basic album—metadata from Spotify, downloads the song from Youtube. The metadata is then written onto the downloaded song file using the trusty Mutagen library, this includes the album/song cover art as well.

The app currently supports downloading songs, albums and playlists in the mp3, flac and m4a formats(the m4a format right now does not have full textual metadata support but I'm working on it 😅).

I got the inspiration for the project from my friend Swapnil's spotify-dl app written in JavaScript. This seemed like the perfect pet project to make and consequently learn from :)

Setup

yASD needs two things to work: FFmpeg and a Spotify developer account.

Steps to make a Spotify developer account:

  1. Go to Spotify Dev Dashboard
  2. Login with your credentials and click on "create an app".
  3. Enter any name of choice, app description, tick the checkbox and proceed.
  4. Now you have access to your client ID. Click on "Show client secret" to get your client secret.
  5. From here, click on "edit settings" and in the "redirect URIs" section add any localhost URL. I personally use http://localhost:8080/callback

Finally, copy your client ID, client secret and the redirect URI and paste them in the .env.example file opposite the appropriate variables. Rename the .env.example file to .env and you're good to go!

Usage

WIP

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

spoti-dl-0.9.3.tar.gz (11.6 kB view hashes)

Uploaded Source

Built Distribution

spoti_dl-0.9.3-py3-none-any.whl (13.2 kB view hashes)

Uploaded Python 3

Supported by

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