Skip to main content

Get IRCEL - CELINE air quality data 🍃 🇧🇪

Project description

Simple asynchronous Python client for IRCEL - CELINE open data

Work in progress

Python module to get data from the IRCEL - CELINE open data

Target features:

  • Get data for real time measurements interpolated
  • Get forecast data for PM10, PM2.5 and O3
  • Compute or fetch BelAQI index (observation and forecast)
  • Maybe: also provide data from the stations and not only interpolation

Install

The library is published on PyPI. Install it using pip

pip install open-irceline

Example of use

import aiohttp
import asyncio
from datetime import datetime
from open_irceline import IrcelineRioClient, IrcelineForecastClient, ForecastFeature, RioFeature


async def get_rio_interpolated_data():
    """Get current level of PM2.5 and PM10 at Brussels from the RIO interpolated data"""
    async with aiohttp.ClientSession() as session:
        client = IrcelineRioClient(session)
        result = await client.get_data(
            timestamp=datetime.utcnow(),  # must be timezone aware
            features=[RioFeature.PM25_HMEAN, RioFeature.PM10_HMEAN],
            position=(50.85, 4.35)  # (lat, lon) for Brussels
        )

    print(f"PM2.5  {result[RioFeature.PM25_HMEAN]['value']} µg/m³")
    print(f"PM10   {result[RioFeature.PM10_HMEAN]['value']} µg/m³")


async def get_o3_forecast():
    """Get forecast for O3 concentration for Brussels for the next days"""
    async with aiohttp.ClientSession() as session:
        client = IrcelineForecastClient(session)
        result = await client.get_data(
            features=[ForecastFeature.O3_MAXHMEAN],
            position=(50.85, 4.35)  # (lat, lon) for Brussels
        )

    for (feature, day), v in result.items():
        print(f"{feature} {day} {v['value']} µg/m³")


async def get_belaqi_forecast():
    """Get current BelAQI index from RIO interpolated values"""
    async with aiohttp.ClientSession() as session:
        client = IrcelineForecastClient(session)
        result = await client.get_data(
            features=[ForecastFeature.BELAQI],
            position=(50.85, 4.35)        # (lat, lon) for Brussels
        )

    for (_, day), value in result.items():
        print(day, value['value'])


if __name__ == '__main__':
    print("\nInterpolated data")
    asyncio.run(get_rio_interpolated_data())

    print("\nO3 forecast for Brussels")
    asyncio.run(get_o3_forecast())

    print("\nForecast BelAQI index")
    asyncio.run(get_belaqi_forecast())

Attribution

The data provided by this module is provided by the Belgian Interregional Environment Agency (IRCEL - CELINE). No change to the provided data is made. Their data is made available under the Creative Commons Attribution 4.0 license.

This work is not endorsed by the Belgian Interregional Environment Agency (IRCEL - CELINE).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_irceline-3.0.2.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_irceline-3.0.2-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file open_irceline-3.0.2.tar.gz.

File metadata

  • Download URL: open_irceline-3.0.2.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for open_irceline-3.0.2.tar.gz
Algorithm Hash digest
SHA256 20d2defb1e6281f02f3afc436ad9229880abeb0c824f09646ea741e61af5bb1e
MD5 78669fdd44c67b9ab51e520c25f9251b
BLAKE2b-256 fbcca43826fef92c371ab41fa02dc9fa8fbea514f168fdc59bd8cf5fa9a381eb

See more details on using hashes here.

File details

Details for the file open_irceline-3.0.2-py3-none-any.whl.

File metadata

  • Download URL: open_irceline-3.0.2-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for open_irceline-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5ea22c5cab5c17d63c6d3b4f7f7b22b643d8d7d83dd84865cb4936896928f630
MD5 17519ea02436baeeddbb0726947883d3
BLAKE2b-256 fa07771d3c3001b0ebb8965ece168937f4e6ad4933b7e6565375a2ed52204b64

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page