meine
meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…
a terminal weather app with ascii animation
git clone https://github.com/Veirt/weathr.gitVeirt/weathrA terminal weather app with ASCII animations driven by real-time weather data.
Features real-time weather from Open-Meteo with animated rain, snow, thunderstorms, flying airplanes, day/night cycles, and auto-location detection.
Download and install the latest binary with one command:
curl -fsSL https://raw.githubusercontent.com/Veirt/weathr/main/install.sh | sh
cargo install weathr
You need Rust installed.
git clone https://github.com/veirt/weathr.git cd weathr cargo install --path .
Run the published image from GHCR:
docker run --rm -it ghcr.io/veirt/weathr:latest
Mount your config if you want to use your existing settings:
docker run --rm -it \ -v "$HOME/.config/weathr:/.config/weathr:ro" \ ghcr.io/veirt/weathr:latest
Build the image locally:
docker build -t weathr .
Run it interactively so the TUI can access your terminal:
docker run --rm -it weathr
Mount your config if you want to use your existing settings:
docker run --rm -it \ -v "$HOME/.config/weathr:/.config/weathr:ro" \ weathr
brew install Veirt/veirt/weathr
sudo port install weathr
Available in AUR:
yay -S weathr
or
yay -S weathr-bin
Available as a flake:
inputs = {
weathr.url = "github:Veirt/weathr";
};
Add to packages:
environment.systemPackages = [
inputs.weathr.packages.${system}.default
];
or use home-manager module option:
imports = [
inputs.weathr.homeModules.weathr
];
programs.weathr = {
enable = true;
settings = {
hide_hud = true;
};
};
Available through Winget:
winget install -i Veirt.weathr
The config file location depends on your platform:
~/.config/weathr/config.toml (or $XDG_CONFIG_HOME/weathr/config.toml)~/Library/Application Support/weathr/config.toml~/AppData/Roaming/weathr/config.toml# Linux mkdir -p ~/.config/weathr # macOS mkdir -p ~/Library/Application\ Support/weathr # Windows (PowerShell) New-Item -Path $env:APPDATA/weathr -Type Directory # Windows (Command Prompt) mkdir %APPDATA%/weathr
Edit the config file at the appropriate path for your platform:
# Hide the HUD (Heads Up Display) with weather details hide_hud = false # Run silently without startup messages (errors still shown) silent = false [location] # Location coordinates (overridden if auto = true) latitude = 52.5200 longitude = 13.4050 # Auto-detect location via IP (defaults to true if config missing) auto = false # Hide the location name in the UI hide = false # How to display the location in the HUD: "coordinates" | "city" | "mixed" display = "mixed" # Optional: manually override the city name shown in the HUD. # When set, skips reverse geocoding entirely. # city = "Berlin" # Language for the resolved city name. "auto" uses the locale of the coordinates. # Accepts BCP-47 language tags: "en", "de", "ru", "ja", etc. # city_name_language = "auto" [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"
The display option controls how the location appears in the HUD. City names are resolved
via reverse geocoding (Nominatim/OpenStreetMap). When a city cannot be resolved (e.g. open
sea or no Nominatim match), all modes fall back to showing coordinates.
| Mode | City resolved | City not resolved |
|---|---|---|
coordinates |
Location: 52.52°N, 13.41°E |
Location: 52.52°N, 13.41°E |
city |
Location: Berlin |
Location: 52.52°N, 13.41°E |
mixed |
Location: Berlin (52.52°N, 13.41°E) |
Location: 52.52°N, 13.41°E |
# Tokyo, Japan latitude = 35.6762 longitude = 139.6503 # Sydney, Australia latitude = -33.8688 longitude = 151.2093
Run with real-time weather:
weathr
Simulate weather conditions for testing:
# Simulate rain weathr --simulate rain # Simulate snow at night weathr --simulate snow --night # Clear day with falling leaves weathr --simulate clear --leaves
Available weather conditions:
clear, partly-cloudy, cloudy, overcastfog, drizzle, rain, freezing-rain, rain-showerssnow, snow-grains, snow-showersthunderstorm, thunderstorm-hailOverride configuration:
# Use imperial units (°F, mph, inch) weathr --imperial # Use metric units (°C, km/h, mm) - default weathr --metric # Auto-detect location via IP weathr --auto-location # Hide location coordinates weathr --hide-location # Hide status HUD weathr --hide-hud # Run silently (suppress non-error output) weathr --silent # Combine flags weathr --imperial --auto-location
q or Q - QuitCtrl+C - ExitThe application respects several environment variables:
NO_COLOR - When set, disables all color output (accessibility feature)COLORTERM - Detects truecolor support (values: "truecolor", "24bit")TERM - Used for terminal capability detection (e.g., "xterm-256color")Examples:
# Disable colors for accessibility NO_COLOR=1 weathr
When using auto = true in config or the --auto-location flag, the application makes a request to ipinfo.io to detect your approximate location based on your IP address.
This is optional. You can disable auto-location and manually specify coordinates in your config file to avoid external API calls.
GPL-3.0-or-later
Weather data provided by Open-Meteo.com under the CC BY 4.0 license.
City name resolution powered by Nominatim (OpenStreetMap). Data © OpenStreetMap contributors, licensed under ODbL.
Note: If any ASCII art is uncredited or misattributed, it belongs to the original owner.
more like this
meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…
search projects, people, and tags