Skip to main content

Provides a python interface to interact with Roon

Project description

pyRoon Build status PyPi version PyPi downloads

python library to interface with the Roon API (

See for code examples.

An example of connecting to the roon server and using a subscription:

import time

from roonapi import RoonApi

appinfo = {
    "extension_id": "python_roon_test",
    "display_name": "Python library for Roon",
    "display_version": "1.0.0",
    "publisher": "gregd",
    "email": "",

# Can be None if you don't yet have a token
token = open("mytokenfile").read()

# Take a look at examples/discovery if you want to use discovery.
server = ""

roonapi = RoonApi(appinfo, token, server)

def my_state_callback(event, changed_ids):
    """Call when something changes in roon."""
    print("my_state_callback event:%s changed_ids: %s" % (event, changed_ids))
    for zone_id in changed_ids:
        zone = roonapi.zones[zone_id]
        print("zone_id:%s zone_info: %s" % (zone_id, zone))

# receive state updates in your callback


# save the token for next time
with open("mytokenfile", "w") as f:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for roonapi, version 0.0.36
Filename, size File type Python version Upload date Hashes
Filename, size roonapi-0.0.36-py3-none-any.whl (19.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size roonapi-0.0.36.tar.gz (18.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page