Last.fm API for retrieving scrobbling data.
Project description
LastFmGet
LastFmGet is a Python package for accessing Last.fm scrobble data using the public API.
- Provides functions for calling specific Last.fm API methods
- Must use a cfg YAML file and call lastfmget.init() before use
- Gets a response from the API in JSON and returns a Python dictionary
- Examples of the response for each method shown in data/dump
- Use _raw method verions for more direct access to the Last.fm API
Installation
pip install lastfmget
Dependencies
- python3.10
- requests
- requests_cache (used only if configured in api_cfg.yaml)
- pyyaml
Documentation
lastfmget
Usage
Import
import lastfmget
Config
lastfmget.init('api_cfg.yaml')
api_cfg.yaml example (data/example_api_cfg.yaml)
api_url: http://ws.audioscrobbler.com/2.0/
api_key: <API KEY>
user_agent: <USER AGENT>
call_rate: 5 # Calls per second
cache:
enable: true
dir: .cache
backend: sqlite
lifetime: 120 # Seconds
# or (defaults)
cache:
enable: true
# or (disable)
cache:
enable: false
Field | Description |
---|---|
api_url | API root URL, should be 'http://ws.audioscrobbler.com/2.0/' |
api_key | Your private API key. See here |
user_agent | Identifiable user agent for requests |
call_rate | Max API requests per second |
cache | enable: use requests_cache dir: (optional) cache location backend: (optional) sqlite recommended lifetime: (optional) expire_after time in seconds |
Code Examples
Getting user information using the user.getInfo method
>>> info = lastfmget.user_info('D3r3k523')
>>> info['playcount']
161602
>>> info['user']['url']
'https://www.last.fm/user/D3r3k523'
Getting a user's top 10 artists using the user.getTopArtists method
>>> topartists = lastfmget.user_top_artists('D3r3k523', 10)
>>> [ artist['name'] for artist in topartists ]
['Radiohead', 'Converge', 'Pink Floyd', 'Queens of the Stone Age', 'Bon Iver', 'Thee Oh Sees', 'Tame Impala', 'Arcade Fire', 'Beach House', 'Mastodon']
Example Projects
Last.fm API Methods Available
Function | Last.fm API method |
---|---|
lastfmget.user_info | user.getInfo |
lastfmget.user_recent_tracks | user.getRecentTracks |
lastfmget.user_top_artists | user.getTopArtists |
lastfmget.user_top_albums | user.getTopAlbums |
lastfmget.user_top_tracks | user.getTopTracks |
lastfmget.user_weekly_chart_list | user.getWeeklyChartList |
lastfmget.user_weekly_artist_chart | user.getWeeklyArtistChart |
lastfmget.user_weekly_album_chart | user.getWeeklyAlbumChart |
lastfmget.user_weekly_track_chart | user.getWeeklyTrackChart |
Last.fm API Reference
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
lastfmget-1.1.0.tar.gz
(8.2 kB
view details)
Built Distribution
File details
Details for the file lastfmget-1.1.0.tar.gz
.
File metadata
- Download URL: lastfmget-1.1.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d2f34e53a518dd42fd9339d8403ee8f98e1aad5ae7014d24faa41b026219e3a |
|
MD5 | ab6836d3f599cddcfec0fff3c7572ee7 |
|
BLAKE2b-256 | beb24bdcc113b9cbe3fa4c44fae91203d2aaa5d8c66023483cd2fb88cd17e994 |
File details
Details for the file lastfmget-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: lastfmget-1.1.0-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21de7640f0b5077fe92e399658d97cfe81ae722164aa2ddec71df8e6ad653858 |
|
MD5 | 8d32ff1cf620f29e790b6896bf5ae5ab |
|
BLAKE2b-256 | cb750604b4be8e5f194ae8abf8e527f8df0be607c12feb4fce6562a49fb6c3ab |