Skip to content

Repository files navigation

MeteoGate Code Examples

Hands-on examples for using MeteoGate, EUMETNET's one-stop shop for open meteorological and hydrological data, across its four main data domains:

  • SURFACE — Near instant land-surface observations
  • ORD — Open Radar Data (single-site volumes, OPERA composites)
  • CLIMATE — National climate normals and long-term time series
  • WARNINGS - Realtime and archived weather warnings issued by the MeteoAlarm member countries

Each domain has three example folders (ex1–ex3) under examples/, each targeting a different persona and use case — see the README.md in each folder for details.

Setup

Requires Python 3.11+

With uv (recommended):

uv sync

Without uv, using plain pip:

python3 -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -e .

Copy config.example.toml to config.toml at the repo root and fill in your own MeteoGate API key and preferred station:

cp config.example.toml config.toml

config.toml is git-ignored, so your personal API key never gets committed. If it's absent, examples fall back to the METEOGATE_API_KEY environment variable (or anonymous access) and a default station.

Note: Even though the examples work without API key, especially the WARNINGS API has strict rate limits. Consider using a MeteoGate API key when running the WARNINGS examples, rather than relying on anonymous access.

Running an example

With uv:

cd examples/SURFACE/ex1
uv run python main.py

Without uv (with the .venv from the pip setup above activated):

cd examples/SURFACE/ex1
python main.py

About

Hands-on Python examples (SURFACE, ORD, CLIMATE, WARNINGS) for querying and streaming EUMETNET MeteoGate's open weather, radar, climate and warnings data via REST and MQTT.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages