/weather

Weather is a modern terminal application for reading weather forecasts by harvesting the OpenWeather API and features rich configuration options.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Weather Terminal Application

Weather is a small but slick Python application for reading weather forecasts from the comfort of your terminal by harvesting the OpenWeather API and features rich configuration options.

Preview

Click on this image to watch a live demo on YouTube.

Setup

Follow along the setup guide below to install and configure this terminal application. Using an virtual environment is optional, but recommended. See also requirements/*.txt to examine the dependency graph.

Installation

pipx is the recommended way to install Python applications in an isolated environment:

pipx install git+https://github.com/hentai-chan/weather.git

Fire up a debug build in ./venv:

git clone https://github.com/hentai-chan/weather.git
cd weather/
python -m venv venv/
source venv/bin/activate
pip install -e .

Configuration

Register a new account on https://openweathermap.org/ to get your API token.

Customize Application Settings

Mandatory: Enter token:

weather config --token <token>

Optional: Set your default unit system (either si or imperial):

weather config --unit-system <system>

Optional: Set your default location as toponym (e.g. Rome or New York, USA):

weather config --location <toponym>

Optional: Review your submissions:

weather config --list

Optional: Discard all settings:

weather config --reset

Basic Usage

Command Line Usage

Get today's verbose weather forecast using default settings:

weather --verbose report

Get today's weather forecast for New York, USA in imperial units:

weather report --location="New York, USA" --unit-system=imperial

Store today's weather report.

weather report --save

Get tomorrow's weather forecast for 12PM:

weather report --mode tomorrow --hour 12

View the help page for this command:

weather report --help

Report an Issue

Did something went wrong? Copy and paste the information from

weather log --list

to file a new bug report.