skillfed

gios

Python wrapper for getting air quality data from GIOŚ servers.

gios v7.1.1 74.7K downloads/30d#14,803 on PyPI2
Permissive license Apache-2.0 Active released

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 gios

uv

uv add gios

poetry

poetry add gios

Installing 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

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

Tags

air quality data Poland GIOŚasync air quality API wrapperenvironmental monitoring station dataGIOŚ station air qualityPolish air quality measurementsreal-time pollution data fetchatmospheric monitoring API
air-qualityenvironmental-dataasync-wrapper

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

imgw-pib

An async Python wrapper for the IMGW-PIB API…

permissive · top 15,000 on PyPI

nettigo-air-monitor

Fetches and parses air quality data from…

permissive · top 15,000 on PyPI

pyairvisual

A thin async Python wrapper for the AirVisual…

permissive · top 15,000 on PyPI

aioairq

Asynchronous Python library for retrieving…

permissive · top 15,000 on PyPI

env_canada

Provides async access to Environment Canada…

permissive · top 15,000 on PyPI

accuweather

Async Python wrapper for fetching current…

permissive · top 15,000 on PyPI

pyairnow

A thin async Python client for the EPA AirNow…

permissive · top 15,000 on PyPI

lacrosse-view

Retrieves sensor data from La Crosse…

permissive · top 15,000 on PyPI

PyRMVtransport

Queries real-time and scheduled transport…

permissive · top 15,000 on PyPI

pytrafikverket

Async Python client for querying Sweden's…

permissive · top 15,000 on PyPI