Mixcloud API wrapper for Python and Async IO
aiomixcloud is a wrapper library for the HTTP API of Mixcloud. It supports asynchronous operation via asyncio and specifically the aiohttp framework. aiomixcloud tries to be abstract and independent of the API's transient structure, meaning it is not tied to specific JSON fields and resource types. That is, when the API changes or expands, the library should be ready to handle it.
The following Python versions are supported:
- CPython: 3.6, 3.7, 3.8
- PyPy: 3.5
Install via pip:
pip install aiomixcloud
You can start using aiomixcloud as simply as:
from aiomixcloud import Mixcloud # Inside your coroutine: async with Mixcloud() as mixcloud: cloudcast = await mixcloud.get('bob/cool-mix') # Data is available both as attributes and items cloudcast.user.name cloudcast['pictures']['large'] # Iterate over associated resources for comment in await cloudcast.comments(): comment.url
A variety of possibilities is enabled during authorized usage:
# Inside your coroutine: async with Mixcloud(access_token=access_token) as mixcloud: # Follow a user user = await mixcloud.get('alice') await user.follow() # Upload a cloudcast await mixcloud.upload('myshow.mp3', 'My Show', picture='myshow.jpg')
Distributed under the MIT License.