An async Python interface to the Spotify API using aiohttp
Project description
An async Python interface to the Spotify API using aiohttp.
Note: This is alpha software. Use at your own risk.
Installation
To install, use pip:
python -m pip install aiohttp_spotify
It's best if you also install and use aiohttp-session.
Usage
To add the OAuth flow to your app:
from aiohttp import web
import aiohttp_spotify
async def handle_auth(request: web.Request, auth: aiohttp_spotify.SpotifyAuth):
# Store the `auth` object for use later
app = web.Application()
app["spotify_app"] = aiohttp_spotify.spotify_app(
client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
redirect_uri=REDIRECT_URI,
handle_auth=handle_auth,
)
app.add_subapp("/spotify", app["spotify_app"])
Then you can make calls to the API as follows:
from aiohttp import ClientSession
async def call_api(request: web.Request) -> web.Response:
async with ClientSession() as session:
response = app["spotify_app"]["spotify_client"].request(
session, auth, "/me"
)
# The auth object will be updated as tokens expire so you should
# update this however you have it stored:
if response.auth_changed:
await handle_auth(request, response.auth)
return web.json_request(response.json())
where auth is the SpotifyAuth object from above.
Take a look at the demo directory for a more complete example.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiohttp_spotify-0.0.4.tar.gz.
File metadata
- Download URL: aiohttp_spotify-0.0.4.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1.post20200323 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5195f7e341113318f1a3b298b32144e9cbd54328d9a82b6b6a7090ee31ec35e4
|
|
| MD5 |
582085b756168307785810d4e68f61ca
|
|
| BLAKE2b-256 |
445050e01c89969f45249b501888de1a736a990f96c9457b146ce21f56eb4a0e
|
File details
Details for the file aiohttp_spotify-0.0.4-py2.py3-none-any.whl.
File metadata
- Download URL: aiohttp_spotify-0.0.4-py2.py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1.post20200323 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6ad1191b4771bfa5c89a21e8c0c575d0ecf2a7366f2617db66c67536c038200
|
|
| MD5 |
0b93af5a8c014a369bce0185e041826a
|
|
| BLAKE2b-256 |
a2d8f9c4c8f9524736dbfe873d5fa81abe43b98a83322a78461f0a7ec41f9276
|