A beautiful, terminal-native weather CLI built with modern Python tooling and powered by Open-Meteo.
Wethro is a modern Python weather CLI tool that delivers real-time weather data and weekly forecasts directly in your terminal. Powered by the Open-Meteo API and built with Typer and Rich, it combines API integration, clean project architecture, and rich command-line UI design in one lightweight application.
- ✨ Features
- 📦 Installation (Local Development)
- 🚀 Usage
- 🛠️ Built With
- 🧠 How It Works
- 📌 Requirements
- 📄 License
- 🙌 Why I Built This
- 👨💻 Author
-
🌡 Current temperature display
-
💨 Wind speed and direction (with arrow indicators)
-
🌤 Weather condition with emoji mapping
-
🌅 Day/Night detection
-
📅 7-day temperature forecast table
-
🎨 Beautiful terminal UI using Rich
-
🌍 Geocoding support via city & country
-
⚡ Fast and lightweight
Clone the repository:
git clone https://github.com/SwagD15/WethroCLI.git
cd wethroCreate and activate a virtual environment:
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # WindowsInstall in editable mode:
pip install -e .Now you can run:
wethro --city london --country uk wethro --city [CityName] --country [CountryName] Tip
You can also provide the full name of a country, such as UnitedKingdom or Japan etc. , in the --country flag in the terminal.
You’ll be prompted to select:
-
Metric (°C, km/h)
-
Imperial (°F, mph)
wethro --help # also available-
🐍 Python 3.10+
-
⚡ Typer (CLI framework)
-
🎨 Rich (terminal formatting)
-
📡 Requests (HTTP client)
-
🌍 Open-Meteo API (weather data)
-
🧭 Open-Meteo Geocoding API
-
Converts city + country into latitude/longitude via Open-Meteo Geocoding API.
-
Fetches:
-
Current weather
-
Daily temperature forecast
-
-
Maps weather codes to emojis.
-
Displays formatted output using Rich panels and tables.
-
Python 3.10 or higher
-
Internet connection (to fetch weather data)
This project is licensed under the GPLv3 License.
This project was built to:
-
Practice CLI application development
-
Learn modern Python packaging (
pyproject.toml) -
Work with third-party APIs
-
Improve terminal UI design
-
It reflects practical backend engineering skills applied in a user-facing CLI tool.
SwagD15
GitHub: https://github.com/SwagD15
Consider giving the repository a star!

