Skip to content

catzs/spotify-playlist-archive

 
 

Repository files navigation

spotify-playlist-archive Build Status

Daily snapshots of public Spotify playlists

Spotify's playlists are great. I like that they're updated once in a while - change is good! I don't like, however, that it's impossible to see older versions. How am I supposed to remember the name of that song I really liked? Apparently, I'm not alone: see here, here, here, here, here, here, here, here, and here. Since Spotify won't take snapshots of our favorite playlists, let's do it ourselves!

Quick start

  1. To view the current version of a playlist, click on its name below
  2. To see all songs that ever belonged to a playlist, click "cumulative"
  3. To determine which songs were added or removed from a playlist, click "githistory"
  4. To add a playlist to the archive, simply touch playlists/plain/<playlist_id> and make a pull request

How it works

This reposity contains a script for scraping Spotify playlists and publishing them back to the repo. The script is run daily via Travis CI (free for public GitHub repos). It's also run after every commit, which means that playlists get regenerated whenever the scraping or formatting logic changes, or when new playlists are added - cool!

The script determines which playlists to scrape by looking at the file names in playlists/plain. Anything that's not a valid playlist ID gets removed. Files that are a valid playlist IDs get regenerated: a pretty version of each playlist gets dumped in playlists/pretty, new tracks are added to the files in playlists/cumulative, and a plaintext version of each playlist is written back to playlists/plain. The plain version is sorted alphabetically, rather than by track number, so that it only changes when tracks are added or removed, making Git History a nice way to visualize how the playlist evolves over time.

The list below is autogenerated.

Playlists

About

Daily snapshots of public Spotify playlists

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%