aioautomower
MPython module to talk to Husqvarna Automower.
What it is and what it does
Aioautomower is an async Python client for the Husqvarna Automower Connect API, designed to let developers integrate Automower devices into Python applications. It wraps the HTTP API with async/await patterns, handling authentication token management through a pluggable AbstractAuth interface that you implement to supply credentials and manage refreshes. The library uses aiohttp for HTTP, mashumaro for serialization, orjson for JSON, pyjwt for token handling, and standard date/time libraries.
You register on the Husqvarna Developers Portal, connect your account to both the Authentication API and Automower Connect API, then implement AbstractAuth to provide access tokens. Once authenticated, you invoke the service to query mower state, schedule operations, or trigger actions. The library targets Python 3.11+ and is actively maintained; it ships as a wheel with low install friction.
Use it for:
- Build a home automation dashboard that queries Automower status and battery level via async calls.
- Integrate Automower scheduling into a smart-home system that coordinates with other devices.
- Create a monitoring bot that alerts when a mower encounters errors or requires maintenance.
- Develop a mobile app backend that exposes Automower control through a REST or GraphQL layer.
- Automate mower operations based on weather data or calendar events in a larger orchestration workflow.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Asynchronous Python client library for communicating with the Husqvarna Automower Connect API, enabling programmatic control and monitoring of Automower devices.
Yes, if you own a Husqvarna Automower and need to integrate it into a Python application. The library is actively maintained, uses permissive MIT licensing, has low install friction, and targets modern Python versions (3.11+). The main prerequisite is obtaining Husqvarna API credentials; once done, the async design and standard dependencies make it straightforward to use. No known security vulnerabilities as of 2026-08-14.
Install
aioautomower on PyPI
pip
pip install aioautomoweruv
uv add aioautomowerpoetry
poetry add aioautomowerInstalling aioautomower
Before you install
Low friction install with a wheel distribution. Active maintenance as of 2026-08-14 with recent release. Requires Python 3.11 or later and depends on common async libraries (aiohttp, mashumaro, orjson) plus JWT and calendar handling.
License in practice
MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute the package freely provided you retain the license notice.
Quickstart
pip install aioautomower
import aioautomower
from aioautomower import AbstractAuth
# Implement AbstractAuth with your Husqvarna credentials
# Create an async session and call the API via the library
Requires Python 3.11 or later. You must register on the Husqvarna Developers Portal and obtain client_id and client_secret from the Authentication API and Automower Connect API.
Verify before relying
- Whether the library supports all current Automower models and API endpoints available in the Connect API.
- Performance characteristics and rate-limiting behavior when managing multiple mowers concurrently.
- Stability and breaking-change history across the 2021–2026 release timeline.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — aiohttp, ical, mashumaro, orjson, pyjwt, python-dateutil, tzlocal |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 77,818/month — #14,491 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aioautomower-2.8.0-py3-none-any.whl
Keywords: Automower, Husqvarna, api, async, client
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pipedreamProvides a Python client library for accessing…
unclear · top 15,000 on PyPI
aiounifiAsynchronous Python library for communicating…
permissive · top 15,000 on PyPI
aioshellyAsynchronous Python library for controlling…
permissive · top 15,000 on PyPI
gotailwindAsynchronous Python client for controlling and…
permissive · top 15,000 on PyPI
pymammotionPyMammotion provides a Python API to control…
copyleft · top 15,000 on PyPI
pyworxcloudAsync Python client library for communicating…
permissive · top 15,000 on PyPI
pysmartthingsAsynchronous Python client for fetching data…
permissive · top 15,000 on PyPI
go2rtc-clientAsynchronous Python client library for…
permissive · top 15,000 on PyPI
pyippAsynchronous Python client for querying and…
permissive · top 15,000 on PyPI
electrickiwi-apiAsync Python client for the Electric Kiwi API…
copyleft · top 15,000 on PyPI