aioamazondevices
Python library to control Amazon devices
What it is and what it does
aioamazondevices is an async Python library that lets you programmatically control Amazon Alexa devices—including Echo speakers, smart displays, and device groups—and trigger routines. It wraps Amazon's web API to expose device state, volume, playback, announcements, and routine execution as Python coroutines. The library depends on aiohttp, httpx, beautifulsoup4, orjson, langcodes, and python-dateutil to handle HTTP requests, HTML parsing, JSON serialization, and date handling.
You authenticate with your Amazon account credentials, then query device lists, send commands (play audio, adjust volume, make announcements), and execute routines. The library is designed for home automation, integration with other async Python frameworks, and scripting Alexa interactions without the official Alexa Skills Kit. It's actively maintained and supports Python 3.12, 3.13, and 3.14.
Use it for:
- Automate Alexa device control in home automation systems or async Python applications
- Build scripts to trigger routines or send announcements across multiple Echo devices
- Query device state and metadata (volume, playback status) for monitoring or logging
- Integrate Alexa control into larger async event-driven systems or dashboards
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Async Python library for controlling and querying Amazon Alexa devices and routines through their web API.
Yes, if you need programmatic Alexa device control in Python. Active maintenance, low install friction, no known vulnerabilities, and permissive licensing make it a solid choice. Verify that the library covers your specific device types and that you're comfortable storing Amazon credentials locally or in environment variables.
Install
aioamazondevices on PyPI
pip
pip install aioamazondevicesuv
uv add aioamazondevicespoetry
poetry add aioamazondevicesInstalling aioamazondevices
Before you install
Low friction install with six common async/parsing dependencies. Active maintenance with a release 16 days ago and commits through August 2026. Targets Python 3.12+.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions.
Quickstart
pip install aioamazondevices
import asyncio
from aioamazondevices import AmazonDevices
async def main():
devices = AmazonDevices(email="user@example.com", password="pass")
await devices.login()
device_list = await devices.get_devices()
print(device_list)
asyncio.run(main())
Requires Python 3.12 or later. Amazon account credentials must be provided; authentication flow may require handling MFA or session tokens.
Verify before relying
- Whether the library supports all current Amazon device types or has gaps in device coverage
- Authentication flow details and whether it requires Amazon account credentials stored locally
- Rate limiting or throttling behavior when controlling multiple devices or routines
- Whether the API wrapper is reverse-engineered or officially supported by Amazon
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — aiohttp, beautifulsoup4, httpx, langcodes, orjson, python-dateutil |
| Maintenance | actively maintained — 16 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 76,988/month — #14,564 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aioamazondevices-14.2.2-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
aiocomelitAsync Python library for controlling Comelit…
permissive · top 15,000 on PyPI
aiovodafoneAsync Python library for controlling and…
permissive · top 15,000 on PyPI
AlexaPyalexapy provides programmatic control of Amazon…
permissive · top 15,000 on PyPI
aiovlcControl VLC media player over a telnet…
permissive · top 15,000 on PyPI
anova-wifiCommunicate with Anova precision cookers over…
permissive · top 15,000 on PyPI
pyenphaseProvides a Python library to communicate with…
permissive · top 15,000 on PyPI
aioairzone-cloudAsync Python library for controlling Airzone…
permissive · top 15,000 on PyPI
aioqswAsync Python library for controlling QNAP QSW…
permissive · top 15,000 on PyPI
govee-bleProvides Python bindings to discover, connect…
permissive · top 15,000 on PyPI
aioouiPerforms asynchronous lookups of…
permissive · top 15,000 on PyPI