aioambient
A clean, async-friendly library for the Ambient Weather API
What it is and what it does
aioambient is an asyncio-native Python library that connects to Ambient Weather personal weather stations through both REST and WebSocket APIs. It lets you fetch device lists, retrieve historical readings, and stream real-time data updates from weather stations you own or, via its OpenAPI class, query public station data by geographic location without authentication.
The library wraps aiohttp, python-socketio, python-engineio, websockets, certifi, and yarl to handle HTTP pooling, WebSocket lifecycle, and TLS verification. It supports Python 3.11, 3.12, and 3.13 on CPython and PyPy. The package is permissively licensed under MIT and has been stable since its 2019 inception, though development is currently dormant with no recent maintenance activity.
Use it for:
- Monitor personal weather station data in real time by subscribing to WebSocket updates and triggering async handlers on new readings.
- Build a weather dashboard or home automation system that polls device history and current conditions via the REST API.
- Query public weather data by geographic coordinates using the OpenAPI class without needing your own weather station.
- Integrate Ambient Weather readings into an existing asyncio application without blocking the event loop.
- Archive historical weather data by periodically fetching device details and storing readings to a database.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
An async Python library for querying Ambient Weather personal weather stations via REST and WebSocket APIs, with support for both authenticated and public data access.
Yes, if you own an Ambient Weather station and need async Python integration. The library is stable, permissively licensed, and has low install friction. However, expect no active maintenance—dormant status means no bug fixes or updates for new API changes. Suitable for hobby projects and stable deployments; not recommended if you need ongoing vendor support or rapid iteration.
Install
aioambient on PyPI
pip
pip install aioambientuv
uv add aioambientpoetry
poetry add aioambientInstalling aioambient
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance is dormant—last release was 557 days ago—so expect no active bug fixes or feature updates, though the library appears stable for its current scope.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the license notice.
Quickstart
import asyncio
from aioambient import API
async def main():
api = API("app_key", "api_key")
devices = await api.get_devices()
print(devices)
asyncio.run(main())
Requires Python 3.11 or later; Ambient Weather API and application keys must be generated from your Ambient Weather Dashboard account.
Verify before relying
- Whether the library handles reconnection and error recovery gracefully during long-running WebSocket sessions.
- Performance characteristics and memory footprint when monitoring multiple devices or high-frequency data streams.
- Compatibility with recent versions of aiohttp, python-socketio, and websockets beyond what the fact sheet confirms.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<3.14,>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — aiohttp, certifi, python-engineio, python-socketio, websockets, yarl |
| Maintenance | dormant — 557 days since the last release |
| First released | |
| Downloads | 77,655/month — #14,509 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aioambient-2025.2.0-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
aioecowittProvides an async Python wrapper for the…
permissive · top 15,000 on PyPI
aionotionaionotion is an asyncio-friendly Python library…
permissive · top 15,000 on PyPI
pyatmopyatmo provides a Python API to query Netatmo…
permissive · top 15,000 on PyPI
simplisafe-pythonAn async Python interface to the SimpliSafe API…
permissive · top 15,000 on PyPI
accuweatherAsync Python wrapper for fetching current…
permissive · top 15,000 on PyPI
imgw-pibAn async Python wrapper for the IMGW-PIB API…
permissive · top 15,000 on PyPI
pyairvisualA thin async Python wrapper for the AirVisual…
permissive · top 15,000 on PyPI
aioguardianAn asyncio-focused Python library for…
permissive · top 15,000 on PyPI
aiorecollectAsyncio-based Python library for querying waste…
permissive · top 15,000 on PyPI
aioridwellAn asyncio-based Python library for querying…
permissive · top 15,000 on PyPI