--- id: aioambient version: "2025.2.0" license: MIT license_treatment: permissive maintenance: dormant --- # aioambient — A clean, async-friendly library for the Ambient Weather API License: permissive · Maintenance: dormant · Downloads: 77.7K/mo ## 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 above — 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 pip install aioambient uv add aioambient poetry add aioambient ## Installing 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_current - Install friction: low - Maintenance: dormant - Downloads: 77.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags ambient weather api client, async weather station data, personal weather station python, ambient weather websocket, weather data asyncio, ambient weather rest api, real-time weather data streaming, weather-data, asyncio, iot-devices [View on SkillFed](https://skillfed.io/packages/aioambient) · [View on PyPI](https://pypi.org/project/aioambient/)