gios
Python wrapper for getting air quality data from GIOŚ servers.
What it is and what it does
gios is a Python async wrapper around the GIOŚ (Główny Inspektorat Ochrony Środowiska) air quality monitoring API, which provides real-time environmental data from Polish measurement stations. It simplifies fetching station metadata (name, coordinates) and current air quality readings by handling HTTP requests and data parsing internally.
The package is built on aiohttp for async I/O, dacite for data deserialization, and yarl for URL handling. It's designed for integration into home automation, environmental monitoring dashboards, or applications that need current Polish air quality conditions. The API is straightforward: instantiate a Gios object with a station ID and an aiohttp session, then call async_update() to retrieve the latest data.
Use it for:
- Fetch air quality data for a specific Polish city or region in a home automation system.
- Build a dashboard that displays real-time pollution levels from multiple GIOŚ stations.
- Monitor air quality trends over time by periodically querying a station and logging results.
- Integrate air quality alerts into a weather or environmental monitoring application.
- Retrieve station coordinates and names for mapping or location-based services.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Fetches real-time air quality measurements from GIOŚ (Polish environmental monitoring agency) for a specified station, exposing latitude, longitude, station name, and sensor data via an async Python API.
Yes, if you need air quality data from Polish GIOŚ stations and can meet the Python 3.13+ requirement. The package is actively maintained, has no known vulnerabilities, and uses a permissive license. The async design and low install friction make it straightforward to integrate. Only consider it if you have a specific use case tied to GIOŚ data or Polish environmental monitoring.
Install
gios on PyPI
pip
pip install giosuv
uv add giospoetry
poetry add giosInstalling gios
Before you install
Low install friction with a pure-Python wheel. Actively maintained with a release 25 days ago and recent commits. Requires Python 3.13 or later, which is a hard constraint for current projects.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions, making it safe for most projects.
Quickstart
import asyncio
from aiohttp import ClientSession
from gios import Gios
async def main():
async with ClientSession() as session:
gios = Gios(568, session) # 568 is an example station_id
data = await gios.async_update()
print(gios.station_name, gios.latitude, gios.longitude)
asyncio.run(main())
Requires Python 3.13 or later; requires an active aiohttp ClientSession and a valid GIOŚ station_id (found at http://powietrze.gios.gov.pl/pjp/current).
Verify before relying
- Specific air quality parameters returned (PM2.5, PM10, NO2, etc.) and their units are not detailed in the excerpt.
- Rate limits or throttling behavior from the GIOŚ API are not documented in the excerpt.
- Whether historical data or only current measurements are available.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.13) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — aiohttp, dacite, yarl |
| Maintenance | actively maintained — 25 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,686/month — #14,803 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: gios-7.1.1-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
imgw-pibAn async Python wrapper for the IMGW-PIB API…
permissive · top 15,000 on PyPI
nettigo-air-monitorFetches and parses air quality data from…
permissive · top 15,000 on PyPI
pyairvisualA thin async Python wrapper for the AirVisual…
permissive · top 15,000 on PyPI
aioairqAsynchronous Python library for retrieving…
permissive · top 15,000 on PyPI
env_canadaProvides async access to Environment Canada…
permissive · top 15,000 on PyPI
accuweatherAsync Python wrapper for fetching current…
permissive · top 15,000 on PyPI
pyairnowA thin async Python client for the EPA AirNow…
permissive · top 15,000 on PyPI
lacrosse-viewRetrieves sensor data from La Crosse…
permissive · top 15,000 on PyPI
PyRMVtransportQueries real-time and scheduled transport…
permissive · top 15,000 on PyPI
pytrafikverketAsync Python client for querying Sweden's…
permissive · top 15,000 on PyPI