GitXplorerGitXplorer
g

aiosonos

public
1 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
69fd1b3114e0fdabb2a726ef7abc196e1bfd725b

Add a few more type hints

ggward committed 2 years ago
Unverified
b7d0cd8b56c16092b23fd15403b1c6d0f50a8716

Improve error reporting for subscribe/unsubscribe errors

ggward committed 2 years ago
Unverified
24c7dd1b4546662d993814f528bb0defa4fa2a5b

sntool: tweak reporting of incoming events

ggward committed 2 years ago
Unverified
89b8a3841be318a3c3928ba3c349474819341b0d

Add missing dependency for typechecking

ggward committed 2 years ago
Unverified
619be39e03d3e9f22c5a6ba98ceaa6937b1d8858

Remove incorrect assertion when parsing groups

ggward committed 2 years ago
Unverified
7e6172916c3161237c20eda226b1e29bd38a9ebc

Silence deprecation warning from asyncio_test about asyncio_mode

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