SDKPython SDK

Quick start

Automatically discover one Exo, subscribe to arm telemetry, and run it in the foreground.

Current version · 1.0.0

Quick start

With one Exo connected, the default SerialConnection() discovers the unique device automatically.

Minimal program

from qnbot_sdk import Sample, Sdk
from qnbot_sdk.exo import ExoConfig, ExoTelemetry

sdk = Sdk(devices=(ExoConfig(),))
exo = sdk.exo()
device = exo.device()

def print_telemetry(sample: Sample[ExoTelemetry]) -> None:
    print(sample.value.payload.left_arm.joint_positions_rad)

subscription = device.telemetry().subscribe(print_telemetry)
exo.start()
print("running; press Ctrl+C to stop")
exo.run_forever()

Run

python quick_start.py

If discovery finds zero or multiple devices, call discover_exos() and then set SerialConnection(port=...). Keep subscription alive; releasing it or calling unsubscribe() stops callbacks.