gios
Python wrapper for getting air quality data from GIOŚ servers.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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).
- Low install friction with a pure-Python wheel.
- Actively maintained with a release 25 days ago and recent commits.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions, making it safe for most projects.
last release 2026-07-20 (25 days) · last repo commit 2026-08-10 · 2 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 74,686 downloads/mo, #14,803 on PyPI
Alternatives
Verify before relying
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())- 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.
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 on it.
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
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.
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).
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())
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 packagesaiohttpdaciteyarl |
| 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 |
| Classifiers | Development Status :: 5 - Production/StableOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed |
Evidence: gios-7.1.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “air quality data Poland GIOŚ”
- giosFetches real-time air quality measurements from GIOŚ (Polish…
- nettigo-air-monitorFetches and parses air quality data from Nettigo Air Monitor devices…
- pyairvisualA thin async Python wrapper for the AirVisual API to retrieve air…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also imgw-pib · nettigo-air-monitor · pyairvisual · aioairq · env_canada · accuweather · pyairnow · lacrosse-view · PyRMVtransport · pytrafikverket