aiomixcloud
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.
Installation
The following Python versions are supported:
- CPython: 3.6, 3.7, 3.8, 3.9
- PyPy: 3.5
Install via pip:
pip install aiomixcloud
Usage
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')
For more details see the usage page of the documentation.
License
Distributed under the MIT License.