roombapy
Python program and library to control Wi-Fi enabled iRobot Roombas
What it is and what it does
roombapy is an unofficial Python SDK for controlling iRobot Roombas locally over your network. It was originally created for the Home Assistant integration and provides both a Python library and a command-line tool. The library communicates directly with Roomba devices on firmware 2.x.x via local connections only—no cloud API required.
You can use it to discover robots on your network, obtain their credentials automatically, stream real-time events from the device, and programmatically control the vacuum. The library depends on orjson for fast JSON parsing, paho-mqtt for MQTT communication, mashumaro for serialization, and typing_extensions for type hints. It requires Python 3.10 or later and has no known security vulnerabilities.
Use it for:
- Automate Roomba scheduling and control within home automation platforms
- Build custom scripts to trigger cleaning on demand or based on external events
- Monitor Roomba status and events in real time via the event stream interface
- Integrate Roomba control into multi-device home automation workflows
- Discover and manage multiple Roombas on a local network programmatically
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
roombapy is a Python library for controlling Wi-Fi-enabled iRobot Roombas over local network connections, supporting firmware 2.x.x with both programmatic and command-line interfaces.
Yes, if you own a compatible Roomba (firmware 2.x.x) and need local network control. The library is actively maintained, has low install friction, permissive licensing, no known vulnerabilities, and solves a specific problem well. Verify firmware compatibility and that your Roomba model is supported before installing.
Install
roombapy on PyPI
pip
pip install roombapyuv
uv add roombapypoetry
poetry add roombapyInstalling roombapy
Before you install
Low install friction with a pure-wheel distribution and four lightweight runtime dependencies (orjson, paho-mqtt, mashumaro, typing_extensions). The package is actively maintained with recent commits and has been in development since 2017.
License in practice
MIT license is permissive, allowing use in both open-source and proprietary projects with minimal restrictions.
Quickstart
pip install roombapy
from roombapy import Roomba
roomba = Roomba(address='your_roomba_ip', blid='your_blid', password='your_password')
roomba.connect()
roomba.clean()
Requires a Roomba with firmware 2.x.x and local network access; credentials must be obtained via discovery or manual entry before connecting.
Verify before relying
- Whether the library works with Roomba models beyond the 980 series or other firmware versions
- Real-world reliability and latency of local network connections across different network configurations
- Completeness of credential discovery and whether manual credential entry is sometimes required
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — orjson, paho-mqtt, mashumaro, typing_extensions |
| Maintenance | actively maintained — 441 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,719/month — #14,684 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: roombapy-1.9.1-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
pywemoDiscovers and controls Belkin WeMo smart home…
permissive · top 15,000 on PyPI
python-miioPython library and CLI tool for controlling…
copyleft · top 15,000 on PyPI
zigpy-xbeeEnables zigpy to communicate with XBee-based…
copyleft · top 15,000 on PyPI
python-kasaControl TP-Link Kasa and Tapo smart home…
copyleft · top 15,000 on PyPI
zigpyzigpy is a hardware-independent Zigbee protocol…
copyleft · top 15,000 on PyPI
pysensiboProvides an asyncio-friendly Python API client…
permissive · top 15,000 on PyPI
devolo-plc-apiProvides a Python API to communicate with…
copyleft · top 15,000 on PyPI
aiohomematicAn async Python library for controlling and…
permissive · top 15,000 on PyPI
pytapoPyTapo is a Python library that communicates…
permissive · top 15,000 on PyPI
home-assistant-chip-clustersProvides Python APIs and data model definitions…
permissive · top 15,000 on PyPI