GitXplorerGitXplorer
g

aiosonos

public
1 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
a8a48eae1322dd065a958b0e7e146a11bfbaf87f

sntool: allow sending queue commands directly to a player (skip discovery)

ggward committed 2 years ago
Unverified
457b572b04bb1678a69d9b39ddd7872fa21df85f

sntool: add monitor command

ggward committed 2 years ago
Unverified
97e55a7116e3c5052d7cfef174d0a9f8609e5a54

sntool: add queue list, queue clear commands

ggward committed 2 years ago
Unverified
796ad8753ba22b37b68bca25c3917ceccb0e1b9f

sntool: optionally show player details when discovering

ggward committed 2 years ago
Unverified
80bc13275dedd13edecabea06ca4eef2a63a36c7

Implement discover_all(), and expose it via sntool with 'discover -a'

ggward committed 2 years ago
Unverified
0fb0b7567a2fac9f0c1d6bda10e32a4541d1629c

Start rationalizing logging of network calls

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