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
mopidy-async-client-0.6.4.tar.gz
(18.4 kB
view details)
Built Distribution
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 |