Skip to main content

Python client for the Last.fm API with a pythonic interface to all methods, including auth, etc. An async, Tornado-based client included as well.

Project description

Python client for the Last.fm API with a pythonic interface. Also includes an async variant of the client for Tornado.

Usage

Regular

from lastfmclient import LastfmClient

api = LastfmClient(
    api_key=KEY,
    api_secret=SECRET,
    session_key=session_key
)

resp = api.track.update_now_playing(
    track='Paranoid Android',
    artist='Radiohead',
    album='OK Computer',
)

print resp

Asynchronous (uses tornado.httpclient.AsyncHTTPClient)

from lastfmclient import AsyncLastfmClient

def callback(resp):
    print resp

api = AsyncLastfmClient(
    api_key=KEY,
    api_secret=SECRET,
    session_key=session_key
)

api.track.update_now_playing(
    track='Paranoid Android',
    artist='Radiohead',
    album='OK Computer',
    callback=callback,
)

See also examples.

Client methods

All the methods the Last.fm API provides are mirrored in the client with rich docstrings and arguments description. This code is actually generated directly from the online API documentation pages (see ./generate.py, ./api.json, and ./lastfmclient/api.py).

The defined methods be updated to the current version of the documentation via:

$ pip install -r requirements.txt lxml

# 1. Generate fresh api.json from docs at http://www.last.fm/api:
$ make spec

# 2. Generate `lastfm/api.py` from `api.json`:
$ make code

# Or, all the above in one step:
$ make

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lastfmclient-0.0.1-alpha.tar.gz (17.8 kB view details)

Uploaded Source

File details

Details for the file lastfmclient-0.0.1-alpha.tar.gz.

File metadata

File hashes

Hashes for lastfmclient-0.0.1-alpha.tar.gz
Algorithm Hash digest
SHA256 66c7104cb52de3fe46901ca6eeec296af3577c1bf2d71d24ca9c2ee62d92190c
MD5 4c9b1ed9f8e5ba509f59b85e69fdc0d9
BLAKE2b-256 8938d29c18fbb45f628c1776ae1abe2b6bdeac68d9914fa8d2f53d6ff0eece28

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page