{"id":45497976,"url":"https://github.com/Veirt/weathr","last_synced_at":"2026-03-07T20:01:15.046Z","repository":{"id":337284653,"uuid":"1152969678","full_name":"Veirt/weathr","owner":"Veirt","description":"a terminal weather app with ascii animation","archived":false,"fork":false,"pushed_at":"2026-03-05T19:45:15.000Z","size":6481,"stargazers_count":2446,"open_issues_count":10,"forks_count":85,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-03-05T22:42:15.314Z","etag":null,"topics":["cli","rust-lang","terminal","tui","weather"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Veirt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-08T17:52:29.000Z","updated_at":"2026-03-05T21:32:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Veirt/weathr","commit_stats":null,"previous_names":["veirt/weathr"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/Veirt/weathr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Veirt%2Fweathr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Veirt%2Fweathr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Veirt%2Fweathr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Veirt%2Fweathr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Veirt","download_url":"https://codeload.github.com/Veirt/weathr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Veirt%2Fweathr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30229585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T19:01:10.287Z","status":"ssl_error","status_checked_at":"2026-03-07T18:59:58.103Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","rust-lang","terminal","tui","weather"],"created_at":"2026-02-22T18:00:29.609Z","updated_at":"2026-03-07T20:01:15.040Z","avatar_url":"https://github.com/Veirt.png","language":"Rust","funding_links":[],"categories":["Applications","Rust"],"sub_categories":["Utilities"],"readme":"# weathr\n\n[![Crates.io](https://img.shields.io/crates/v/weathr.svg)](https://crates.io/crates/weathr)\n[![Downloads](https://img.shields.io/crates/d/weathr.svg)](https://crates.io/crates/weathr)\n[![License](https://img.shields.io/crates/l/weathr.svg)](https://github.com/veirt/weathr/blob/main/LICENSE)\n\nA terminal weather app with ASCII animations driven by real-time weather data.\n\nFeatures real-time weather from Open-Meteo with animated rain, snow, thunderstorms, flying airplanes, day/night cycles, and auto-location detection.\n\n## Demo\n\n### Thunderstorm Night\n\n![Thunderstorm night demo](docs/thunderstorm-night.gif)\n\n### Snow\n\n![Snow demo](docs/snow.gif)\n\n### Night\n\n![Night demo](docs/night.gif)\n\n## Contents\n\n- [Installation](#installation)\n- [Packaging Status](#packaging-status)\n- [Configuration](#configuration)\n- [Usage](#usage)\n- [Privacy](#privacy)\n- [Roadmap](#roadmap)\n- [License](#license)\n\n## Packaging Status\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/weathr.svg)](https://repology.org/project/weathr/versions)\n\n## Installation\n\n### Quick Install (macOS, Linux, FreeBSD)\n\nDownload and install the latest binary with one command:\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/Veirt/weathr/main/install.sh | sh\n```\n\n### Via Cargo\n\n```bash\ncargo install weathr\n```\n\n### Build from Source\n\nYou need Rust installed.\n\n```bash\ngit clone https://github.com/veirt/weathr.git\ncd weathr\ncargo install --path .\n```\n\n### Homebrew (macOS)\n\n```bash\nbrew install Veirt/veirt/weathr\n```\n\n### MacPorts (macOS)\n\n```bash\nsudo port install weathr\n```\n\n### Arch Linux\n\nAvailable in AUR:\n\n```bash\nyay -S weathr\n```\n\nor\n\n```bash\nyay -S weathr-bin\n```\n\n### Nix flake (NixOS)\n\nAvailable as a flake:\n\n```nix\ninputs = {\n    weathr.url = \"github:Veirt/weathr\";\n};\n```\n\nAdd to packages:\n\n```nix\nenvironment.systemPackages = [\n    inputs.weathr.packages.${system}.default\n];\n```\n\nor use home-manager module option:\n\n```nix\nimports = [\n    inputs.weathr.homeModules.weathr\n];\n\nprograms.weathr = {\n    enable = true;\n    settings = {\n        hide_hud = true;\n    };\n};\n```\n\n### Windows\n\nAvailable through Winget:\n\n```\nwinget install -i Veirt.weathr\n```\n\n## Configuration\n\nThe config file location depends on your platform:\n\n- **Linux**: `~/.config/weathr/config.toml` (or `$XDG_CONFIG_HOME/weathr/config.toml`)\n- **macOS**: `~/Library/Application Support/weathr/config.toml`\n- **Windows**: `~/AppData/Roaming/weathr/config.toml`\n\nYou can also place a `config.toml` in the current working directory, which takes priority over the default location.\n\n### Setup\n\n```bash\n# Linux\nmkdir -p ~/.config/weathr\n\n# macOS\nmkdir -p ~/Library/Application\\ Support/weathr\n\n# Windows (PowerShell)\nNew-Item -Path $env:APPDATA/weathr -Type Directory\n\n# Windows (Command Prompt)\nmkdir %APPDATA%/weathr\n```\n\nEdit the config file at the appropriate path for your platform:\n\n```toml\n# Hide the HUD (Heads Up Display) with weather details\nhide_hud = false\n\n# Run silently without startup messages (errors still shown)\nsilent = false\n\n[location]\n# Location coordinates (overridden if auto = true)\nlatitude = 52.5200\nlongitude = 13.4050\n\n# Auto-detect location via IP (defaults to true if config missing)\nauto = false\n\n# Hide the location name in the UI\nhide = false\n\n# How to display the location in the HUD: \"coordinates\" | \"city\" | \"mixed\"\ndisplay = \"mixed\"\n\n# Optional: manually override the city name shown in the HUD.\n# When set, skips reverse geocoding entirely.\n# city = \"Berlin\"\n\n# Language for the resolved city name. \"auto\" uses the locale of the coordinates.\n# Accepts BCP-47 language tags: \"en\", \"de\", \"ru\", \"ja\", etc.\n# city_name_language = \"auto\"\n\n[units]\n# Temperature unit: \"celsius\" or \"fahrenheit\"\ntemperature = \"celsius\"\n\n# Wind speed unit: \"kmh\", \"ms\", \"mph\", or \"kn\"\nwind_speed = \"kmh\"\n\n# Precipitation unit: \"mm\" or \"inch\"\nprecipitation = \"mm\"\n```\n\n### Location Display Modes\n\nThe `display` option controls how the location appears in the HUD. City names are resolved\nvia reverse geocoding (Nominatim/OpenStreetMap). When a city cannot be resolved (e.g. open\nsea or no Nominatim match), all modes fall back to showing coordinates.\n\n| Mode          | City resolved                         | City not resolved            |\n| :------------ | :------------------------------------ | :--------------------------- |\n| `coordinates` | `Location: 52.52°N, 13.41°E`          | `Location: 52.52°N, 13.41°E` |\n| `city`        | `Location: Berlin`                    | `Location: 52.52°N, 13.41°E` |\n| `mixed`       | `Location: Berlin (52.52°N, 13.41°E)` | `Location: 52.52°N, 13.41°E` |\n\n### Example Locations\n\n```toml\n# Tokyo, Japan\nlatitude = 35.6762\nlongitude = 139.6503\n\n# Sydney, Australia\nlatitude = -33.8688\nlongitude = 151.2093\n```\n\n## Usage\n\nRun with real-time weather:\n\n```bash\nweathr\n```\n\n### CLI Options\n\nSimulate weather conditions for testing:\n\n```bash\n# Simulate rain\nweathr --simulate rain\n\n# Simulate snow at night\nweathr --simulate snow --night\n\n# Clear day with falling leaves\nweathr --simulate clear --leaves\n```\n\nAvailable weather conditions:\n\n- Clear Skies: `clear`, `partly-cloudy`, `cloudy`, `overcast`\n- Precipitation: `fog`, `drizzle`, `rain`, `freezing-rain`, `rain-showers`\n- Snow: `snow`, `snow-grains`, `snow-showers`\n- Storms: `thunderstorm`, `thunderstorm-hail`\n\nOverride configuration:\n\n```bash\n# Use imperial units (°F, mph, inch)\nweathr --imperial\n\n# Use metric units (°C, km/h, mm) - default\nweathr --metric\n\n# Auto-detect location via IP\nweathr --auto-location\n\n# Hide location coordinates\nweathr --hide-location\n\n# Hide status HUD\nweathr --hide-hud\n\n# Run silently (suppress non-error output)\nweathr --silent\n\n# Combine flags\nweathr --imperial --auto-location\n```\n\n### Keyboard Controls\n\n- `q` or `Q` - Quit\n- `Ctrl+C` - Exit\n\n### Environment Variables\n\nThe application respects several environment variables:\n\n- `NO_COLOR` - When set, disables all color output (accessibility feature)\n- `COLORTERM` - Detects truecolor support (values: \"truecolor\", \"24bit\")\n- `TERM` - Used for terminal capability detection (e.g., \"xterm-256color\")\n\nExamples:\n\n```bash\n# Disable colors for accessibility\nNO_COLOR=1 weathr\n```\n\n## Privacy\n\n### Location Detection\n\nWhen 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.\n\nThis is optional. You can disable auto-location and manually specify coordinates in your config file to avoid external API calls.\n\n## Roadmap\n\n- [ ] Support for OpenWeatherMap, WeatherAPI, etc.\n- [x] Installation via AUR.\n- [ ] Key bindings for manual refresh, speed up animations, pause animations, and toggle HUD.\n\n## License\n\nGPL-3.0-or-later\n\n## Credits\n\n### Weather Data\n\nWeather data provided by [Open-Meteo.com](https://open-meteo.com/) under the [CC BY 4.0 license](https://creativecommons.org/licenses/by/4.0/).\n\n### Geocoding\n\nCity name resolution powered by [Nominatim](https://nominatim.openstreetmap.org/) (OpenStreetMap).\nData © [OpenStreetMap contributors](https://www.openstreetmap.org/copyright), licensed under [ODbL](https://opendatacommons.org/licenses/odbl/).\n\n### ASCII Art\n\n- **Source**: https://www.asciiart.eu/\n- **House**: Joan G. Stark\n- **Airplane**: Joan G. Stark\n- **Sun**: Hayley Jane Wakenshaw (Flump)\n- **Moon**: Joan G. Stark\n\n_Note: If any ASCII art is uncredited or misattributed, it belongs to the original owner._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVeirt%2Fweathr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FVeirt%2Fweathr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVeirt%2Fweathr/lists"}