simple-dwd-weatherforecast
A simple tool to retrieve a weather forecast from DWD OpenData
What it is and what it does
Simple-dwd-weatherforecast is a Python client for accessing Germany's Deutscher Wetterdienst (DWD) public weather data. It fetches hourly forecasts updated every six hours, covering the next 10 days, and exposes temperature, precipitation, wind, cloud coverage, visibility, and other meteorological variables. The package also retrieves reported (observed) weather where available, regional weather reports as HTML, UV index forecasts, and air quality measurements (nitrogen dioxide, ozone, PM10, PM2.5). Weather conditions are classified into nine human-readable categories (sunny, cloudy, rainy, snowy, etc.) by interpreting DWD's MOSMIX forecast codes.
The package is designed for simplicity: you instantiate a Weather object with a station ID, then call methods to fetch forecast or reported data for a given datetime. It handles data caching and automatic updates internally. An optional extra adds apparent ("felt") temperature parsing from GRIB2 files if the ecCodes runtime is available; the core package degrades gracefully without it. Station IDs can be looked up by coordinates or validated against a built-in list.
Use it for:
- Home automation systems (e.g., Home Assistant) that need hourly weather forecasts to trigger rules or adjust settings.
- Weather display dashboards or mobile apps showing German regional forecasts with condition icons and multi-day trends.
- Air quality monitoring applications that correlate pollution levels with meteorological data from DWD stations.
- Agricultural or environmental monitoring that requires daily min/max/sum/average aggregates of temperature, precipitation, or wind.
- UV index alerts for outdoor activity planning over the next three days.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Retrieves hourly weather forecasts for the next 10 days from Germany's Deutscher Wetterdienst (DWD) public data, including temperature, precipitation, wind, and condition classifications, plus air quality and weather maps.
Yes. Active maintenance, low install friction, permissive license, no known vulnerabilities, and a focused feature set make this a reliable choice for German weather data. Install if you need DWD forecasts; the six dependencies are standard. The optional apparent-temperature extra is safe to skip if ecCodes is unavailable.
Install
simple-dwd-weatherforecast on PyPI
pip
pip install simple-dwd-weatherforecastuv
uv add simple-dwd-weatherforecastpoetry
poetry add simple-dwd-weatherforecastInstalling simple-dwd-weatherforecast
Before you install
Low install friction: pure Python wheel with no compiled dependencies. Active maintenance—last commit 2026-08-06, released 8 days ago. Six runtime dependencies (lxml, requests, Pillow, arrow, stream-unzip, httpx) are all common and well-maintained.
License in practice
MIT license (permissive). No restrictions on use, modification, or redistribution in commercial or private projects.
Quickstart
from simple_dwd_weatherforecast import dwdforecast
from datetime import datetime, timezone
dwd_weather = dwdforecast.Weather("10385") # Berlin-Schoenefeld
time_now = datetime.now(timezone.utc)
temp = dwd_weather.get_forecast_data(dwdforecast.WeatherDataType.TEMPERATURE, time_now)
Datetime values must be in UTC. Optional apparent-temperature extra requires ecCodes runtime; core package works without it.
Verify before relying
- Whether the 37MB hourly data download (mentioned in docs) is a practical concern for typical use cases.
- Accuracy and latency of the get_nearest_station_id() geolocation method.
- Whether all WeatherDataType enum values are available at all stations or only some.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — lxml, requests, Pillow, arrow, stream-unzip, httpx |
| Maintenance | actively maintained — 8 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 246,348/month — #8,711 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: simple_dwd_weatherforecast-3.5.0-py3-none-any.whl
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
dwdwfsapiRetrieves weather warnings, bio-weather…
permissive · top 15,000 on PyPI
buienradarFetches current weather data and precipitation…
permissive · top 15,000 on PyPI
meteostatMeteostat provides access to historical weather…
unclear · top 15,000 on PyPI
openmeteo-requestsFetches weather data from the Open-Meteo API…
permissive · top 15,000 on PyPI
accuweatherAsync Python wrapper for fetching current…
permissive · top 15,000 on PyPI
meteofrance-apiPython client for the private Météo-France API,…
permissive · top 15,000 on PyPI
herbie-dataHerbie downloads numerical weather prediction…
permissive · top 15,000 on PyPI
AEMET-OpenDataPython client for the AEMET OpenData Rest API…
copyleft · top 15,000 on PyPI
imgw-pibAn async Python wrapper for the IMGW-PIB API…
permissive · top 15,000 on PyPI
openmeteo-sdkProvides compiled FlatBuffers schema files for…
permissive · top 15,000 on PyPI