coolio is a CLI tool which enables some extra features for your Spotify.
It is implemented in Rust, so you can install it using cargo:
cargo install --path .coolio can use either filesystem or postgres for storage. If you want to go with a database, you would need to do bring up a postgres instance for it. You can do that using docker for example:
cd config
docker-compose -f docker-compose-storage-yml up -dAfter that you should run the migrations (located in config/migrations.sql) against the postgres db.
Creating a playlist and linking artists to it is as simple as:
coolio playlists create <name>
coolio playlist link <playlist> <artist>Bringing the automated playlists up-to-date happens with:
coolio playlists updateFor full details on what you can do, just browse the help.
To enable one of its feature, coolio would need to record history for you for some period of time. That is because of the limitation of the Spotify API.
Update of the history happens with this command:
coolio history updateYou need to somehow automate execution of the update commands consistently over time. I do this using crontab and here are my settings. It runs history updates every 30 minutes and playlists updates twice a day:
0-59/30 * * * * cd <path-to-source>/coolio && <path-to-executable>/coolio history update
15 0-23/12 * * * cd <path-to-source>/coolio && <path-to-executable>/coolio playlists update