Skip to content

SwagD15/WethroCLI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🌤️ Wethro

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.

📚 Table of Contents


Demos: CLI Demo and like this: CLI Demo


✨ Features

  • 🌡 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


📦 Installation (Local Development)

Clone the repository:

git clone https://github.com/SwagD15/WethroCLI.git
cd wethro

Create and activate a virtual environment:

python -m venv venv
source venv/bin/activate      # macOS/Linux
venv\Scripts\activate         # Windows

Install in editable mode:

pip install -e .

Now you can run:

wethro --city london --country uk 

🚀 Usage

Basic Usage

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

🛠️ Built With

  • 🐍 Python 3.10+

  • ⚡ Typer (CLI framework)

  • 🎨 Rich (terminal formatting)

  • 📡 Requests (HTTP client)

  • 🌍 Open-Meteo API (weather data)

  • 🧭 Open-Meteo Geocoding API


🧠 How It Works

  1. Converts city + country into latitude/longitude via Open-Meteo Geocoding API.

  2. Fetches:

    • Current weather

    • Daily temperature forecast

  3. Maps weather codes to emojis.

  4. Displays formatted output using Rich panels and tables.


📌 Requirements

  • Python 3.10 or higher

  • Internet connection (to fetch weather data)


📄 License

This project is licensed under the GPLv3 License.


🙌 Why I Built This

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.


👨‍💻 Author

SwagD15
GitHub: https://github.com/SwagD15


⭐ If You Like It

Consider giving the repository a star!

About

lightweight Python CLI for real-time weather and weekly forecasts in the terminal using Open-Meteo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages