Skip to main content

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.

CI Status PyPI License Code style: Ruff

Coverage shrug Build success (usually, ask ChatGPT) Type checked LOL PRs welcome (but judged) Maintainer sleep deprived Made with love and Python Runs on UV Async all the things Emoji support Works on my machine Built with anger and coffee Weather probably fine Terminal approved

Features

  • Zero-config: just type weather-tty and 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 --forecast for a 5-day table.
  • --city geocoding (Open-Meteo) or --lat/--lon.
  • Units: metric (default) or imperial.
  • --no-emoji for boring terminals.
  • --verbose pretty 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-environment error. Use pipx instead, 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

weather_tty-0.2.1.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weather_tty-0.2.1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

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

Hashes for weather_tty-0.2.1.tar.gz
Algorithm Hash digest
SHA256 aed1a93843f5d8315e04a491ad1c96641adac561c67dbe4e6626af474d9c5285
MD5 69033da37f6a59fb7e35f61c4ca074d6
BLAKE2b-256 57fe799bff191a2bb8eb4668f3ecfb592a03de34bb980f0de9da6c693d73a63c

See more details on using hashes here.

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

Hashes for weather_tty-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e1ed7df4a44db68dd06dac87eca4e58d11f4e20263373a45a08721a1738a016
MD5 31747a5362a033127626ea35c4ffc75d
BLAKE2b-256 0da4ec012db55b4426d3cd7d6ea7c0e9e7832833744a4d184cae8e0bd9eff7ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page