Skip to content

Edwin574/Memories-on-repeat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Getting Down Playlist

In celebration of the joy and community I experienced at KamiLimu, this project curates a living playlist for graduation day and the moments that follow. The idea is simple: every track captures a shared memory. When a song plays, it should instantly transport someone back to that moment in the ceremony—the laughter, the nerves, the pride—and let them relive how it felt.

Overview

  • Pulls song and artist data from a shared Google Sheet where all cohort 9 mentees shared tracks.
  • Fetches Spotify URIs in batches of 50, persisting results to spotify_results.csv.
  • Builds a Spotify playlist from the saved URIs, so you can iterate on search results before publishing.

Requirements

  • Python 3.10+
  • Spotify API credentials (client ID, client secret, redirect URI) with a registered app.
  • .env file containing:
    SPOTIPY_CLIENT_ID=your_client_id
    SPOTIPY_CLIENT_SECRET=your_client_secret
    SPOTIPY_REDIRECT_URI=http://localhost:8888/callback
    SCOPE=playlist-modify-public playlist-modify-private
    
  • Access to the Google Sheet (update the URL in track_uris.py if needed).

Install dependencies:

pip install -r requirements.txt

Scripts

  • track_uris.py: reads the sheet, searches Spotify in 50-song batches, writes/updates spotify_results.csv. Skips songs without matches and logs each batch.
  • main.py: full orchestration. Rebuilds the CSV (via track_uris) and immediately creates the playlist using the URIs.
  • spotify_service.py: shared Spotify helpers (auth, load URIs, playlist creation).
  • read_data.py: Google Sheet reader with column validation.

How to Run

  1. Generate or refresh URIs only

    python track_uris.py
    

    Check spotify_results.csv to review matches before playlist creation.

  2. End-to-end run (CSV + playlist)

    python main.py
    
    • Re-queries Spotify for all songs (refreshes the CSV).
    • Loads URIs from the CSV.
    • Creates a playlist, adding tracks in 50-item batches and logging each addition.

Notes

  • If you edit the Google Sheet, re-run track_uris.py (or main.py) to sync the CSV.
  • The playlist is created on the authenticated Spotify account; ensure the scopes in .env match your needs (public vs private).
  • The scripts skip songs without a Spotify match so the run never stalls—those entries remain absent from the CSV until a URI is found.

Contribution

This repository is open feel free to fork it for your own ceremonies or collective moments. May every track keep the memory of KamiLimu alive whenever the playlist plays. 🎓🎶

About

Recreates the Kamilimu Cohort 9 graduation ceremony playlist vibe by syncing shared tracks to Spotify and generating a reusable playlist.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages