Skip to main content

music_snapshot

Package Version Supported Python Versions Codecov License Code style: black py.typed

Save a snapshot of your day as a Spotify playlist.

Demo

Installation

Since music_snapshot is a command line tool, the recommended installation method is via pipx:

$ pipx install music_snapshot

Of course, you can just install it directly from [PyPI] (ideally, inside a virtualenv):

$ python -m pip install music_snapshot

Quick start

Authentication

To use music_snapshot you need to authorize it with both Spotify and Last.fm.

To get Spotify client ID and secret, create an OAuth client in Spotify developer dashboard (with the "Redirect URI" set to http://localhost:6600/music_snapshot).

To get Last.fm API keys, you need create a new Last.fm API account.

After obtaining all of the above, you need to run music_snapshot authorize which will save your config data in ~/.music_snapshot and allow you to create new music snapshots with music_snapshot create subcommand.

Usage

The default subcommand is create, which helps you create a new music snapshot (Spotify playlist).

You can see all available subcommands and options by running music_snapshot --help:

$ music_snapshot --help          
                                                                                        
 Usage: music_snapshot [OPTIONS] COMMAND [ARGS]...                                      
                                                                                        
 Save a snapshot of your day as a Spotify playlist.                                     
 Have you ever just let Spotify algorithm do its thing, keep going long after your      
 queue has finished and ended in a place you'd like to go back to? I'm here to help you 
 do just that.                                                                          
                                                                                        
 A 'music snapshot' is a Spotify playlist that encapsulates a part of your music        
 playing history.                                                                       
                                                                                        
 Unfortunately, because of Spotify API limitations (no accessible history of played     
 songs) the song history comes from your Last.fm account.                               
                                                                                        
 To use the app, you need to first create a new Spotify OAuth app in its developer      
 dashboard and get Last.fm API keys by creating a new API account. You can then use     
 those values in the authorize subcommand, which will also save the underlying data on  
 your disk.                                                                             
                                                                                        
╭─ Options ────────────────────────────────────────────────────────────────────────────╮
│ --version      Show the version and exit.                                            │
│ --help         Show this message and exit.                                           │
╰──────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────╮
│ authorize  Authorize music_snapshot with Spotify and Last.fm.                        │
│ create     Create a new music snapshot (Spotify playlist).                           │
╰──────────────────────────────────────────────────────────────────────────────────────╯

Authors

Developed and maintained by Paweł Adamczak.

Source code is available at GitHub.

If you'd like to contribute, please take a look at the contributing guide.

Released under Mozilla Public License 2.0.

Metadata

Release files for music-snapshot 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for music-snapshot 0.1.0
File Size Uploaded
music_snapshot-0.1.0.tar.gz 16.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for music-snapshot 0.1.0
File Interpreter ABI Platform
music_snapshot-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.0 kB

Release files / music_snapshot-0.1.0.tar.gz

Download URL music_snapshot-0.1.0.tar.gz
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1d2afe70a887cd77ee93e0e51264c3820c600d90b8bbab3f4ec06c7649956125
BLAKE2b-256 checksum
How to use checksums
26c94743aa9068bc54522e2d2dab926ec111532a01e38fadb8dce37ea08cbdda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 16, 2024.

Transparency log

Release files / music_snapshot-0.1.0-py3-none-any.whl

Download URL music_snapshot-0.1.0-py3-none-any.whl
Size 18.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05cf297965c70dc9fdb37bb97c4d01f1c19fd21f5978ad7626a14f64c5711dbb
BLAKE2b-256 checksum
How to use checksums
e346d6d7b1c036a9f2720275ebb2d4140df97f308188920956f7425f168a5d26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 16, 2024.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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