Registry / communication / python-roborock

python-roborock

JSON →
library5.15.1pypypiunverified

An async Python package to control Roborock vacuums and mops. Version 5.9.0 supports Python >=3.11 and <4. Released under GPL-3.0. Active development with frequent releases.

pip install python-roborock
INSTALL
IMPORT
SIG · PYTHON-ROBOROCK
P
python-roborock
communicationpythonv5.15.1
Install
6.0s avg
Import
—
Disk
53MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v2.7.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 39.5MB
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 6.0s · import 0.000s · 42MB
53MB installed
● package 53MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

RoborockClient
✓ from roborock import RoborockClient
✗ from roborock import RoborockClient

Authenticate with Roborock cloud credentials and list all devices.

import asyncio from roborock import RoborockClient async def main(): client = RoborockClient(username="your_email", password="your_password") devices = await client.get_devices() for device in devices: print(f"Device: {device.name}, IP: {device.ip}") await client.close() asyncio.run(main())
Debug
Known issues
breakingIn v5, the library switched to protobuf 6.x required runtime. Ensure you have protobuf>=6.0.0 installed.
fix
pip install "protobuf>=6"
affects: >=5.0.0
breakingPython 3.11 minimum; Python 3.10 and below are no longer supported.
fix
Upgrade Python to >=3.11.
affects: >=5.0.0
gotchaAlways call `await client.close()` after finishing to avoid hanging connections.
fix
Use a context manager or ensure cleanup in finally block.
affects: all
gotchaSome device status fields are only available when a specific schema code is active (e.g., dock state). Accessing missing fields may raise KeyError or return None.
fix
Check `device.supported_schema_ids()` before accessing schema-specific attributes.
affects: >=5.4.0
Upgrade
Version history
5.15.1latest on PyPI · released Jun 19, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
24 hits · last 30 days
node
22
OpenAI (training)
1
Resources
python-roborock — pip install python-roborock · libregistry