Getting started
This section will help you to quickly get started with SoCo.
Installation
SoCo can be installed either with pip (recommended) or manually.
From PyPI with pip
The easiest way to install SoCo, is to install it from PyPI with the program pip. This can be done with the command:
pip install soco
This will automatically take care of installing any dependencies you need.
Manual installation from .tar.gz file
SoCo can also be installed manually from the .tar.gz file. First, find the
latest version of SoCo on PyPI and
download the .tar.gz
file at the bottom of the page. After that, extract
the content and move into the extracted folder. As an example, for SoCo
0.11.1 and on a Unix type system, this can be done with the following commands:
wget https://pypi.python.org/packages/source/s/soco/soco-0.11.1.tar.gz#md5=73187104385f04d18ce3e56853be1e0c
tar zxvf soco-0.11.1.tar.gz
cd soco-0.11.1/
Have a look inside the requirements.txt
file. You will need to install the
dependencies listed in that file yourself. See the documentation for the
individual dependencies for installation instructions.
After the requirements are in place, the package can be install with the command:
python setup.py install
After installation check
After installation, open a Python interpreter and check that soco
can be
imported and that your Sonos® players can be discovered:
>>> import soco
>>> soco.discover()
set([SoCo("192.168.0.16"), SoCo("192.168.0.17"), SoCo("192.168.0.10")])
Tutorial
SoCo allows you to control your Sonos sound system from a Python program. For a quick start have a look at the example applications that come with the library.
Discovery
For discovering the Sonos devices in your network, use soco.discover()
.
>>> import soco
>>> speakers = soco.discover()
It returns a set
of soco.SoCo
instances, each representing a
speaker in your network.
Music
You can use those SoCo instances to inspect and interact with your speakers.
>>> speaker = speakers.pop()
>>> speaker.player_name
'Living Room'
>>> speaker.ip_address
u'192.168.0.129'
>>> speaker.volume
10
>>> speaker.volume = 15
>>> speaker.play()
See for soco.SoCo
for all methods that are available for a speaker.