Async Mopidy Client via JSON/RPC Websocket interface
Project description
Mopidy-Async-Client
Fork of Mopidy-json-client, but from scratch and async
Async Mopidy Client via JSON/RPC Websocket interface
Usage
mopidy-async-client provides a main class MopidyClient, which manages the connection and methods to the Mopidy Server.
import asyncio
from mopidy_async_client import MopidyClient
async def playback_started_handler(data):
print(data)
async def all_events_handler(event, data):
print(event, data)
async def main1():
async with MopidyClient(url='ws://some_ip:6680/mopidy/ws') as mopidy: # close connection explicit
await mopidy.playback.play()
async def main2():
mopidy = await MopidyClient().connect()
mopidy.listener.bind('track_playback_started', playback_started_handler)
mopidy.listener.bind('*', all_events_handler)
# your app logic
for i in range(10):
await asyncio.sleep(5)
# end your app logic
await mopidy.disconnect() # close connection implicit
asyncio.run(main1())
# or
asyncio.run(main2())
Parse results
You can specify parse_results=True in MopidyClient and get Mopidy objects instead of json dictionaries.
To do this, you need to install Mopidy locally (only for importing models)
async with MopidyClient(parse_results=True) as mopidy:
res = await mopidy.tracklist.get_tracks()
print(res)
>>> [Track(date='2020-01-01', length=392533, name='audio.mp3', uri='file:///home/svin/Music/audio.mp3')]
# instead of
>>> [{'__model__': 'Track', 'uri': 'file:///home/svin/Music/audio.mp3', 'name': 'audio.mp3', 'date': '2020-01-01', 'length': 392533}]
Installation
pip install mopidy-async-client
References
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 mopidy-async-client-0.6.4.tar.gz.
File metadata
- Download URL: mopidy-async-client-0.6.4.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.26.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0677d41ef9dff7b8fa5142b308d4bfa15b02b0f8a6398f9f37f24e60e87aaaac
|
|
| MD5 |
26234f8eeef24d274fd84b61217076c6
|
|
| BLAKE2b-256 |
a21f413baad91f6b15d01b02b24b8fbc6c6d2259170e3f909408a1c6e3f219bf
|
File details
Details for the file mopidy_async_client-0.6.4-py3-none-any.whl.
File metadata
- Download URL: mopidy_async_client-0.6.4-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.26.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd7d36ab3245ddf0b3dd19bbb49fe276f50d066572ac8c4a2071741ba30eb984
|
|
| MD5 |
67593353134d95db694ecc613a46a5ce
|
|
| BLAKE2b-256 |
2a41b8c92733b9e7dc12d45ac7534ae186edc9d9f24a360acb5c918c9af44903
|