hermes-weather-plugin

Hermes Agent weather plugin — NWS-grade model imagery, NEXRAD radar, and verified meteorological calculations. Pure Rust stack.

★ 8 Python Updated 4/5/2026
View on GitHub →

Hermes Weather Plugin

Weather plugin for Hermes Agent.

It provides 13 tools for observations, forecasts, alerts, model imagery, radar, soundings, calculations, and ECAPE. The plugin is packaged for Hermes plugin autodiscovery and bootstraps its Rust backends on first use instead of requiring users to clone and build multiple repos by hand.

Install

bash`r`npip install git+https://github.com/FahrenheitResearch/hermes-weather-plugin.git`r`n

Then start Hermes normally:

hermes

Hermes should auto-discover the plugin through the Python entry point.

Runtime model

The plugin is Python-first, but several heavy paths use Rust binaries or Rust-backed Python packages.

If a required Rust binary is missing, the plugin will try to build it on first use into:

and cache downloaded source/build work under:

First-use bootstrap

The plugin can bootstrap these binaries automatically:

This requires a working Rust toolchain (cargo, rustc) on the user machine unless they point the plugin at prebuilt binaries.

If you already have binaries installed, set optional overrides:

export RADAR_BACKEND=rustdar
export RADAR_RENDER_PATH=/path/to/radar-render
export NEXRAD_RENDER_PATH=/path/to/nexrad-render-cli
export ECAPE_RS_RUNNER=/path/to/run_case

Windows PowerShell:

$env:RADAR_BACKEND = 'rustdar'
$env:RADAR_RENDER_PATH = 'C:\path\to\radar-render.exe'
$env:NEXRAD_RENDER_PATH = 'C:\path\to\nexrad-render-cli.exe'
$env:ECAPE_RS_RUNNER = 'C:\path\to\run_case.exe'

Tools

Data

Tool What it returns
wx_conditions Current observed conditions
wx_forecast NWS 7-day or hourly forecast
wx_alerts Active NWS alerts
wx_metar Raw and decoded METAR
wx_brief Conditions + short forecast + alert count
wx_global Global weather via Open-Meteo
wx_severe SPC categorical outlook + active watches

Images

Tool What it returns
wx_model_image Model field PNG rendered with wrf-rust
wx_radar_image NEXRAD Level 2 radar image through the configured radar backend
wx_storm_image Reflectivity image with storm-analysis overlays and metadata

Calculations

Tool What it returns
wx_calc Rust-backed meteorological calculations through metrust
wx_sounding Model sounding plus derived parameters
wx_ecape ECAPE, NCAPE, CAPE, CIN, LFC, EL, storm motion, optional parcel path

Model support

Verified model subsets currently exposed in Hermes:

Models outside those sets may exist lower in the backend stack, but they are not exposed until their Hermes extraction path is verified.

Radar

Hermes keeps a stable radar tool contract and routes it through the configured radar backend.

Current backends:

Supported radar products:

Soundings and ECAPE

wx_sounding downloads a verified model pressure-level profile and computes:

wx_ecape runs the parity-verified ecape-rs runner on the same profile.

Defaults:

Supported storm-motion modes:

Set include_parcel_profile=true to return the aligned parcel path arrays.

Packaging notes

This package is intended to be installed with pip from GitHub, not copied manually into ~/.hermes/plugins.

The package exposes the Hermes plugin entry point directly, ships plugin.yaml, ships the bundled nexrad-render-cli source, installs the bundled skill on first load, and bootstraps Rust binaries on demand.

Stack

Plugin (Python)
  |- Data: requests -> NWS / SPC / METAR / Open-Meteo APIs
  |- Model images: rusbie -> wrf-rust
  |- Radar: rustdar or bundled nexrad-render-cli
  `- Calculations: metrust + ecape-rs

Dependencies

Python package dependencies:

Optional system dependency for first-use binary builds:

Credits