Skip to content

Generates a simple HTML page from you Spotify extended streaming history just by telling it where the directory.

Notifications You must be signed in to change notification settings

mbektic/Simple-SESH-Summary

Repository files navigation

Simple-SESH-Summary

Generates a simple HTML page from your Spotify extended streaming history just by telling it where the directory is.

Example page mbektic.com/SESH

Before you start

  • If you want to get a copy of your Spotify extended streaming history, you can get it HERE
  • I wrote this using python 3.13.5, but any recent version of python should work.

Running

  • Double click GenerateHTMLSummary.py or run the script via terminal using python.exe .\GenerateHTMLSummary.py
    • A gui like the one below will pop up.
    • Image
    • Click browse and select the folder that contains your extracted JSON files.
    • After altering the settings to your liking, click "Generate Summary"
    • It will take a few seconds to generate the report, you can see the progress with the progress bar.
    • Image
    • You should get a confirmation screen like so, clicking "Open Report" should open it in your web browser.
    • Image
    • The file will have generated in the same folder as the script if you wish to revisit it later.
    • After opening the page, you can switch between playtime and play count as well as theme by clicking the settings button at the top right of the page.
      • Image
  • If you wish to change the default settings, they are found in the config.py file.
    • You can also run the script like so python.exe .\GenerateHTMLSummary.py --skip-gui
    • It will skip the GUI and just generate the report with the values in config.py
      • You will need to set the default directory in the config.py.

Minimum Year filter (optional)

You can optionally filter out any plays before a specified year. This is useful if you only want to analyze recent listening history.

  • In the GUI:

    • Check "Filter out plays before this year" in the "Minimum Year (optional)" section.
    • Enter a year (e.g., 2020). Valid range is 1900–3000. If the field is empty or invalid, you’ll be prompted to fix it.
  • In config.py (when using --skip-gui or setting defaults):

    • Set MIN_YEAR to an integer (e.g., MIN_YEAR = 2020) to enable filtering.
    • Set MIN_YEAR = None to disable filtering (default).
    • Any invalid value or out‑of‑range year will automatically disable the filter during validation.

What gets filtered:

  • All processing steps ignore entries whose timestamp year is less than MIN_YEAR.
  • This applies to all statistics and also to the "On This Day" section.

Compression (if you run into an issue with the generated HTML file)

In config.py there is a flag set COMPRESS_TABLE_DATA = True. If you are experiencing issues with the generated HTML file, you can try setting this to False.

IMPORTANT NOTES

  • When you first open the HTML page, it can take a few seconds to load depending on how many years of history you have.
    • For example, with 10 years of history mine sometimes takes 2–3 seconds.
  • The resulting .html file can be shared without any of the other scripts or style files as everything is all built into it.
  • None of your data ever leaves your system or is uploaded anywhere, this all stays on your machine.

Features

Time Filter Selector

This will filter the tables based on the year selected.

Desktop

Image

Mobile

Image

Selecting Custom

By selecting custom, you can select any date range for the tables. Image

Artist (Dark Mode and Play Time)

Image

Tracks (Light Mode and Play Count)

You can also click on any track here to open it on Spotify. Image

Albums (Search)

Image

Personality Type

Image

Stats

Overview & Time/Library

Image

Milestones/Popularity

Image

Patters/Session & Behavior

Image

On this day

You can also click on any track here to open it on Spotify. Image

Artist played every year

Image

Listening By Year

Image

Smart Playlists

You can also click on any track here to open it on Spotify. Image

Heatmap

Image

Thanks

About

Generates a simple HTML page from you Spotify extended streaming history just by telling it where the directory.

Topics

Resources

Stars

Watchers

Forks