Quickstart#
This page takes you from a fresh install to your first weather time series in a few minutes. For the full feature set, continue with the Python API chapter.
Installation#
Wetterdienst is available on PyPI and requires Python 3.10 or newer:
pip install wetterdienst
The base install keeps dependencies light. Optional features live behind extras — for example the interpolation feature or exporting to databases:
pip install "wetterdienst[interpolation,export]"
Your first request#
A request is defined by the data you want (parameters) and, optionally, a time range.
Here we ask the German Weather Service (DWD) for the daily climate summary and then pick a
single station by its id — 1048, Dresden-Klotzsche:
1from wetterdienst.provider.dwd.observation import DwdObservationRequest
2
3request = DwdObservationRequest(
4 parameters=[("daily", "climate_summary", "temperature_air_mean_2m")],
5 periods="recent",
6)
7stations = request.filter_by_station_id(station_id="1048")
8stations.df
| resolution | dataset | station_id | start_date | end_date | latitude | longitude | height | name | state |
|---|---|---|---|---|---|---|---|---|---|
| str | str | str | datetime[μs, UTC] | datetime[μs, UTC] | f64 | f64 | f64 | str | str |
| "daily" | "climate_summary" | "01048" | 1934-01-01 00:00:00 UTC | 2026-07-23 00:00:00 UTC | 51.1278 | 13.7543 | 228.0 | "Dresden-Klotzsche" | "Sachsen" |
stations.df holds the station metadata. To fetch the actual measurements, ask the
associated values result:
1values = stations.values.all()
2values.df
| station_id | resolution | dataset | parameter | date | value | quality |
|---|---|---|---|---|---|---|
| enum | enum | enum | enum | datetime[μs, UTC] | f64 | f64 |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2025-01-20 00:00:00 UTC | 2.3 | 9.0 |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2025-01-21 00:00:00 UTC | -0.8 | 9.0 |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2025-01-22 00:00:00 UTC | -0.7 | 9.0 |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2025-01-23 00:00:00 UTC | 1.5 | 9.0 |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2025-01-24 00:00:00 UTC | 5.7 | 9.0 |
| … | … | … | … | … | … | … |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2026-07-19 00:00:00 UTC | 15.5 | 1.0 |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2026-07-20 00:00:00 UTC | 15.3 | 1.0 |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2026-07-21 00:00:00 UTC | 17.2 | 1.0 |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2026-07-22 00:00:00 UTC | 16.6 | 1.0 |
| "01048" | "daily" | "climate_summary" | "temperature_air_mean_2m" | 2026-07-23 00:00:00 UTC | 13.9 | 1.0 |
That’s it — values.df is a polars DataFrame you can filter, plot or
export.
The same request on the command line#
Everything the Python API can do is also available via the CLI:
# List the station's metadata.
wetterdienst stations --provider dwd --network observation \
--parameters daily/climate_summary --periods recent --station 1048
# Fetch the values.
wetterdienst values --provider dwd --network observation \
--parameters daily/climate_summary/temperature_air_mean_2m --periods recent --station 1048
Where to go next#
Python API — the full request/stations/values workflow, filtering, formatting, SQL and export.
Python Examples — ready-to-run snippets per provider and network.
Data / Overview — every supported provider and what it offers.
Interpolation & Summary — derive a series for an arbitrary location.
Climate Stripes — generate warming-stripes visualizations.
Settings — units, caching, proxies and interpolation knobs.