Skip to content

Pure-Python web app for music exploration with Spotify 🌱

Notifications You must be signed in to change notification settings

wightwick/fynesse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎛️ fynesse

🌱 Advanced recommendation and search web app for Spotify, written in pure Python.

📦 UI written in Reflex, Spotify interaction via Spotipy

Screenshot

Features

  • Generate recommendations based on seed tracks and artists from your library or search results + 5 tuneable parameters provided by rhe recommendation API
  • Browse your Spotify library (liked songs, playlists, recently played) and see artist genres associated with each track
  • Fine-grained search for artists and tracks — by name, genre, year
  • Play and queue new music on your currently active Spotify device, or save recommendations to a playlist to lisen later

Connecting to Spotify API and running the app

The core functionality of fynesse requires a connection to Spotify's Web API.

To set this up:

  1. Go to the Spotify developer dashboard
  2. Click Create app
  3. Enter a name and app description (these don't matter)
  4. Enter http://localhost:3000 as Redirect URI (note - needs to be the same port the reflex app is configured to run on)
  5. Tick Web API under Which API/SDKs are you planning to use?
  6. Agree to terms and click Save
  7. Click Settings in the top right
    • You now can see your Client ID and Client Secret
  8. Add your Client ID and Client Secret to sp_secrets.py
  9. You are now ready to run the app. Do so by running reflex init followed by reflex run in the parent directory (you will need the packages listed in requirements.txt installed)
  10. On first run, you will be prompted to log in to your spotify account. Do so!
  11. The app should run, accessible at http://localhost:3000 😎

Tips for use

  • have a flick through your library for some bangers
  • plant them and/or their artists into the seeds window
  • germinate the seeds to produce a batch of tune recommendations
  • experiment with the other generation parameters to fine tune your recommendations
  • play/queue some/all of the recommended tunes
    • music is played via your active spotify device if you have one
    • to play music from fynesse, you need to have a spotify client open somewhere - desktop, web, or mobile, and Spotify must consider it the 'active device'. To make a device active you can quickly play/pause from it
  • save recommended tunes to a playlist in your library to listen another time
  • explore genres by showing them on your library and clicking to search
    • narrow down search to find similar tunes manually
  • using a set of disparate seeds will produce a mixed playlist
  • tunes can be played, queued or seeded from search results via each track's dropdown button

About

Pure-Python web app for music exploration with Spotify 🌱

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages