irm-kmi-api
Retrieve data from the Belgian IRM KMI in Python
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-apiuv
uv add irm-kmi-apipoetry
poetry add irm-kmi-apiInstalling 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
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
buienradarFetches current weather data and precipitation…
permissive · top 15,000 on PyPI
meteofrance-apiPython client for the private Météo-France API,…
permissive · top 15,000 on PyPI
meteomaticsConnects Python applications to the Meteomatics…
permissive · top 15,000 on PyPI
env_canadaProvides async access to Environment Canada…
permissive · top 15,000 on PyPI
arm-pyartPy-ART provides weather radar data processing,…
permissive · top 15,000 on PyPI
AEMET-OpenDataPython client for the AEMET OpenData Rest API…
copyleft · top 15,000 on PyPI
accuweatherAsync Python wrapper for fetching current…
permissive · top 15,000 on PyPI
dwdwfsapiRetrieves weather warnings, bio-weather…
permissive · top 15,000 on PyPI
open-meteoProvides an asynchronous Python client for…
permissive · top 15,000 on PyPI
open-radar-dataProvides a registry and download utility for…
permissive · top 15,000 on PyPI