skillfed

aioairq

Asynchronous library to retrieve data from air-Q devices.

aioairq v0.6.0 73.8K downloads/30d#14,926 on PyPI3
Permissive license Apache-2.0 Active released

What it is and what it does

aioairq is an async Python client for air-Q air quality sensors—devices that measure indoor air parameters and store historical data on an SD card. It wraps the air-Q HTTP API, letting you query real-time sensor readings (CO₂, particulates, temperature, etc.) and browse or download timestamped historical measurements from the device's local storage. The library requires you to provide an aiohttp session and handles device discovery via mDNS (converting a 5-character device ID to a hostname) or direct IP/hostname connection.

The main use case is home automation, environmental monitoring dashboards, or data logging systems that need to pull air quality data from one or more air-Q devices on a local network. It's built on async/await, so it integrates naturally with other async Python code and avoids blocking I/O. Historical data can be downloaded compressed (about 1/5 the size) or uncompressed, and the library supports verbose DEBUG-level logging to track sensor reading changes.

Use it for:

  • Poll real-time air quality metrics from an air-Q device and feed them into a Home Assistant or other home automation system.
  • Download and archive historical air quality data from the device's SD card for analysis or compliance reporting.
  • Build a web dashboard that displays current and historical air quality trends by querying multiple air-Q devices asynchronously.
  • Trigger alerts or HVAC adjustments based on CO₂ or particulate thresholds by monitoring sensor readings in a background task.
  • Integrate air-Q data into a scientific study or environmental monitoring project that requires local, non-cloud sensor access.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Asynchronous Python library for retrieving real-time and historical sensor data from local air-Q air quality monitoring devices over the network.

Yes. The package is actively maintained, has low install friction, carries a permissive license, and solves a specific problem well: async access to air-Q devices without external dependencies beyond aiohttp and pycryptodome. Install it if you own an air-Q device and need to integrate its data into a Python application. Not relevant if you don't have an air-Q device or need cloud-based air quality APIs instead.

Install

aioairq on PyPI

pip

pip install aioairq

uv

uv add aioairq

poetry

poetry add aioairq

Installing aioairq

Before you install

Low friction: pure Python wheel with only aiohttp and pycryptodome as runtime dependencies. Actively maintained with recent commits; last release 143 days ago. Supports Python 3.9 through 3.13.

License in practice

Apache-2.0 (permissive): you can use, modify, and distribute this library freely in commercial or private projects, provided you include a copy of the license and state any significant changes.

Quickstart

import asyncio
import aiohttp
from aioairq import AirQ

async def main():
    async with aiohttp.ClientSession() as session:
        airq = await AirQ.connect("123ab", "airqsetup", session)
        data = await airq.data
        print(data)

asyncio.run(main())

Requires an air-Q device on the local network; mDNS resolution (Avahi/Bonjour) needed for device ID lookup, or use IP address directly if mDNS is blocked.

Verify before relying

  • Whether the library handles device authentication failures or network timeouts gracefully.
  • Performance characteristics when downloading large historical datasets or querying many sensors simultaneously.
  • Whether debug logging overhead is negligible at non-DEBUG levels as claimed.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 2 — aiohttp, pycryptodome
Maintenance actively maintained — 143 days since the last release
Last repo commit
First released
Downloads 73,821/month — #14,926 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: aioairq-0.6.0-py3-none-any.whl

Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

Tags

air quality sensor data pythonair-Q device async clientlocal air quality monitoringaiohttp async sensor libraryair-Q historical data downloadreal-time air quality readingsmDNS device discovery python
air-quality-sensorasync-iotlocal-network

More Python Modules packages