Weather in Your Terminal: weathr – ASCII Art Weather App
Weather in Your Terminal: weathr – ASCII Art Weather App
If you love the comfort of the command line and want a visual daily reminder that the weather is just a few keystrokes away, weathr is the tool you’ve been waiting for. Built in Rust, weathr pulls current conditions from the free Open‑Meteo API and renders animated weather directly in your terminal using crisp ASCII art.
Why weathr?
- Instant feedback: No web browsers – the weather is right at your console.
- Eye candy: Falling rain, snowflakes, lightning, and airplane clouds animate against a day/night backdrop.
- Cross‑platform: Works natively on Linux, macOS, Windows, and even in WSL.
- Self‑contained: A single binary, no external dependencies beyond the Rust toolchain.
- Open source & GPL‑v3: Fork, tweak, or submit a pull request.
Quick Start
Install via Cargo – the easiest way if you already use Rust:
cargo install weathr
Homebrew (macOS)
brew install Veirt/veirt/weathr
AUR (Arch)
yay -S weathr
Windows (Winget)
winget install -i Veirt.weathr
Build from source (requires Rust):
git clone https://github.com/Veirt/weathr.git
cd weathr
cargo install --path .
Configuration
The app looks for config.toml under the conventional configuration directories for each OS:
| System | Default config path |
|---|---|
| Linux | ~/.config/weathr/config.toml |
| macOS | ~/Library/Application Support/weathr/config.toml |
| Windows | ~/AppData/Roaming/weathr/config.toml |
Create the directory, edit the file, and set your preferences. Example config:
# Hide the heads‑up display (HUD)
hide_hud = false
# Run silently (only errors are shown)
silent = false
[location]
# Override auto‑location; set to `true` to query IP location
auto = true
# Latitude and longitude for manual override
latitude = 51.5074
longitude = -0.1278
# Hide the location name from the HUD
hide = false
[units]
# Temperature unit: "celsius" or "fahrenheit"
temperature = "celsius"
# Wind speed unit: "kmh", "ms", "mph", or "kn"
wind_speed = "kmh"
# Precipitation unit: "mm" or "inch"
precipitation = "mm"
Running the App
Simply type:
weathr
The application will resolve your location, fetch the current weather, and start the animation loop. Keyboard controls are minimal:
qorQ– Quit.Ctrl+C– Immediate exit.
Simulating Conditions
For developers or testing, you can simulate any weather condition:
weathr --simulate rain
weathr --simulate snow --night
weathr --simulate clear --leaves
Command‑Line Options
| Flag | Description |
|---|---|
--imperial |
Use °F, mph, inches (overrides config). |
--metric |
Use °C, km/h, mm (default). |
--auto-location |
Force IP‑based location lookup. |
--hide-location |
Hide coordinates in the HUD. |
--hide-hud |
Hide the entire HUD. |
--silent |
Suppress all non‑error output. |
Flags can be combined, e.g., weathr --imperial --auto-location.
Environment Variables
NO_COLOR=1– Disable color output.COLORTERM=truecolor– Force 24‑bit color support.TERM=xterm-256color– Terminal capability detection.
Privacy Note
When auto‑location is enabled, weathr makes a single request to ipinfo.io to resolve your IP to latitude/longitude. This is optional and can be disabled by setting auto = false or omitting the flag. No personal data is stored or sent to the weather provider.
Roadmap
- Additional Weather APIs – Integrate OpenWeatherMap and WeatherAPI for redundancy.
- Keyboard Shortcuts – Manual refresh, speed control, pause animation, toggle HUD.
- Home‑Manager Module – Full NixOS configuration support.
- Custom Themes – Import user‑defined ASCII art sets.
Contributing
We welcome contributions! Fork the repository, make your changes, and open a pull request. The project is tested with CI on Linux and macOS. Contributions may include bug fixes, new weather conditions, or usability improvements.
Credits
- Weather Data – Open‑Meteo.com (CC BY‑4.0)
- ASCII Art – Various artists from asciiart.eu
- Rust Crates –
reqwest,serde,crossterm,clap
weathr is an open‑source, terminal‑centric weather app that turns your command prompt into a weather widget. If you’re looking for a lightweight, stylish way to stay informed about the skies without leaving your terminal, install weathr today and let the animations forecast your day.