Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

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 (www.roonlabs.com)

Full documentation will follow asap

See the examples folder for some code examples.

Some example code:

from roonapi import RoonApi
appinfo = {
        "extension_id": "python_roon_test",
        "display_name": "Python library for Roon",
        "display_version": "1.0.0",
        "publisher": "marcelveldt",
        "email": "mygreat@emailaddress.com"
    }

# host can be None if you want to use discovery - but this sometimes returns the local machine, not the real roon server
host = "192.168.1.x"

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

roonapi = RoonApi(appinfo, token)

# get all zones (as dict)
print(roonapi.zones)

# get all outputs (as dict)
print(roonapi.outputs)

# receive state updates in your callback
roonapi.register_state_callback(my_state_callback)


# save the token for next time
with open('mytokenfile', 'w') as f:
    f.write(roonapi.token)

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page