GitXplorerGitXplorer
g

aiosonos

public
1 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
dcd642dec96cd4996104a852abe4092d2d72cff9

Add Track model class, to replace didl_lite's MusicTrack

ggward committed 10 months ago
Unverified
171bdd4db82ed9daf71657b920cf7d80ad7b80fb

sntool: enable logging of request/response bodies

ggward committed 10 months ago
Unverified
747685aef51792d661557355ed63e5e51e35b2bb

upnp: generalize the SOAP client code a smidge

ggward committed 10 months ago
Unverified
7452d5ab7d5721eaf00258ec854bcd4b5a8d042e

Do not crash when logging a badly-formed XML response

ggward committed 10 months ago
Unverified
79486f8b4765032d7e31fb67d1c8efde35555988

Fix long line

ggward committed 2 years ago
Unverified
11870359e7adb2737e0db1248a7cf95af0a33149

Restore Python 3.8 compatibility

ggward committed 2 years ago

README

The README file for this repository.

aiosonos: asyncio-based Sonos client library for Python

aiosonos is a Python client library for Sonos products based on asyncio and aiohttp. It is derived from SoCo, but structured very differently.

Right now, aiosonos is pre-release and barely functional. Here are reasons you should stick with SoCo instead of using aiosonos:

  • SoCo is more mature
  • SoCo has been more widely tested
  • SoCo has many more features

And here are reasons you might want to try aiosonos:

  • aiosonos uses asyncio, so is potentially useful if you want Sonos support in an asyncio-based application
  • aiosonos is much smaller and simpler, so the code is easier to understand (IMHO)
  • aiosonos is more cleanly structured (IMHO)
  • aiosonos never does network I/O unless you explicitly ask for it

Usage

For now, the documentation is the source code. Start in aiosonos/api.py and aiosonos/discover.py. Everything else is an implementation detail.

Development

Setup a virtualenv:

python3 -m venv venv
source venv/bin/activate
pip install -e '.[dev]'

Run the tests:

./test.sh