ProductPromotion
Logo

Rust

made by https://0x3d.site

GitHub - ttytm/wthrr-the-weathercrab: 🌞 🦀 🌙 Weather companion for the terminal. Rust app.
🌞 🦀 🌙 Weather companion for the terminal. Rust app.  - GitHub - ttytm/wthrr-the-weathercrab: 🌞 🦀 🌙 Weather companion for the terminal. Rust app.
Visit Site

GitHub - ttytm/wthrr-the-weathercrab: 🌞 🦀 🌙 Weather companion for the terminal. Rust app.

GitHub - ttytm/wthrr-the-weathercrab: 🌞 🦀 🌙 Weather companion for the terminal. Rust app.

🦀 wthrr-the-weathercrab

wthrr lives in your terminal and her passion is meteorology.

If you spend time in the TUI, you'll have a little companion nearby who knows about the weather.

Contents

How to use?

Just call

wthrr

Without having added an address or options, wthrr uses the config saved as default. If you haven't configured anything as default yet, wthrr can try to search for a weather station near you and save the searched location as default.

It's always possible to specify an address. E.g.,

wthrr melbourne

Depending on the place you are looking for, you might need to be more specific. For example, the above call will get Melbourne in Australia. If you are aiming for Melbourne in the US, ask for melbourne,florida. If the address contains spaces, separate them with a hyphen or enclose them in quotation marks (e.g., new-york or "new york").

To search explicitly for a weather station in the vicinity, call

wthrr auto

As a final example, we instruct wthrr to use Fahrenheit and mph as units and add the hourly forecast for the day

wthrr -u f,mph -f d

Find further usage parameters in the help information

> wthrr -h

Usage: wthrr [OPTIONS] [ADDRESS]

Arguments:
  [ADDRESS]
          Address to check the weather

Options:
  -f, --forecast <FORECAST,...>
          [e.g.: -f w,d] [possible values: disable, (w)eek, to(d)ay, (t)omorrow, mo, tu, we, th, fr, sa, su]
  -F, --historical-weather <%Y-%m-%d,...>
          [e.g.: -F 2021-12-31]
  -u, --units <UNIT,...>
          [e.g.: -u f,12h,in] [possible values: (c)elsius, (f)ahrenheit, kmh, mph, (kn)ots, ms, 12h, 24h, %, mm, (in)ch]
  -l, --language <LANGUAGE>
          Output language [e.g.: en_US]
  -s, --save
          Save the supplied values as default
  -r, --reset
          Wipe wthrr's configuration data
  -h, --help
          Print help
  -V, --version
          Print version

Showcase

First Run Hourly Forecast
Week Forecast *Terminal Colors

*Rendering and colors are influenced by the terminal used and its theme and font. E.g., the first of the above screenshots show wthrr in nvim(toggleterm) using kitty as terminal with a Dracula theme and JetBrainsMono Nerd font. The last screenshot shows wthrr in Yakuake/Konsole, also with a Dracula color scheme.

Config

The address, units and default forecast can be saved as default values in wthrr's config file by adding the -s flag to a run. This will save the config in wthrr.ron.

Platform locations: Lin: ~/.config/weathercrab/ Mac: ~/Library/Application Support/weathercrab/ Win: %USERPROFILE%\AppData\Roaming\weathercrab\

Default values

(
    address: "", // Address to check the weather, e.g.: "Berlin,DE"
    language: "en_US", // Language code of the output language
    forecast: [], // Forecast to display without adding the `-f` option: `[day]` | `[week]` | `[day, week]`
    units: (
        temperature: celsius, // Temperature units: `celsius` | `fahrenheit`
        speed: kmh, // (Wind)speed units: `kmh` | `mph` | `knots` | `ms`
        time: military, // Time Format: `military` | `am_pm`
        precipitation: probability, // Precipitation units: `probability` | `mm` | `inch`
    ),
    gui: (
        border: rounded, // Border style: `rounded` | `single` | `solid` | `double`
        color: default, // Color: `default` | `plain`
        graph: (
            // Graph style: lines(solid) | lines(slim) | lines(dotted) | dotted | custom((char; 8))
            // `custom` takes exactly 8 chars. E.g. using a set of 4 chars: `custom(('⡀','⡀','⠄','⠄','⠂','⠂','⠁','⠁'))`,
            style: lines(solid),
            rowspan: double, // Graph height: `double` | `single`
            time_indicator: true, // Indication of the current time in the graph: `true` | `false`
        ),
        greeting: true, // Display greeting message: `true` | `false`
    ),
)

Installation

Use rusts package manger to install wthrr.

From crates.io

Version Command
release cargo install wthrr
development not available

From git source

Version Command
release cargo install --git https://github.com/ttytm/wthrr-the-weathercrab --tag v1.1.1
development cargo install --git https://github.com/ttytm/wthrr-the-weathercrab

Requirements and alternative, platform-specific installation instructions can be found in INSTALL.md.

Important To display symbols correctly, the used terminal must be configured to use a NerdFont.

Outlook

The issues section lists some of the features that are being worked on.

Contributions like 🐛bug reports, ⭐️stars and 💡suggestions are welcome alike!

A simple changelog can be found on the releases page.

Contributors

Credits

  • The app uses the open-source weather API for non-commercial use provided by Open Meteo

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory