* Some simple code for extracting data from the jsons * Jupiter Notebook * Mac specific gitignore * Fixed finding paths to floders * Delete src/gdpr_data directory * Updated gitignore to include my testing file * Added the standard saving path for the database in the database handler, this way multiple files dont have to be updated when moving database position * Moved the API usage wrappers into an own file, added a function for getting multiple track_ids at once, this still needs to be tested more * Further code for extracting data from the gdpr files * Forgor * Final&Tested version of get_multiple_tracks_information endpoint * Further functionality: The code now extracts the id of each listened song and makes a api call to get info about these songs via the multiple tracks api. Furthermore we track the songs witch the call is made for already and skip these * Added function to map catalouged ids into the play history * Added args parser to runtime program, cleaned up some code * Fixed a bug where the database would always try to create tables, eaven if it exists * Added some small text for clean interface * Some final fixes to actual code, fixed db bug, reversed the order of database entries * Some documentation * Added -export args to docker runtime * fix
Predictify
Overview
A Data analysis tool to scrape your Spotify History usage and let a ML-Model predict your next songs
Authentication API
Official Documentation Authorization Code Flow
Usable possible APIs
Recently Played Tracks: /me/player/recently-played Official Spotify Documentation
Get Track: /tracks/{id} Official Spotify Documentation
Get Track's Audio Features (Deprecated): /audio-features/{id} Official Spotify Documentation
Get Track's Audio Analysis (Deprecated): /audio-analysis/{id} Official Spotify Documentation
Get Artist: /artists/{id} Official Spotify Documentation
Docker usage
cd inside the projects directory:
cd predictify
To run predictify inside a container, first make sure to build the image:
make dockerfile
Create a seperate data directory (e.g. docker-data):
mkdir docker-data
Note
To detatch the container to run it in the background add the
--detachdirectly after theruncommand. Then run the following docker command, to run the container in the foreground:
docker run \
--name predictify \
--network=host \
--volume $(pwd)/data-docker:/app/predictify/data \
--volume $(pwd)/config:/app/predictify/config \
predictify:unstable
GDPR Data
If you have gdpr data, create a folder: data/gdpr_data and add all .json files containing your play history into it. In order to extract it, run the script: python3 src/runtime.py --export