Skip to main content

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)

Source distribution for spotifytracker 0.0.18
File Size Uploaded Provenance
spotifytracker-0.0.18.tar.gz 6.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for spotifytracker 0.0.18
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page