Quick start
Highlights
- Async-first — built on
httpx+websockets. Useawaiteverywhere. - Domain-namespaced API —
client.playback.*,client.library.*,client.sound.*, … - Typed responses — every reply is a Pydantic model with snake_case fields.
- Real-time events —
connect()opens a WebSocket and forwardstrack:changed/status:changed/playlist:changedto listeners. - Builder API —
RockboxClient.builder().host(...).port(...).build(). - Plugin system — Jellyfin-style install/uninstall lifecycle.
- Python-friendly — context manager, decorator listeners, dataclass inputs.
Configure
await client.aclose(), or use it as an async context
manager (async with RockboxClient() as client:).
Domains
Real-time events
client.on_track_changed(...),
client.on_status_changed(...), client.on_playlist_changed(...).
Plugins
REPL-friendly
The SDK is async-first. The recommended REPL is IPython —await
works at the top level, and you get tab-completion on Pydantic models.