gitwtfhub

wtf is scrobbleplot?

ost2life/scrobbleplot — explained in plain English

Analysis updated 2026-05-18

0PythonAudience · dataComplexity · 2/5Setup · moderate

TL;DR

A small Python app that downloads your last.fm listening history and turns it into a scatter plot image.

Mindmap

mindmap
  root((ScrobblePlot))
    What it does
      Downloads last.fm scrobbles
      Generates scatter plot
      Outputs PNG image
    Tech stack
      Python
      Tkinter
      Matplotlib
    Use cases
      Visualize listening history
      Cache scrobbles locally
      Resume interrupted downloads
    Audience
      Music data hobbyists
      Python side project users
    Setup
      Get last.fm API key
      Run with Python 3
      Files saved in script folder

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Generate a scatter plot visualizing your last.fm scrobble history over time.

REASON 2

Download and cache your entire last.fm library locally as a JSON file.

REASON 3

Resume an interrupted download by filling in gaps from a previous run.

REASON 4

Keep your scrobble cache up to date by appending only new plays on each run.

What's in the stack?

PythonTkinterMatplotlib

How it stacks up

ost2life/scrobbleplot0xallam/my-recipe0xhassaan/nn-from-scratch
Stars00
LanguagePythonPythonPython
Last pushed2022-11-22
MaintenanceDormant
Setup difficultymoderatemoderatemoderate
Complexity2/52/54/5
Audiencedatageneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires generating your own last.fm API key before first use.

Wtf does this do

ScrobblePlot is a small Python application that turns your last.fm listening history into a scatter plot image. Last.fm is a music tracking service that records what you listen to, and each recorded play is called a scrobble. This tool downloads your scrobbles and plots them so you can see a visual picture of your listening habits over time. To use it, you need an API key for your own last.fm account, which you can generate through last.fm's own account page. The app itself is built with Python 3, using tkinter for its interface and matplotlib to draw the chart. According to the README, the tool can download a very large library, around a quarter million scrobbles, in about fifteen minutes, and then generate the actual chart image in just a couple of seconds. Downloaded scrobbles are stored locally in a JSON file, and the app is designed to handle incomplete downloads: it can fill in gaps from a previous run, and if a cache file is already present, it will simply append newly found scrobbles to it rather than starting over. The final output is a PNG image. All of the app's working files, meaning its cache, its settings, and the output image, are saved in the same directory as the main ScrobblePlot.py script, so there is no separate configuration folder to look for. The README is fairly brief and does not go into detail about installation steps beyond needing Python 3 with tkinter and matplotlib, or about what the resulting scatter plot actually shows on its axes.

Yoink these prompts

Prompt 1
Help me get a last.fm API key and set it up to run ScrobblePlot.
Prompt 2
Explain how ScrobblePlot caching works when I already have a partial scrobble download.
Prompt 3
Show me how to run this Python tkinter and matplotlib app to generate my last.fm scatter plot.
Prompt 4
Help me modify this script to change what the scatter plot axes represent.

Frequently asked questions

wtf is scrobbleplot?

A small Python app that downloads your last.fm listening history and turns it into a scatter plot image.

What language is scrobbleplot written in?

Mainly Python. The stack also includes Python, Tkinter, Matplotlib.

How hard is scrobbleplot to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is scrobbleplot for?

Mainly data.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.