Skip to content

sarajoha/setlist-maker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Setlist Maker App

Setlist Maker is an app that creates Youtube Music and Spotify playlists based on the most recent concerts of an artist. It fetches setlists from Setlist.fm and automatically creates playlists.

How to Run

1. Create and Activate Virtual Environment

python -m venv myvenv
source myvenv/bin/activate  # On macOS/Linux
myvenv\Scripts\activate  # On Windows

2. Install Dependencies

pip install -r requirements.txt

3. Set Up API Credentials

Ensure you have the necessary credentials:

  • Setlist.fm API Key: Register at Setlist.fm and get your API key.

  • Spotify API Credentials:

    1. Create an application in the Spotify Developer Dashboard.
    2. Obtain the Client ID, Client Secret, and Redirect URI.
  • Youtube Music API Credentials:

    1. Go to the Google Cloud Console.
    2. Create a new project or use an existing one.
    3. Create OAuth 2.0 credentials:
    • Go to APIs & Services > Credentials.
    • Click Create Credentials > OAuth Client ID.
    • Select TVs and Limited Input devices
    1. Authenticate using ytmusicapi:

      Run and follow the instructions

      ytmusicapi oauth

    Set up the env variables:

    export SETLIST_API_KEY="your-setlist-api-key"
    export SPOTIFY_CLIENT_ID="your-spotify-client-id"
    export SPOTIFY_CLIENT_SECRET="your-spotify-client-secret"
    export SPOTIFY_REDIRECT_URI="your-redirect-uri"
    export GOOGLE_CLIENT_ID="your-google-client-id"
    export GOOGLE_CLIENT_SECRET="your-google-client-secret"

4. Run the Application

fastapi dev main.py

This starts the FastAPI server.

5. Access API Documentation

Once the server is running, you can access interactive API documentation at: http://127.0.0.1:8000/docs

Dependencies

This project uses the following libraries:

  • Spotipy: Python library for interacting with the Spotify Web API.
  • ytmusicapi: Unofficial Python API for YouTube Music.

For more information on setup and usage, refer to their documentation.

TODO

  • Create account and API key in Setlist FM
  • Create virtual environment
  • Create FastAPI project/endpoint to connect to Setlist.fm and search for setlists by band and year
  • Connect to Spotify with credentials
  • Create playlist in Spotify based on a setlist
  • Create playlist in Spotify based on the last 3 or 5 setlists, including rare songs
  • Create playlist in YouTube Music based on setlist
  • Make a simple UI in Streamlit
  • Make sure UI adheres to Spotify's terms of service
  • Disable youtube music playlist creation for Production, leave only on dev
  • Map tours and concerts by band
  • Create a setlist for a specific concert
  • Create a setlist from a date range or tour of a band

About

Python app that creates playlists based on recent setlists

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published