Skip to main content

A visually pleasing terminal weather tool focusing on Real Feel and Windchill.

Project description

Isobar CLI

CI Coverage Version Ruff Python License

A terminal weather tool designed to give you a fast, clean sense of what the weather feels like outside; right now and for the week ahead. Built with Python and Rich.

Philosophy

Isobar CLI answers a simple question: "What does it feel like outside right now, and how do I prepare to be outside?"

Most weather apps overwhelm you with data. Isobar strips away everything except what matters when you're deciding whether to grab a jacket.

Design Principles

  • Essential over comprehensive — Show Real Feel, not 47 data points
  • Terminal-native — Built for quick checks in your workflow
  • Zero friction — No API keys, no config files
  • Information density — Clean, borderless UI
  • Intentional features — Each must answer: "Does this help understand what it feels like outside?"

✨ Features

  • Auto-Locationisobar detects your city automatically 🌍
  • Weather Condition Icons — WMO-standard emoji + plain-English description (☀️ Clear sky, 🌨️ Moderate snow, ⛈️ Thunderstorm)
  • Real Feel — Apparent temperature (what it feels like)
  • Air Quality Index — US AQI with health classifications 😷
  • 7-Day Forecast — Full week outlook with color-coded highs/lows and daily rain %
  • Hourly Outlook — Next 12 hours of temp and rain chance (--hourly)
  • Multiple Cities — Compare weather across several cities at once (side-by-side)
  • Smart Suggestions — Fuzzy city name matching if you make a typo
  • Shell Completion — Tab-complete city names from your search history
  • Dynamic Timezone — Sunrise/sunset always shown in the city's local time, not yours
  • Precipitation Forecast — Next 6h rain/snow chance + totals
  • Smart Caching — 15-min cache per city (~/.cache/isobar/)
  • Color-Coded Temps — Cyan → Blue → Green → Yellow → Red
  • Metric Support--metric or -m for Celsius, km/h, and mm
  • No API Keys — Free Open-Meteo + ip-api.com
  • Zero Config — Works instantly after pip install .

🚀 Installation

git clone https://github.com/KnowOneActual/isobar-cli.git
cd isobar-cli
pip install .

📱 Usage

# Auto-detect your location
isobar

# Specify a city
isobar Chicago
isobar London Tokyo Paris     # Multiple cities
isobar "New York"             # Use quotes for multi-word cities

# Hourly outlook (next 12h)
isobar --hourly
isobar -H

# 7-day forecast
isobar --forecast
isobar -f
isobar "San Francisco" --forecast
isobar -f Sydney

# Metric units (Celsius, km/h, mm)
isobar --metric
isobar -m
isobar Tokyo -m

⌨️ Shell Completion

Isobar supports tab-completion for city names based on your search history. To enable it for your shell:

Zsh:

isobar --install-completion zsh

Bash:

isobar --install-completion bash

(Note: You may need to restart your terminal after installing completion).

🖥️ Example Output

               Chicago, Illinois Weather
 ☀️  Conditions:                        Mainly clear
 🌡️  Temperature:                             37.1°F
 🤔  Real Feel:                               30.4°F
 💨  Wind Speed:                             4.3 mph
 💧  Humidity:                                   58%
 ☔  Precip Chance:  0% (6h) | Dry conditions expected
 🌅  Sunrise:                                6:29 AM
 🌇  Sunset:                                 5:37 PM

           7-Day Forecast — Chicago, Illinois
  Day            Conditions        High     Low   Rain%
  Today      ☁️  Overcast         41.7°F  23.9°F    1%
  Fri Feb 27 ⛅  Partly cloudy    66.4°F  32.4°F    2%
  Sat Feb 28 🌨️  Moderate snow    44.0°F  26.5°F   38%
  Sun Mar 1  ☁️  Overcast         29.0°F  26.6°F   36%
  Mon Mar 2  ☁️  Overcast         33.6°F  27.1°F   36%
  Tue Mar 3  🌦️  Light drizzle    36.8°F  30.9°F   27%
  Wed Mar 4  🌦️  Moderate drizzle 41.3°F  33.5°F   46%

🛠 Tech Stack

Tool Purpose
Typer CLI framework
Rich Terminal UI
Open-Meteo Weather + forecast data (free, no key)
ip-api.com Auto-location detection (free)
timezonefinder Dynamic timezone from coordinates (offline)
pytest Unit testing framework
requests-mock Mocking for API testing
Ruff Linting + formatting
pip-audit Dependency security scanning (CI)

📈 Project Status

Phase 1 Complete — Caching + Auto-Location
Phase 2 Complete — Precipitation, Sunrise/Sunset, Condition Icons
Phase 3 Complete — 7-Day Forecast, Dynamic Timezone, --city flag
CI/CD — Ruff lint + security audit on every push and PR
See ROADMAP.md and CHANGELOG.md

🤝 Contributing

See CONTRIBUTING.md. New features must answer: "Does this help understand what it feels like outside?"

📄 License

MIT. See LICENSE.

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

isobar_cli-1.0.0.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

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

isobar_cli-1.0.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file isobar_cli-1.0.0.tar.gz.

File metadata

  • Download URL: isobar_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for isobar_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 62b28d4f97ae0efced4d18d82e23b636252a9aac74a4a8b2ff8f362c98399f40
MD5 53af861a589b05489877e7c97998f7a2
BLAKE2b-256 151806bf59f59c673bd93d747ab73074353d718d52be6a5d695813bbef8f6d26

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobar_cli-1.0.0.tar.gz:

Publisher: publish.yml on KnowOneActual/isobar-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isobar_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: isobar_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for isobar_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0547a16a96b176bb42688b8af9de571dc5e8a29785b306e9c4453ae3525b96c
MD5 4882e8d17264507a64fdcde7b0110452
BLAKE2b-256 b27ef572ff5d168daf9b41a325b6c04baec652a4ac7b75b8d00a59a9d154e7d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for isobar_cli-1.0.0-py3-none-any.whl:

Publisher: publish.yml on KnowOneActual/isobar-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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