Spotify Tracker
Track all the songs you listen to in the Spotify OS X app and save them in a Spotify playlist.
Living in NYC, I spend a fair amount of time underground without cell service. I also listen to a bunch of music on Spotify, and often times I'll have a song stuck in my head that isn't saved on my phone. Bad times, right? So on a Hackday, I decided to solve the problem. I created a history playlist where I would save everything I listen to. That way, when someone recommends the sweet new St. Lucia album at work, and I jam out to it, I don't have to remember to save it or something so I can listen to it on my phone underground.
The rub
Spotify doesn't let you see what a user is currently listening to from their web api. Boo. (There's an issue open on their web api github page that get's a +1 a day or so, if you want to join...) So instead, I hacked together some AppleScript to grab the current song from the OS X Spotify Client. So, at least for now, this is OS X only. ¯_(ツ)_/¯
Installation
It's all setup with pip, so just
pip install spotifytracker
It's written in Python 3, so you'll need that installed. You'll also need to setup a Spotify Application. It's very easy, but you'll have to quickly signup for a developer account. You can create one here. One you have that setup, you can create an app. You'll need to specify a callback url, but it can be anything. Once that's all set, you should create a playlist to save your songs to, and then run
spotifytracker setup
and add your username, Client ID, Client Secret, and Callback URL. You'll then authorize your app, and then be asked to pick the playlist to save your history to.
Then, to run
spotifytracker watch
Development
To run from source, use
python -m spotify_tracker.runner
Contribute
This was a Hackday thing, so I don't have anything specifically planned for this, but if you think it could be better, open a PR!
License
MIT all the way.
Metadata
Release files for spotifytracker 0.0.18
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| spotifytracker-0.0.18.tar.gz | 6.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spotifytracker-0.0.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.0 kB
Release files / spotifytracker-0.0.18.tar.gz
| Download URL | spotifytracker-0.0.18.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97e5c6ac39f25f4c31702ed0aa5fb92bc3f5893338c7aa8e19c2140ca906d331
|
|
BLAKE2b-256 checksum How to use checksums |
3f23c35f0c293476c33b09ff857a612c831fe06cbcf48675c6089b07b2c38d75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
|
Release files / spotifytracker-0.0.18-py3-none-any.whl
| Download URL | spotifytracker-0.0.18-py3-none-any.whl |
|---|---|
| Size | 8.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a7f0ff4951ca19cbd69f98456950ed4ed7c2c357c9e9c786ac2fa485f1848bc
|
|
BLAKE2b-256 checksum How to use checksums |
7c7ff3c1fb05211198fa6de3f31d3958303fe71da04fa5e0806771df18b8bb90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
|
Security for spotifytracker 0.0.18
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.