How to Check the Weather from the Terminal with AnsiWeather

Check Forecast With Ansiweather Featured

AnsiWeather is a shell script designed to instantly display the current weather condition in the terminal in ANSI format. It’s better than alternatives in that it’s ultra-fast and needs no resources since it doesn’t run continuously and presents the desired forecast instantly. It’s straightforward to use but also offers some options that allow you to customize how it shows the weather forecast.

You can find better-looking solutions, but they’d be more demanding in resources or more complicated in their use. If all you want is an instant, simple way to check the weather, AnsiWeather will be right up your alley. Let’s see how you can use it.

Installation

Although AnsiWeather is available in Ubuntu’s default software collection, you won’t find it in the visually-friendly Software Center. To install it, you’ll have to open the terminal and type:

sudo apt install ansiweather
Check Forecast With Ansiweather Install

For other distros, you can simply clone the repository:

git clone https://github.com/fcambus/ansiweather.git

and run:

cd ansiweather
./ansiweather

AnsiWeather is a tiny app, so its installation won’t take more than a few seconds.

Basic Usage

Theoretically, the only thing you need to do to see details about the current weather in your location is to run AnsiWeather in your favorite terminal. After its installation, with your terminal on screen, type:

ansiweather
Check Forecast With Ansiweather Plain

As you can see in the screenshot, AnsiWeather presented me with information about the weather in Rzeszow. Apart from the expected temperature, it also showed the speed of the wind and the levels of humidity and pressure. There was only one tiny problem: I don’t live in Rzeszow. Far from it – literally!

Your Weather

To have AnsiWeather display the weather for your actual location without guessing, you have to input it manually. For this, you’ll have to use the -l switch, followed by your city/state and country. Since I live in Athens, Greece, I used the following to get the weather for my location:

ansiweather -l Athens,GR
Check Forecast With Ansiweather Location

Similarly, someone in London would use:

ansiweather -l London,UK

If there’s no doubt about which country you’re referring to, you can skip stating it altogether and run AnsiWeather as:

ansiweather -l Taiwan

More Switches

Other than including a specific location (with the -l switch), you can also define the metric system you prefer by using the -u switch with two possible options: to build on our previous command, it would look like either of the following:

ansiweather -l Athens,GR -u metric

or

ansiweather -l Athens,GR -u imperial
Check Forecast With Ansiweather Unit System

Seeing the weather forecast was mentioned, but up until now, we only saw current weather conditions. To get an actual forecast, you’ll have to use the -f switch, followed by a number of days. For example:

ansiweather -l Paris,FR -u metric -f 3
Check Forecast With Ansiweather Forecast Days

The above command shows a three-day weather forecast for Paris, France, using the metric system. Alternatively, you can use a capital -F as the switch, that shows the forecast for the next five days:

ansiweather -l Paris,FR -u metric -F
Check Forecast With Ansiweather Forecast Hardcoded

Although far from a specialized, graphics-rich weather widget or weather application, AnsiWeather can look somewhat better if you enable its support for symbols. For that, you’ll have to set the -s switch to true as follows:

ansiweather -l London,UK -u metric -F -s true
Check Forecast With Ansiweather Symbols

If you’d like, AnsiWeather can tell you the exact time of sunrise and sunset in your location. For that, set the -d switch to true:

ansiweather -l London,UK -u metric -s true -d true
Check Forecast With Ansiweather Daytime

Notice, though, that it seems it’s hardcoded not to exceed a specific length of information, so you can’t, for example, ask for the daytime and a five-day forecast at the same time.

Finally, some other switches worth noting are -a that allows you to toggle ANSI color support, -w to ask for wind data, -h for humidity, and -p for pressure data. All of them demand a “true” or “false,” as we saw for previous options, to set them ON or OFF.

And since it works entirely in the terminal, you can use AnsiWeather as the base for building your own smart scripts. With those, you could, for example, check the forecast for the next day and send an email to yourself if you will need to take your umbrella with you. That’s something maybe we will discuss in another article.

Are you using a different app or solution to check the weather or something like WTTR that combines the terminal with a web-based service? And if yes, which one?

Odysseas Kourafalos
Odysseas Kourafalos

OK's real life started at around 10, when he got his first computer - a Commodore 128. Since then, he's been melting keycaps by typing 24/7, trying to spread The Word Of Tech to anyone interested enough to listen. Or, rather, read.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox