pydrag
pydrag is a modern api wrapper for the Last.fm api with a fluent syntax!
Quick Start
Apply for a last.fm api key and write down your key and secret.
Install
$ pip install pydrag
Example
>>> from pydrag import User, configure
>>> configure(api_key='54062d8af7afdc_not_real_3459048a4')
>>> rj = User.find("RJ")
>>> rj.real_name
'Richard Jones '
>>> recent = rj.get_recent_tracks(limit=1, page=1)
>>> first = recent.pop()
>>> first.name
'Fu-Gee-La'
>>> similar = first.get_similar(limit=1)
>>> similar[0].name
'Family Business'
>>> similar[0].artist.name
'Fugees'
>>>
>>> for friend in rj.get_friends(recent_tracks=True):
... friend.name, friend.recent_track.name
...
('meichi', 'Pi')
('demkod', '(bottle back)')
('STBKilla', 'Nowhere Fast')
('keret221', 'Letter Home')
('Lilfix', 'Namorar pra Quê?')
('Yoji', 'Empire State of Mind (feat. Alicia Keys)')
('Kastishka', 'Wipe Your Eyes')
('comingsoon_', 'I Want It All')
('Bagheera', 'Welcome Home')
Development
Use you favorite tool to create a python >= 3.6 virtual environment
$ git clone git@github.com:tefra/pydrag.git
$ pip install .[dev]
$ pre-commit install
$ pytest
$ tox
pydrag uses vcrpy library to record and replay last.fm responses for its unit tests and python-dotenv to auto-configure itself.
All sensitive information like keys and credentials are automatically censored.
So when it’s necessary to record a new response it’s super useful to have a .env file with your configuration!
LASTFM_API_KEY=your_api_key
LASTFM_API_SECRET=your_api_secret
LASTFM_USERNAME=You
LASTFM_PASSWORD=YouPass
Changelog: 22.5 (2022-05-08)
Replaced attrs with dataclasses
Added support for python 3.10
Release files for pydrag 22.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pydrag-22.5.tar.gz | 228.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydrag-22.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 251.4 kB
Release files / pydrag-22.5.tar.gz
| Download URL | pydrag-22.5.tar.gz |
|---|---|
| Size | 228.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1465a987058ae1bb1e8f63e7299a89336401dcd5aa168e9d39b6c6cd20e1d66
|
|
BLAKE2b-256 checksum How to use checksums |
fecc6ec72a9a090bd7f92464e668914dc63dd2efce7c7025b07ad77e462c4d01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.12
|
Release files / pydrag-22.5-py3-none-any.whl
| Download URL | pydrag-22.5-py3-none-any.whl |
|---|---|
| Size | 23.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a02be5faacc64048a50d20a4fef8715ade41299e5af9036f5acda6ef09f035f4
|
|
BLAKE2b-256 checksum How to use checksums |
ff41fcfe036633a94b3d39aa7d2d577c14265fa565605ebbfe3763f73af483f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.12
|