{"id":47804095,"url":"https://github.com/vg-dev1/weathery","last_synced_at":"2026-04-11T14:01:47.291Z","repository":{"id":345064031,"uuid":"1184271450","full_name":"VG-dev1/weathery","owner":"VG-dev1","description":"A terminal weather app with animated cityscapes","archived":false,"fork":false,"pushed_at":"2026-04-11T12:33:05.000Z","size":11529,"stargazers_count":24,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-11T13:08:46.859Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/VG-dev1.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-03-17T12:30:29.000Z","updated_at":"2026-04-11T12:30:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"5da06348-53f9-4211-ac30-941e97ad50e8","html_url":"https://github.com/VG-dev1/weathery","commit_stats":null,"previous_names":["vg-dev1/weathery"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/VG-dev1/weathery","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VG-dev1%2Fweathery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VG-dev1%2Fweathery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VG-dev1%2Fweathery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VG-dev1%2Fweathery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VG-dev1","download_url":"https://codeload.github.com/VG-dev1/weathery/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VG-dev1%2Fweathery/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31682953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2026-04-03T17:23:55.559Z","updated_at":"2026-04-11T14:01:47.286Z","avatar_url":"https://github.com/VG-dev1.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# weathery\n\n[![Crates.io](https://img.shields.io/crates/v/weathery.svg)](https://crates.io/crates/weathery)\n[![Downloads](https://img.shields.io/crates/d/weathery.svg)](https://crates.io/crates/weathery)\n[![License](https://img.shields.io/crates/l/weathery.svg)](https://github.com/VG-dev1/weathery/blob/main/LICENSE)\n\nweathery is a terminal weather app with dynamically animated ANSI cityscapes.\n\nIt fetches a cityscape from Wikipedia, renders it in ANSI art, fetches the weather from Open Meteo, and adds animations according to the weather and the intensity of the weather.\n\n## Demo\n\n### Copenhagen (heavy rain)\n\n![Copenhagen heavy rain demo](assets/copenhagen-heavy-rain.gif)\n\n## Installation\n\n### Via Cargo\n\n```bash\ncargo install weathery\n```\n\n### Build from Source\n\nYou need Rust installed.\n\n```bash\ngit clone https://github.com/VG-dev1/weathery.git\ncd weathery\ncargo install --path .\n```\n\n## The animations\n\n- Different animation appearance depending on the weather condition\n    - Rain: blue ANSI blocks that fall down\n    - Snow: white ANSI blocks that fall down\n    - Thunderstorm: same blue rain blocks as regular rain but much faster and denser, combined with periodic lightning flashes\n    - Clear: static image with no particles or effects\n- Different speed of droplets depending on the intensity of the weather\n    - Light intensity: slower spawn rate and slower particle movement\n    - Moderate intensity: medium spawn rate and speed\n    - Heavy intensity: rapid spawning and fast particles\n- In case of foggy weather, the image is grayscale; otherwise it's colorful (this can be overriden with `--grayscale` and `--colorful` flags)\n- Frame timing stays consistent across all weather types by measuring elapsed time and sleeping just enough to hit the target frame rate, ensuring smooth animation regardless of terminal speed\n\n## CLI Options\n\n### Simulate weather conditions\n\n```bash\n# Heavy rain\nweathery \"Copenhagen\" --simulate 65\n\n# Clear\nweathery \"Copenhagen\" --simulate 0\n```\n\nWeather codes:\n\n```rust\n0 =\u003e \"☀️ Clear sky\",\n1 =\u003e \"🌤 Mainly clear\",\n2 =\u003e \"⛅ Partly cloudy\",\n3 =\u003e \"☁️ Overcast\",\n45 =\u003e \"🌫 Foggy\",\n48 =\u003e \"🌫 Depositing rime fog\",\n51 =\u003e \"🌧 Light drizzle\",\n53 =\u003e \"🌧 Moderate drizzle\",\n55 =\u003e \"🌧 Dense drizzle\",\n61 =\u003e \"🌧 Slight rain\",\n63 =\u003e \"🌧 Moderate rain\",\n65 =\u003e \"🌧 Heavy rain\",\n71 =\u003e \"❄️ Slight snow\",\n73 =\u003e \"❄️ Moderate snow\",\n75 =\u003e \"❄️ Heavy snow\",\n77 =\u003e \"❄️ Snow grains\",\n80 =\u003e \"🌧 Slight rain showers\",\n81 =\u003e \"🌧 Moderate rain showers\",\n82 =\u003e \"🌧 Violent rain showers\",\n85 =\u003e \"❄️ Slight snow showers\",\n86 =\u003e \"❄️ Heavy snow showers\",\n95 =\u003e \"⛈ Thunderstorm (slight/moderate)\",\n96 =\u003e \"⛈ Thunderstorm with slight hail\",\n99 =\u003e \"⛈ Thunderstorm with heavy hail\",\n```\n\n### Force colorful/grayscale image\n\n```bash\n# Colorful\nweathery \"Copenhagen\" --colorful\n\n# Grayscale\nweathery \"Copenhagen\" --grayscale\n```\n\n### Use imperial units\n\n```bash\nweathery \"Copenhagen\" --imperial\n```\n\n## Keyboard controls\n\n- `q` - Quit\n- `u` - Toggle units\n\n## Roadmap\n\n- [ ] More key bindings\n- [x] Imperial unit\n- [ ] Auto-detect user's location\n- [ ] More animation settings\n- [ ] Installation via other package managers\n\nMore coming soon!\n\n## License\n\nGPL-3.0-or-later\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvg-dev1%2Fweathery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvg-dev1%2Fweathery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvg-dev1%2Fweathery/lists"}