skillfed

irm-kmi-api

Retrieve data from the Belgian IRM KMI in Python

irm-kmi-api v1.1.1 83.0K downloads/30d#14,116 on PyPI9
Permissive license MIT License Copyright (c) 2023-2025 Jules Dejaeghere Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),… (full text in the JSON record) AGING released

What it is and what it does

irm-kmi-api is an async Python wrapper around the undocumented API used by the Belgian Royal Meteorological Institute's mobile weather application. It exposes current weather conditions, hourly and daily forecasts, rain radar animations, extreme weather warnings, and pollen data for Belgium, Netherlands, and Luxembourg. The package uses aiohttp for asynchronous HTTP requests and svgwrite for rain radar visualization.

The package is designed for developers who need programmatic access to Belgian weather data without relying on a public API contract. It requires Python 3.12 and expects users to set meaningful User-Agent headers and apply rate-limiting to avoid overloading the underlying service. The maintainer explicitly disclaims affiliation with the meteorological institute and notes that the package cannot provide features unavailable from the reverse-engineered API.

Use it for:

  • Build a weather dashboard or mobile app showing current conditions and forecasts for Belgium.
  • Generate rain radar animations for weather alerts or public information systems.
  • Integrate pollen forecasts into allergy-tracking or health applications targeting Belgian users.
  • Monitor extreme weather warnings (storms, floods) for automated alert systems.
  • Fetch weather data for home automation or IoT projects in the Benelux region.

Worth the install?

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

Async Python client to fetch current weather, forecasts, rain radar, warnings, and pollen data from the Belgian IRM KMI mobile API.

Yes, if you need Belgian weather data and can accept the reverse-engineered API risk. Install friction is low, the license is permissive, and there are no known vulnerabilities. However, be aware that the underlying API is undocumented and may break without notice—suitable for hobby projects or non-critical applications, less so for production systems requiring guaranteed uptime. The 201-day gap since the last release suggests the maintainer is not actively updating it, so factor in potential maintenance burden if the API changes.

Install

irm-kmi-api on PyPI

pip

pip install irm-kmi-api

uv

uv add irm-kmi-api

poetry

poetry add irm-kmi-api

Installing irm-kmi-api

Before you install

Low friction; pure Python wheel with only aiohttp and svgwrite as runtime dependencies. Repository shows active maintenance with a commit as recent as 2026-01-26, though the package is aging (201 days since last release). No known vulnerabilities.

License in practice

MIT License permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.

Quickstart

import aiohttp
import asyncio
from irm_kmi_api import IrmKmiApiClientHa

async def get_weather():
    session = aiohttp.ClientSession()
    client = IrmKmiApiClientHa(session=session, user_agent="myapp/1.0")
    await client.refresh_forecasts_coord({'lat': 50.47, 'long': 4.87})
    weather = client.get_current_weather()
    await session.close()
    return weather

asyncio.run(get_weather())

Requires Python 3.12 or later. The underlying API is reverse-engineered and undocumented; it may change without notice and break this package.

Verify before relying

  • Whether the package is actively maintained going forward (last release 201 days ago, though repo shows recent commits).
  • Stability guarantees or update frequency for the reverse-engineered API endpoints.

Package facts

License MIT License Copyright (c) 2023-2025 Jules Dejaeghere Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 2 — aiohttp, svgwrite
Maintenance aging — 201 days since the last release
Last repo commit
First released
Downloads 82,963/month — #14,116 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: irm_kmi_api-1.1.1-py3-none-any.whl

Keywords: weather, weather-api, netherlands, weather-forecast, pollen, belgium, luxembourg, rain-radar

License :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 3

Tags

belgian weather api pythonirm kmi weather dataasync weather forecast belgiumrain radar animation pythonpollen data belgiumweather warnings belgiummeteo.be api client
weather-apiasync-httpbelgium

More Internet packages