Last.fm API for retrieving scrobbling data.
Project description
LastFmGet
Python package for accessing Last.fm scrobble data using the public API.
Installation
pip install lastfmget
Dependencies
- Python3
- requests
- requests_cache (used only if set in api_cfg.yaml)
- pyyaml
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>
use_cache: true # true, false
call_rate: 5 # Calls per second
Field | Description |
---|---|
api_url | API root URL, should not be changed |
api_key | Your private API key. See here |
user_agent | Identifiable user agent for requests |
use_cache | Use the functionality from requests_cache |
call_rate | Max API requests per second |
Examples
Getting user information using the user.getInfo method
>>> info = lastfmget.user_info('D3r3k523')
>>> info['user']['playcount']
'159635'
>>> 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['topartists']['artist'] ]
['Radiohead', 'Converge', 'Pink Floyd', 'Queens of the Stone Age', 'Bon Iver', 'Thee Oh Sees', 'Tame Impala', 'Arcade Fire', 'Mastodon', 'Beach House']
Example projects
Details
- Provides functions for calling a specific Last.fm API method
- Gets a response from the API in JSON and returns a Python dictionary
- Must use a cfg YAML file and call lastfmget.init() before any API calls
- Data is stored as strings
- Errors:
- Raises exception for invalid key
- Raises exception for other errors
Tips
- Use pprint on a response to see how the data is structured
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-0.1.3.tar.gz
(4.6 kB
view hashes)
Built Distribution
Close
Hashes for lastfmget-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04258adcdf3e6ed67cd53eb416c304599d7c650376d7f3922c0f4d15c1ba4062 |
|
MD5 | 3c782e3ae4fd667b12d52763513c478a |
|
BLAKE2b-256 | 6f46b5c9526a3ae3d9ef771e956a0de4246f2f9ba46c091be49bcd155d96116e |