This is a simple flask app that uses the Spotify API to:
- Collect playlists from the current user
- Collect the tracks from all the playlists
- Gather the audio features from all tracks
- Displays interactive visualizations with summary values from the audio features
The app is based on Flask and a single-paged flexbox. The Api calls and the plots are made in Python 3 and the visualizations are produced with Plotly figures.
git clone https://github.com/jsga/Spotify_Flask_Plotly.git
cd Spotify_Flask_Plotly
sh start.sh
Then visit http://127.0.0.1:5000/, press Ctrl + C to quit
Go to Spotify for developers website and press "Get Token". The required scopes for the endpoint uses are "playlist-read-private".
- Danceability: Danceability describes how suitable a track is for dancing based on a combination of musical elements including tempo, rhythm stability, beat strength, and overall regularity. A value of 0.0 is least danceable and 1.0 is most danceable.
- Acousticness: A measure from 0.0 to 1.0 of whether the track is acoustic.
- Energy: Energy is a measure from 0.0 to 1.0 and represents a perceptual measure of intensity and activity. Typically, energetic tracks feel fast, loud, and noisy.
- A complete list of the features is described in this post.
- Allow the user to select which features to show
- Divide the analysis in multiple pages