{"id":26296141,"url":"https://github.com/rohancyberops/rustweatherapp","last_synced_at":"2025-03-15T04:17:06.290Z","repository":{"id":261948718,"uuid":"885800352","full_name":"RohanCyberOps/RustWeatherApp","owner":"RohanCyberOps","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-09T12:53:35.000Z","size":73,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T19:51:30.542Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RohanCyberOps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Chrohangurjar1"}},"created_at":"2024-11-09T12:37:05.000Z","updated_at":"2024-11-09T14:25:42.000Z","dependencies_parsed_at":"2024-11-09T13:48:04.276Z","dependency_job_id":null,"html_url":"https://github.com/RohanCyberOps/RustWeatherApp","commit_stats":null,"previous_names":["chrohangurjar1/rustweatherapp","chrohangurjar/rustweatherapp","rohancyberops/rustweatherapp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RohanCyberOps%2FRustWeatherApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RohanCyberOps%2FRustWeatherApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RohanCyberOps%2FRustWeatherApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RohanCyberOps%2FRustWeatherApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RohanCyberOps","download_url":"https://codeload.github.com/RohanCyberOps/RustWeatherApp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243681043,"owners_count":20330155,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2025-03-15T04:17:05.707Z","updated_at":"2025-03-15T04:17:06.280Z","avatar_url":"https://github.com/RohanCyberOps.png","language":"Rust","funding_links":["https://github.com/sponsors/Chrohangurjar1"],"categories":[],"sub_categories":[],"readme":"\n# 🚀  Rust Weather App\n\n[![][ci_shield]](https://github.com/chrohangurjar1/RustWeatherApp/actions/workflows/ci.yml?query=branch%3Amain)\n[![][last_commit_shield]](https://github.com/chrohangurjar1/RustWeatherApp/commits/main)\n[![][crates_io_shield]](https://crates.io/crates/RustWeatherApp)\n\n\u003cdiv align=\"center\"\u003e\n\n[![][preview]][preview]\n\n\u003c/div\u003e\n\n`RustWeatherApp` lives in your terminal and her passion is meteorology.\n\nIf you spend time in the TUI, you'll have a little companion nearby who knows about the weather.\n\n## Contents\n\n- [How to use?](https://github.com/chrohangurjar1/RustWeatherApp#how-to-use)\n- [Showcase](https://github.com/chrohangurjar1/RustWeatherApp#showcase)\n- [Config](https://github.com/chrohangurjar1/RustWeatherApp#config)\n- [Installation](https://github.com/chrohangurjar1/RustWeatherApp#installation)\n- [Outlook](https://github.com/chrohangurjar1/RustWeatherApp#outlook)\n- [Credits](https://github.com/chrohangurjar1/RustWeatherApp#credits)\n\n## How to use?\n\n**Just call**\n\n```\nRustWeatherApp\n```\n\nWithout having added an address or options, RustWeatherApp uses the [config](https://github.com/chrohangurjar1/RustWeatherApp#config) saved as default.\u003cbr\u003e\nIf you haven't configured anything as default yet, RustWeatherApp can try to search for a weather station near you and save the searched location as default.\n\n**It's always possible to specify an address.** E.g.,\n\n```\nRustWeatherApp melbourne\n```\n\nDepending on the place you are looking for, you might need to be more specific.\nFor example, the above call will get Melbourne in Australia. If you are aiming for Melbourne in the US, ask for `melbourne,florida`.\nIf the address contains spaces, separate them with a hyphen or enclose them in quotation marks (e.g., `new-york` or `\"new york\"`).\n\nTo search explicitly for a weather station in the vicinity, call\n\n```\nRustWeatherApp auto\n```\n\nAs a final example, we instruct RustWeatherApp to use Fahrenheit and mph as units and add the hourly forecast for the day\n\n```\nRustWeatherApp -u f,mph -f d\n```\n\n### Find further usage parameters in the help information\n\n```\n\u003e RustWeatherApp -h\n\nUsage: RustWeatherApp [OPTIONS] [ADDRESS]\n\nArguments:\n  [ADDRESS]\n          Address to check the weather\n\nOptions:\n  -f, --forecast \u003cFORECAST,...\u003e\n          [e.g.: -f w,d] [possible values: disable, (w)eek, to(d)ay, (t)omorrow, mo, tu, we, th, fr, sa, su]\n  -F, --historical-weather \u003c%Y-%m-%d,...\u003e\n          [e.g.: -F 2021-12-31]\n  -u, --units \u003cUNIT,...\u003e\n          [e.g.: -u f,12h,in] [possible values: (c)elsius, (f)ahrenheit, kmh, mph, (kn)ots, ms, 12h, 24h, %, mm, (in)ch]\n  -l, --language \u003cLANGUAGE\u003e\n          Output language [e.g.: en_US]\n  -s, --save\n          Save the supplied values as default\n  -r, --reset\n          Wipe RustWeatherApp's configuration data\n  -h, --help\n          Print help\n  -V, --version\n          Print version\n```\n\n## Showcase\n\n|                                         |                                         |\n| :-------------------------------------: | :-------------------------------------: |\n|              **First Run**              |           **Hourly Forecast**           |\n|       [![][first_run]][first_run]       | [![][hourly_forecast]][hourly_forecast] |\n|            **Week Forecast**            |          **\\*Terminal Colors**          |\n| [![][weekly_forecast]][weekly_forecast] | [![][terminal_colors]][terminal_colors] |\n|                                         |                                         |\n\n\u003csup\u003e\\*Rendering and colors are influenced by the terminal used and its theme and font.\u003cbr\u003e\nE.g., the first of the above screenshots show RustWeatherApp in nvim(toggleterm) using kitty as terminal with a Dracula theme and JetBrainsMono Nerd font. The last screenshot shows RustWeatherApp in Yakuake/Konsole, also with a Dracula color scheme.\u003c/sup\u003e\n\n## Config\n\nThe address, units and default forecast can be saved as default values in RustWeatherApp's config file by adding the `-s` flag to a run. This will save the config in `RustWeatherApp.ron`.\n\n**Platform locations:**\u003cbr\u003e\nLin: `~/.config/weathercrab/`\u003cbr\u003e\nMac: `~/Library/Application Support/weathercrab/`\u003cbr\u003e\nWin: `%USERPROFILE%\\AppData\\Roaming\\weathercrab\\`\n\n**Default values**\n\n```rust\n(\n    address: \"\", // Address to check the weather, e.g.: \"Berlin,DE\"\n    language: \"en_US\", // Language code of the output language\n    forecast: [], // Forecast to display without adding the `-f` option: `[day]` | `[week]` | `[day, week]`\n    units: (\n        temperature: celsius, // Temperature units: `celsius` | `fahrenheit`\n        speed: kmh, // (Wind)speed units: `kmh` | `mph` | `knots` | `ms`\n        time: military, // Time Format: `military` | `am_pm`\n        precipitation: probability, // Precipitation units: `probability` | `mm` | `inch`\n    ),\n    gui: (\n        border: rounded, // Border style: `rounded` | `single` | `solid` | `double`\n        color: default, // Color: `default` | `plain`\n        graph: (\n            // Graph style: lines(solid) | lines(slim) | lines(dotted) | dotted | custom((char; 8))\n            // `custom` takes exactly 8 chars. E.g. using a set of 4 chars: `custom(('⡀','⡀','⠄','⠄','⠂','⠂','⠁','⠁'))`,\n            style: lines(solid),\n            rowspan: double, // Graph height: `double` | `single`\n            time_indicator: true, // Indication of the current time in the graph: `true` | `false`\n        ),\n        greeting: true, // Display greeting message: `true` | `false`\n    ),\n)\n```\n\n## Installation\n\nUse rusts package manager to install RustWeatherApp.\n\n**From crates.io**\n\n|             |                       |\n| ----------- | --------------------- |\n| **Version** | **Command**           |\n| release     | `cargo install RustWeatherApp` |\n|             |                       |\n| development | _not available_       |\n|             |                       |\n\n**From git source**\n\n|             |                                                                                   |\n| ----------- | --------------------------------------------------------------------------------- |\n| **Version** | **Command**                                                                       |\n| release     | `cargo install --git https://github.com/chrohangurjar1/RustWeatherApp --tag v1.1.1` |\n|             |                                                                                   |\n| development | `cargo install --git https://github.com/chrohangurjar1/RustWeatherApp`              |\n|             |                                                                                   |\n\n**Requirements and alternative, platform-specific installation instructions can be found in [`INSTALL.md`](https://github.com/chrohangurjar1/RustWeatherApp/blob/main/INSTALL.md).**\n\n\u003e **Important**\n\u003e To display symbols correctly, the used terminal must be configured to use a NerdFont.\n\n## Outlook\n\nThe [issues](https://github.com/chrohangurjar1/RustWeatherApp/issues) section lists some of the features that are being worked on.\n\nContributions like 🐛bug reports, ⭐️stars and 💡suggestions are welcome alike!\n\nA simple changelog can be found on the [releases page](https://github.com/chrohangurjar1/RustWeatherApp/releases).\n\n## Contributors\n\n\u003ca href=\"https://github.com/chrohangurjar1/RustWeatherApp/graphs/contributors\"\u003e\n  \u003cimg height='48' src=\"https://contrib.rocks/image?repo=chrohangurjar1/RustWeatherApp\u0026columns=24\" /\u003e\n\u003c/a\u003e\n\n## Credits\n\n- The app uses the open-source weather API for non-commercial use provided by [Open Meteo](https://open-meteo.com/en)\n\n\u003cbr\u003e\n\n\u003c!-- Images --\u003e\n\n[preview]: https://github.com/chrohangurjar1/RustWeatherApp/assets/34311583/58780205-816b-4cfd-95f8-9453e754eb94\n[crates_io_shield]: https://img.shields.io/crates/v/RustWeatherApp.svg\n[last_commit_shield]: https://img.shields.io/github/last-commit/chrohangurjar1/RustWeatherApp/main.svg\n[ci_shield]: https://img.shields.io/github/workflow\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohancyberops%2Frustweatherapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frohancyberops%2Frustweatherapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohancyberops%2Frustweatherapp/lists"}