weathery is a terminal weather app with dynamically animated ANSI cityscapes.
It fetches a cityscape from Wikipedia, renders it in ANSI art, fetches the weather from Open Meteo, and adds animations according to the weather and the intensity of the weather.
cargo install weatheryYou need Rust installed.
git clone https://github.com/weathery/weathery.git
cd weathery
cargo install --path .- Different animation appearance depending on the weather condition
- Rain: blue ANSI blocks that fall down
- Snow: white ANSI blocks that fall down
- Thunderstorm: same blue rain blocks as regular rain but much faster and denser, combined with periodic lightning flashes
- Clear: static image with no particles or effects
- Different speed of droplets depending on the intensity of the weather
- Light intensity: slower spawn rate and slower particle movement
- Moderate intensity: medium spawn rate and speed
- Heavy intensity: rapid spawning and fast particles
- In case of foggy weather, the image is grayscale; otherwise it's colorful (this can be overriden with
--grayscaleand--colorfulflags) - Frame timing stays consistent across all weather types by measuring elapsed time and sleeping just enough to hit the target frame rate, ensuring smooth animation regardless of terminal speed
# Heavy rain
weathery "Copenhagen" --simulate 65
# Clear
weathery "Copenhagen" --simulate 0Weather codes:
0 => "☀️ Clear sky",
1 => "🌤 Mainly clear",
2 => "⛅ Partly cloudy",
3 => "☁️ Overcast",
45 => "🌫 Foggy",
48 => "🌫 Depositing rime fog",
51 => "🌧 Light drizzle",
53 => "🌧 Moderate drizzle",
55 => "🌧 Dense drizzle",
61 => "🌧 Slight rain",
63 => "🌧 Moderate rain",
65 => "🌧 Heavy rain",
71 => "❄️ Slight snow",
73 => "❄️ Moderate snow",
75 => "❄️ Heavy snow",
77 => "❄️ Snow grains",
80 => "🌧 Slight rain showers",
81 => "🌧 Moderate rain showers",
82 => "🌧 Violent rain showers",
85 => "❄️ Slight snow showers",
86 => "❄️ Heavy snow showers",
95 => "⛈ Thunderstorm (slight/moderate)",
96 => "⛈ Thunderstorm with slight hail",
99 => "⛈ Thunderstorm with heavy hail",# Colorful
weathery "Copenhagen" --colorful
# Grayscale
weathery "Copenhagen" --grayscaleq- Quit
- More key bindings
- Imperial units
- Auto-detect user's location
- More animation settings
- Installation via other package managers
More coming soon!
GPL-3.0-or-later
