pylitterbot
Python package for controlling Whisker automatic robots.
What it is and what it does
pylitterbot is an async Python client for controlling Whisker's Litter-Robot and Feeder-Robot devices. It reverse-engineers the unofficial Whisker app API to provide programmatic control over self-cleaning litter boxes and pet feeders. The package wraps authentication (via pycognito and pyjwt), device discovery, and command execution into a simple async interface.
Typical use involves creating an Account, connecting with Whisker credentials, then calling methods like start_cleaning(), set_sleep_mode(), or get_activity_history() on discovered robots. The package also includes an optional MCP (Model Context Protocol) server for AI assistant integration, letting tools like Claude control your robots through natural language. Because the API is reverse-engineered and undocumented by Whisker, it may break without warning.
Use it for:
- Automate litter box cleaning cycles and monitor activity history from a home automation system or cron job.
- Build a dashboard or mobile app that displays real-time status and control of multiple Litter-Robots and Feeder-Robots.
- Integrate Whisker robots into a smart home workflow triggered by other events or sensors.
- Use the MCP server to let Claude or other AI assistants monitor and control your robots via natural language.
- Retrieve pet activity insights and maintenance forecasts to plan when to empty the litter box.
- Sync settings across multiple robots of the same model to keep configurations consistent.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Control Whisker Litter-Robot and Feeder-Robot devices through an async Python API that reverse-engineers the unofficial Whisker app protocol.
Yes, if you own Whisker robots and want programmatic control. The package is actively maintained, has low install friction, and offers both direct async control and AI assistant integration. The main caveat is that it relies on a reverse-engineered API with no official support—breakage is possible if Whisker changes their backend. Check the project's issue tracker before installing to confirm current stability.
Install
pylitterbot on PyPI
pip
pip install pylitterbotuv
uv add pylitterbotpoetry
poetry add pylitterbotInstalling pylitterbot
Before you install
Low friction install with a pure-Python wheel. Actively maintained with a recent release; last commit 2026-08-14 and repository not archived. Requires Python 3.10+.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both personal and commercial projects.
Quickstart
pip install pylitterbot
import asyncio
from pylitterbot import Account
async def main():
account = Account()
await account.connect(username="user", password="pass", load_robots=True)
for robot in account.robots:
print(robot)
await account.disconnect()
asyncio.run(main())
Requires Python 3.10 or later. Credentials for Whisker account needed to authenticate and discover robots.
Verify before relying
- Whether the reverse-engineered API remains stable across Whisker app updates or if breakage is common.
- Support status for Litter-Robot 5 cameras (listed as TODO in the description).
- Whether MCP server integration is production-ready or still experimental.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — aiohttp, deepdiff, pycognito, pyjwt |
| Maintenance | actively maintained — 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 83,080/month — #14,102 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pylitterbot-2025.6.4-py3-none-any.whl
Keywords: Feeder-Robot, Litter-Robot, Whisker, asynchronous, litter box, pet feeder
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pybotvacpybotvac provides an unofficial Python API to…
permissive · top 15,000 on PyPI
switchbot-apiAn async Python library for controlling…
permissive · top 15,000 on PyPI
pipecat-ai-whiskerWhisker is a real-time debugger for Pipecat…
permissive · top 15,000 on PyPI
wandelbots_api_clientPython SDK for authenticating with and making…
permissive · top 15,000 on PyPI
pipecat-aiPipecat is a Python framework for building…
permissive · top 5,000 on PyPI
fjaraskupanControl Fjäråskupan kitchen fans over Bluetooth…
permissive · top 15,000 on PyPI
flexivrdkFlexiv Robotic Development Kit (RDK) provides…
permissive · top 15,000 on PyPI
lerobotLeRobot provides a unified PyTorch framework…
permissive · top 15,000 on PyPI
robotspyParses robots.txt files according to RFC 9309…
permissive · top 15,000 on PyPI
rfswarm-agentrfswarm-agent lets you run Robot Framework test…
copyleft · top 15,000 on PyPI