A keyboard-driven, three-pane terminal file browser written in Rust, configurable with Lua and rich external previews.
Veirt/weathr
A terminal weather app written in Rust that shows real-time conditions as ASCII animations like rain, snow and thunderstorms.
- Stars
- 3,069
- Forks
- 127
- Open issues
- 19
- Last commit
- 2 months ago
What is it?
weathr is a command-line weather viewer that fetches real-time data from Open-Meteo and renders the conditions as animated ASCII scenes in the terminal. Rain, snow, thunderstorms, flying airplanes and day/night cycles are drawn in the scene, so you can see the current weather at a glance without leaving the shell.
The app can detect your location automatically via IP or use coordinates set in a TOML config file, and it resolves coordinates to city names through Nominatim. Units for temperature, wind speed and precipitation are configurable, and the --imperial and --metric flags override the config. A --simulate option lets you preview any supported weather condition for testing.
It is installable through Cargo, Homebrew, Winget, the AUR, Nix, Docker and a shell install script. Automatic location detection sends a request to ipinfo.io, and this can be turned off by specifying coordinates manually.
Key features
- 01Real-time weather data from Open-Meteo with animated rain, snow and thunderstorm scenes.
- 02Day and night cycles, plus airplanes and optional falling leaves in the scene.
- 03Automatic location detection via IP, or manual coordinates in a config file.
- 04Reverse geocoding to show city names with configurable display modes.
- 05Configurable temperature, wind speed and precipitation units.
- 06Simulate any supported weather condition for testing, and honor NO_COLOR.
Use cases
- Checking the weather from a terminal session without opening a browser.
- Adding a small ambient weather display to a terminal workspace or tmux setup.
- Previewing how different weather conditions look in a terminal UI.
- Running a lightweight weather display on a server or headless machine via Docker.
Quick start
- 1
Install via Cargo
cargo install weathr - 2
Run the app
weathr
Things to know
- Weather data comes from Open-Meteo and city names from Nominatim, so it needs an internet connection.
- Auto-location sends your IP address to ipinfo.io.
- Licensed under GPL-3.0, which requires derivative works to remain open source.
Topics
FAQ
- What is weathr?
- A terminal weather app written in Rust that shows real-time conditions as ASCII animations like rain, snow and thunderstorms. weathr is a command-line weather viewer that fetches real-time data from Open-Meteo and renders the conditions as animated ASCII scenes in the terminal. Rain, snow, thunderstorms, flying airplanes and day/night cycles are drawn in the scene, so you can see the current weather at a glance without leaving the shell.
- Is weathr free to use? What license does it have?
- weathr is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is weathr still maintained?
- Updated within 6 months. The last commit to weathr was on Aug 12, 2026.
- What can I use weathr for?
- Checking the weather from a terminal session without opening a browser. Adding a small ambient weather display to a terminal workspace or tmux setup. Previewing how different weather conditions look in a terminal UI. Running a lightweight weather display on a server or headless machine via Docker.
- How do I install weathr?
- Install via Cargo: cargo install weathr Run the app: weathr
- Where can I get weathr?
- The source code and installation instructions are on GitHub: https://github.com/Veirt/weathr
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A terminal stock dashboard in Rust that pairs live quotes and charts with AI-scored news, SEC Form 4 insider filings and earnings reads.
A terminal tool that replays Git commits as animated typing sessions with syntax highlighting and file tree transitions.
A terminal user interface for Git, inspired by Magit, for staging, committing, branching, rebasing and more from the keyboard.
A terminal UI that renders a git commit graph as images, similar to git log --graph --all, for browsing repository history.
A terminal UI for rsync that manages reusable transfer profiles, previews changes as a dry-run diff, and shows live progress, including over SSH.