Tiny CLI to print today's weather for your terminal (Open-Meteo, zero API key).
Project description
🌦️ weather-tty
Tiny CLI to print today's weather for your terminal — zero API keys, just vibes.
Features
- Zero-config: just type
weather-ttyand it will guess your city by IP. - Single-line summary:
🌤️ Pamplona, ES: 25°C/12°C · rain 0.0mm · wind 18 km/h · sun 08:10–19:14 - Multi-day forecast:
weather-tty --forecastfor a 5-day table. --citygeocoding (Open-Meteo) or--lat/--lon.- Units:
metric(default) orimperial. --no-emojifor boring terminals.--verbosepretty panel for humans.
Install
Requires Python 3.10+
Recommended (pipx)
The easiest way to install weather-tty as a CLI tool:
brew install pipx # if you don't have pipx
pipx install weather-tty
This installs weather-tty in an isolated environment and makes it available globally.
Alternative (pip)
pip install weather-tty
⚠️ On macOS with Homebrew Python, you may get an
externally-managed-environmenterror. Usepipxinstead, or create a virtual environment.
Usage
# auto-detect city by IP
weather-tty
# by city
weather-tty --city "Pamplona"
# 5-day forecast table
weather-tty --city "Pamplona" --forecast
# coordinates (overrides city)
weather-tty --lat 40.4168 --lon -3.7038
# imperial units
weather-tty --city "New York" --units imperial
# pretty panel
weather-tty --city "Pamplona" --verbose
Pro Tip: Terminal Greeting
Add weather-tty to the end of your .zshrc, .bashrc, or .bash_profile to get a fresh weather report every time you open a new terminal session:
# Add this to ~/.zshrc or ~/.bashrc
weather-tty
Notes
- Data source: Open-Meteo
- No API keys required.
- Prints today (index 0 of daily arrays). If you want multi-day, PRs welcome.
Development
uv sync
uv sync --group dev
uv run ruff check .
uv run ruff check . --fix
uv run pytest
uv run weather-tty --city "Pamplona"
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file weather_tty-0.2.1.tar.gz.
File metadata
- Download URL: weather_tty-0.2.1.tar.gz
- Upload date:
- Size: 22.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aed1a93843f5d8315e04a491ad1c96641adac561c67dbe4e6626af474d9c5285
|
|
| MD5 |
69033da37f6a59fb7e35f61c4ca074d6
|
|
| BLAKE2b-256 |
57fe799bff191a2bb8eb4668f3ecfb592a03de34bb980f0de9da6c693d73a63c
|
File details
Details for the file weather_tty-0.2.1-py3-none-any.whl.
File metadata
- Download URL: weather_tty-0.2.1-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e1ed7df4a44db68dd06dac87eca4e58d11f4e20263373a45a08721a1738a016
|
|
| MD5 |
31747a5362a033127626ea35c4ffc75d
|
|
| BLAKE2b-256 |
0da4ec012db55b4426d3cd7d6ea7c0e9e7832833744a4d184cae8e0bd9eff7ba
|