weatheroz
>_ A beautiful forecast, right in your terminal.

Forecast. Simplified.

Fast, minimal and developer-friendly weather forecasts for anywhere.

Fast
Instant results
>_
Minimal
Clean output
Anywhere
Global coverage
Install weatheroz
cargo install weatheroz
Click to copy
weatheroz — zsh
$
racing Open-Meteo · MET Norway · wttr.in …
Parallel Orchestration

Three providers. One winner.

Weatheroz fires every provider at once on async tokio workers. The first success answers — the rest race to join the consensus blend.

Live process log
Provider race
Open-Meteo0ms
MET Norway0ms
wttr.in0ms
First past the post
The first successful response serves the request — no waiting on the slowest API.
Keyless auto-drop
Providers needing an API key are pruned at runtime when the key is missing.
100ms consensus window
Responses arriving within 100ms of the winner are blended for a sturdier result.
Consensus Blending

Blended, not guessed.

Three providers, three opinions — blended into one you can trust.

Numbers, averaged

21.0° 21.4° 20.8° 21.1°

Temp, wind & humidity meet in the middle.

Conditions, voted

☀️ ☀️ ⛅ ☀️

Whatever most providers see, wins.

Wind, vectored

350° + 10°

Angles blend right — never a fake south.

Output Modes

Your forecast, your format.

One flag switches the render. Keep scrolling to flip through every mode — pipe JSON into a script, drop Markdown in your notes, or just read the card.

weatheroz --format table
+-------+------+-------+--------+--------+------------+
| Time  | Temp | Feels | Precip | Wind   | Weather    |
+-------+------+-------+--------+--------+------------+
| 12:00 | 21   | 21    | 0%     | 10 NE  | ☀️ Clear    |
| 13:00 | 22   | 22    | 0%     | 12 NE  | ☀️ Clear    |
| 14:00 | 23   | 22    | 5%     | 14 E   | 🌤️ Mainly  |
| 15:00 | 23   | 23    | 10%    | 13 E   | 🌤️ Mainly  |
| 16:00 | 22   | 22    | 20%    | 11 E   | ⛅ Partly   |
+-------+------+-------+--------+--------+------------+
weatheroz --format compact
📍 Istanbul, Turkey
📅 June 16, 2026

   \   /      Temp:       21.0°C (Feels 21.0°C)
    .-.       Condition:  ☀️ Clear
 -- ( ) --    Wind:       10.0 km/h NE
    '-'       Humidity:   50%
   /   \      Cloudiness: 15%
weatheroz --format sparkline
📍 Istanbul, Turkey
24h Temperature Trend:

  ▂▃▄▅▆▇██▇▆▅▄▃▂
  [Min: 18.0°C, Max: 25.0°C]
weatheroz --format card
╔═════════════════════════════════╗
║  Weather Card: Istanbul, Turkey   ║
╠═════════════════════════════════╣
║  Date:      June 16, 2026         ║
║  Temp:      21.0°C (21.0°C)       ║
║  Condition: ☀️ Clear              ║
║  Wind:      10.0 km/h NE          ║
║  Humidity:  50%                   ║
╚═════════════════════════════════╝
weatheroz --format markdown
# Weather Report for Istanbul, Turkey
- **Date**: June 16, 2026
- **Temperature**: 21.0°C (Feels like: 21.0°C)
- **Condition**: ☀️ Clear
- **Wind**: 10.0 km/h (NE)
- **Humidity**: 50%
- **Cloud Cover**: 15%
weatheroz --format json
{
  "location": { "name": "Istanbul", "country": "Turkey" },
  "provider_name": "Consensus Blended",
  "winner_name": "Open-Meteo",
  "weather_data": {
    "temp": 21.0,
    "apparent_temp": 21.0,
    "humidity": 50
  }
}
Table
Cache & Resilience

Fast once, instant after.

Weatheroz writes every forecast to a local cache. The first call races the network — the next one is served straight from disk, even offline.

weatheroz — cache
cold $ weatheroz istanbul
◷ cache miss — raced Open-Meteo · MET Norway · wttr.in
0.0 ms
warm $ weatheroz istanbul · 3 min later
⚡ cache hit — read from ~/.cache/weatheroz
0.0 ms
The second call is ~0× faster — and never touches the network.
0 min
Weather cache TTL
Forecasts stay hot for 15 minutes, then quietly refresh on the next call.
0 days
Geocoding cache TTL
Resolved coordinates persist for a month, so repeat city lookups skip the network.
Offline
Last-good fallback
No connection? The newest cached payload is served straight from local disk.
Interactive TUI

A live process console.

Built on ratatui + crossterm — watch every step resolve in real time.

☁️ WEATHER RUNNER v0.1.0 — Live Process Console
Process Steps
✅ Arguments Parsed ✅ Resolving Location 📍 Location: London, GB ✅ API Provider Race ✅ Data Blending & Analysis 📊 Progress: 100%
▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ 100%
API Provider Race
ProviderStatusDuration Open-Meteo🏆 Success89.2ms MET Norway🏆 Success124.5ms wttr.in🏆 Success210.4ms
Last Activity Log
Location resolved successfully.
Open-Meteo won the race in 89.2ms.
🏆 Consensus Blended (Open-Meteo, MET Norway, wttr.in) completed in 89.2ms.

Get the forecast in one line.

Free, open source, and built in Rust.

cargo install weatheroz Click to copy
View on GitHub
weatheroz
DocsProvidersChangelogLicense · MIT