[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74661":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":15,"starSnapshotCount":15,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},74661,"weathr","Veirt\u002Fweathr","Veirt","a terminal weather app with ascii animation","",null,"Rust",2865,113,10,0,13,21,61,39,28.17,"GNU General Public License v3.0",false,"main",true,[26,27,28,29,30],"cli","rust-lang","terminal","tui","weather","2026-06-12 02:03:26","# weathr\n\n[![Crates.io](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fweathr.svg)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fweathr)\n[![Downloads](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fd\u002Fweathr.svg)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fweathr)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fl\u002Fweathr.svg)](https:\u002F\u002Fgithub.com\u002Fveirt\u002Fweathr\u002Fblob\u002Fmain\u002FLICENSE)\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\u002Fnight cycles, and auto-location detection.\n\n## Demo\n\n### Thunderstorm Night\n\n![Thunderstorm night demo](docs\u002Fthunderstorm-night.gif)\n\n### Snow\n\n![Snow demo](docs\u002Fsnow.gif)\n\n### Night\n\n![Night demo](docs\u002Fnight.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:\u002F\u002Frepology.org\u002Fbadge\u002Fvertical-allrepos\u002Fweathr.svg)](https:\u002F\u002Frepology.org\u002Fproject\u002Fweathr\u002Fversions)\u003Cbr>\n![Winget](https:\u002F\u002Fimg.shields.io\u002Fwinget\u002Fv\u002FVeirt.weathr)\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:\u002F\u002Fraw.githubusercontent.com\u002FVeirt\u002Fweathr\u002Fmain\u002Finstall.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:\u002F\u002Fgithub.com\u002Fveirt\u002Fweathr.git\ncd weathr\ncargo install --path .\n```\n\n### Docker\n\nRun the published image from GHCR:\n\n```bash\ndocker run --rm -it ghcr.io\u002Fveirt\u002Fweathr:latest\n```\n\nMount your config if you want to use your existing settings:\n\n```bash\ndocker run --rm -it \\\n  -v \"$HOME\u002F.config\u002Fweathr:\u002F.config\u002Fweathr:ro\" \\\n  ghcr.io\u002Fveirt\u002Fweathr:latest\n```\n\nBuild the image locally:\n\n```bash\ndocker build -t weathr .\n```\n\nRun it interactively so the TUI can access your terminal:\n\n```bash\ndocker run --rm -it weathr\n```\n\nMount your config if you want to use your existing settings:\n\n```bash\ndocker run --rm -it \\\n  -v \"$HOME\u002F.config\u002Fweathr:\u002F.config\u002Fweathr:ro\" \\\n  weathr\n```\n\n### Homebrew (macOS)\n\n```bash\nbrew install Veirt\u002Fveirt\u002Fweathr\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\u002Fweathr\";\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**: `~\u002F.config\u002Fweathr\u002Fconfig.toml` (or `$XDG_CONFIG_HOME\u002Fweathr\u002Fconfig.toml`)\n- **macOS**: `~\u002FLibrary\u002FApplication Support\u002Fweathr\u002Fconfig.toml`\n- **Windows**: `~\u002FAppData\u002FRoaming\u002Fweathr\u002Fconfig.toml`\n\n### Setup\n\n```bash\n# Linux\nmkdir -p ~\u002F.config\u002Fweathr\n\n# macOS\nmkdir -p ~\u002FLibrary\u002FApplication\\ Support\u002Fweathr\n\n# Windows (PowerShell)\nNew-Item -Path $env:APPDATA\u002Fweathr -Type Directory\n\n# Windows (Command Prompt)\nmkdir %APPDATA%\u002Fweathr\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\u002FOpenStreetMap). 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\u002Fh, 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:\u002F\u002Fopen-meteo.com\u002F) under the [CC BY 4.0 license](https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F).\n\n### Geocoding\n\nCity name resolution powered by [Nominatim](https:\u002F\u002Fnominatim.openstreetmap.org\u002F) (OpenStreetMap).\nData © [OpenStreetMap contributors](https:\u002F\u002Fwww.openstreetmap.org\u002Fcopyright), licensed under [ODbL](https:\u002F\u002Fopendatacommons.org\u002Flicenses\u002Fodbl\u002F).\n\n### ASCII Art\n\n- **Source**: https:\u002F\u002Fwww.asciiart.eu\u002F\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","weathr 是一个基于终端的天气应用程序，它使用ASCII动画来展示实时天气情况。该项目利用Rust语言开发，通过Open-Meteo提供的数据支持动态显示降雨、降雪、雷暴、飞行飞机等动画效果，并具备日夜循环和自动定位功能。适用于需要在命令行界面下查看生动天气信息的场景，如开发者日常使用或服务器环境下的天气查询。",2,"2026-06-11 03:50:18","high_star"]