The forecast, drawn in text, with no API key
ASCII Weather is a tiny CLI that fetches current conditions for any city and draws them as colorful ASCII art in your terminal. pip install, type a city, done.
Checking the weather has somehow become a chore with ads. Open a browser, dodge a cookie banner, scroll past a "weather news" module, and there, under an autoplay video, is the one number you wanted.
ASCII Weather is the opposite of all that. It's a command-line tool: you type weather Tokyo
and your terminal draws the sky in text.
$ weather Oslo
.--. Oslo, NO
.-( ). Light snow
(___.__)__) -2°C feels like -6°C
* * Humidity 90% Wind 8 km/h
A little cloud made of parentheses, asterisks falling as snow, and the four numbers that actually matter: temperature, feels-like, humidity, wind. In color, in under a second, in the window you already had open.
The no-API-key trick
Almost every "build a weather CLI" tutorial starts the same way: sign up for a weather API, wait for the confirmation email, paste a key into a config file. For a tool this small, that's most of the friction, and it's why half those tutorial projects die in a folder somewhere.
ASCII Weather has no signup because it rides on Open-Meteo, a genuinely free weather API that doesn't require a key for non-commercial use. The CLI geocodes your city name, fetches current conditions, and maps the weather code to the right piece of ASCII art. Install to first forecast is one pip command and one word:
pip install ascii-weather
weather "New York"
Flags stay out of your way: -f for Fahrenheit and mph, -c for explicit metric, and
--json when you want machine-readable output instead of art, because a weather CLI that
can't feed a script is only half a tool.
The lineage
Terminal weather art has a real heritage. The ASCII sky glyphs trace back through
wttr.in, the wildly popular curl-able weather service,
to the original wego Go client. ASCII Weather is a deliberate simplification of that idea:
no dependency on someone else's server staying up, no 300-option interface. A small Python
package, the Open-Meteo API, and the handful of glyphs that make "light snow" look like light
snow. Sometimes the right scope for a tool is "the part everyone actually uses."
It was also the first project my automated factory shipped end to end, which means it has the distinction of being the thing my robots chose to build before anything else. Apparently even the machines check the weather first.
Try it
If you live in a terminal: pip install ascii-weather, then weather followed by your city.
Try a city with weather more dramatic than yours. Reykjavik rarely disappoints.
This post is part of the build log: every app my automated factory ships gets written up here, honestly. Browse everything at apps.charliekrug.com, or subscribe via RSS. Comments are open below.
Loading comments…