isobar-cli 1.2.0__tar.gz → 1.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. {isobar_cli-1.2.0/src/isobar_cli.egg-info → isobar_cli-1.3.0}/PKG-INFO +62 -34
  2. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/README.md +60 -32
  3. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/pyproject.toml +2 -2
  4. isobar_cli-1.3.0/src/isobar_cli/__init__.py +1 -0
  5. isobar_cli-1.3.0/src/isobar_cli/ui.py +582 -0
  6. {isobar_cli-1.2.0 → isobar_cli-1.3.0/src/isobar_cli.egg-info}/PKG-INFO +62 -34
  7. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/tests/test_ui.py +9 -6
  8. isobar_cli-1.2.0/src/isobar_cli/__init__.py +0 -1
  9. isobar_cli-1.2.0/src/isobar_cli/ui.py +0 -259
  10. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/LICENSE +0 -0
  11. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/setup.cfg +0 -0
  12. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli/api.py +0 -0
  13. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli/config.py +0 -0
  14. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli/location.py +0 -0
  15. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli/logic.py +0 -0
  16. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli/main.py +0 -0
  17. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli/models.py +0 -0
  18. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli.egg-info/SOURCES.txt +0 -0
  19. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli.egg-info/dependency_links.txt +0 -0
  20. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli.egg-info/entry_points.txt +0 -0
  21. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli.egg-info/requires.txt +0 -0
  22. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/src/isobar_cli.egg-info/top_level.txt +0 -0
  23. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/tests/test_api.py +0 -0
  24. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/tests/test_isobar_extra.py +0 -0
  25. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/tests/test_location.py +0 -0
  26. {isobar_cli-1.2.0 → isobar_cli-1.3.0}/tests/test_main.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: isobar-cli
3
- Version: 1.2.0
4
- Summary: A visually pleasing terminal weather tool focusing on Real Feel and Windchill.
3
+ Version: 1.3.0
4
+ Summary: A terminal weather tool with industrial aesthetic, focusing on Real Feel and Windchill.
5
5
  Author: Beau Bremer / KnowOneActual
6
6
  License-Expression: MIT
7
7
  Project-URL: Homepage, https://github.com/KnowOneActual/isobar-cli
@@ -38,7 +38,7 @@ Dynamic: license-file
38
38
  ![CI](https://github.com/KnowOneActual/isobar-cli/actions/workflows/ci.yml/badge.svg)
39
39
  ![Coverage](https://img.shields.io/badge/coverage-98%25-green)
40
40
  [![PyPI version](https://badge.fury.io/py/isobar-cli.svg)](https://badge.fury.io/py/isobar-cli)
41
- ![Version](https://img.shields.io/badge/version-1.2.0-blue)
41
+ ![Version](https://img.shields.io/badge/version-1.3.0-blue)
42
42
  ![Ruff](https://img.shields.io/badge/linting-ruff-purple)
43
43
  ![Python](https://img.shields.io/badge/python-3.8%2B-blue)
44
44
  ![License](https://img.shields.io/badge/license-MIT-green)
@@ -56,11 +56,13 @@ Most weather apps overwhelm with data. Isobar strips away everything except what
56
56
  - **Essential over comprehensive** — Show Real Feel, not 47 data points.
57
57
  - **Terminal-native** — Built for quick checks within a developer workflow.
58
58
  - **Zero friction** — No API keys or configuration files required.
59
- - **Information density** — Clean, borderless UI for maximum readability.
59
+ - **Information density** — Industrial dashboard UI for maximum readability.
60
60
  - **Intentional features** — Each feature must answer: *"Does this help someone understand what it feels like outside?"*
61
+ - **Distinctive aesthetic** — Retro-futuristic industrial styling that avoids generic "AI slop"
61
62
 
62
63
  ## ✨ Features
63
64
 
65
+ - **Industrial Aesthetic** — Retro-futuristic weather observatory dashboard with brutalist styling 🏭
64
66
  - **Auto-Location** — `isobar` detects the city automatically 🌍
65
67
  - **Weather Condition Icons** — WMO-standard emoji + plain-English description (☀️ Clear sky, 🌨️ Moderate snow, ⛈️ Thunderstorm)
66
68
  - **Real Feel** — Apparent temperature metrics (what it *actually* feels like).
@@ -77,8 +79,12 @@ Most weather apps overwhelm with data. Isobar strips away everything except what
77
79
  - **Metric Support** — `--metric` or `-m` for Celsius, km/h, and mm.
78
80
  - **No API Keys** — Free Open-Meteo and ip-api.com.
79
81
  - **Zero Config** — Works instantly after installation.
82
+ - **Visual Gauges** — Temperature and humidity gauge visualizations 📊
83
+ - **Severity Indicators** — Weather condition severity icons (⚡, ▲, ●, ○, ◇)
84
+ - **Wind Categories** — Descriptive wind speed classifications (CALM, LIGHT, GENTLE, etc.)
85
+ - **Industrial Styling** — Heavy borders, uppercase labels, status columns
80
86
  - **Phase 7: Intuition & Analysis** — Higher-level context and automated insights:
81
- - **Preparation Guidance** — Clothing and gear suggestions based on conditions 🧥☂️🧴
87
+ - **Preparation Guidance** — Clothing and gear suggestions with priority levels 🧥☂️🧴
82
88
  - **Temporal Context** — Comparison with previous day conditions 📈
83
89
  - **UV Index Monitoring** — Sun protection guidance with intensity levels ☀️
84
90
  - **Wind Gust Alerts** — Highlighting of significant gust events 💨⚠️
@@ -205,36 +211,53 @@ isobar --install-completion bash
205
211
 
206
212
  ## 🖥️ Example Output
207
213
 
214
+ ### Industrial Aesthetic (v1.3.0+)
215
+
216
+ ```
217
+ ┌─ WEATHER OBSERVATORY ─┐
218
+ CHICAGO
219
+ ┌─────┬──────────────────────┬────────────────┬────────────────┐
220
+ │ │ METRIC │ READING │ STATUS │
221
+ ├─────┼──────────────────────┼────────────────┼────────────────┤
222
+ │ ☀️ │ CONDITIONS │ MAINLY CLEAR │ ◇ │
223
+ │ 🌡️ │ TEMPERATURE │ 75.2°F │ [███░░░░░░░] │
224
+ │ 🤔 │ REAL FEEL │ 78.5°F │ ▲ 3.3°F │
225
+ │ 💨 │ WIND SPEED │ 12.4 mph │ GENTLE │
226
+ │ 💧 │ HUMIDITY │ 65% │ [▓▓▓░░] │
227
+ │ 😷 │ AIR QUALITY │ 45 │ GOOD ◇ │
228
+ │ ☔ │ PRECIPITATION │ 30% (6h) │ [▓░░] │
229
+ │ │ FORECAST │ LIGHT RAIN LIKELY │ │
230
+ │ 🌅 │ SUNRISE │ 06:29 │ DAWN │
231
+ │ 🌇 │ SUNSET │ 17:37 │ DUSK │
232
+ │ ☀️ │ UV INDEX │ 6.5 │ HIGH ☀️☀️☀️ │
233
+ │ ⚡ │ GUST ALERT │ 25 mph │ ⚠️ SEVERE │
234
+ └─────┴──────────────────────┴────────────────┴────────────────┘
235
+
236
+ ┌─ TREND ANALYSIS ─┐
237
+ ↑ 5.2°F WARMER THAN YESTERDAY
238
+ └──────────────────┘
239
+
240
+ ┌─ PREPARATION PROTOCOL ─┐
241
+ ⚠️ HIGH PRIORITY
242
+ ▶ Wind gusts up to 25 mph - secure loose items
243
+ ▲ RECOMMENDED
244
+ ▶ Light jacket recommended
245
+ ▶ Sunscreen recommended (UV: High)
246
+ ○ ADVISORY
247
+ ▶ Sunglasses recommended for glare
248
+ └─────────────────────────┘
249
+
250
+ ┌─ FORECAST PANEL ─┐
251
+ CHICAGO
252
+ ┌──────┬──┬────────────────────┬───────┬───────┬───────┬────────┐
253
+ │ DAY │ │ CONDITIONS │ HIGH │ LOW │ RAIN% │ STATUS │
254
+ ├──────┼──┼────────────────────┼───────┼───────┼───────┼────────┤
255
+ │ TODAY│☀️│ MAINLY CLEAR │ 78.7°F│ 63.9°F│ 30% │ ○ │
256
+ │ TUE │⛅│ PARTLY CLOUDY │ 82.4°F│ 65.4°F│ 20% │ ○ │
257
+ │ WED │🌦️│ LIGHT DRIZZLE │ 76.8°F│ 60.9°F│ 45% │ ● │
258
+ │ THU │☀️│ CLEAR SKY │ 80.3°F│ 63.5°F│ 10% │ ○ │
259
+ └──────┴──┴────────────────────┴───────┴───────┴───────┴────────┘
208
260
  ```
209
- Chicago, Illinois Weather
210
- ☀️ Conditions: Mainly clear
211
- 🌡️ Temperature: 75.2°F
212
- 🤔 Real Feel: 78.5°F
213
- 💨 Wind Speed: 12.4 mph
214
- 💧 Humidity: 65%
215
- ☔ Precip Chance: 30% (6h) | Light rain likely
216
- 🌅 Sunrise: 6:29 AM
217
- 🌇 Sunset: 5:37 PM
218
- ☀️ UV Index: 6.5 (High)
219
- 💨 Wind Alert: ⚠️ Gusts up to 25 mph
220
- 😷 Air Quality: 45 (Good)
221
-
222
- ↑ 5.2°F warmer than yesterday
223
-
224
- Preparation Guidance:
225
- • 🧥 Light jacket
226
- • 🧴 Sunscreen recommended
227
- • 🕶️ Sunglasses recommended
228
-
229
- 7-Day Forecast — Chicago, Illinois
230
- Day Conditions High Low Rain% UV
231
- Today ☁️ Overcast 78.7°F 63.9°F 30% 7.2
232
- Tue Apr 1 ⛅ Partly cloudy 82.4°F 65.4°F 20% 8.1
233
- Wed Apr 2 🌦️ Light drizzle 76.8°F 60.9°F 45% 5.8
234
- Thu Apr 3 ☀️ Clear sky 80.3°F 63.5°F 10% 8.5
235
- Fri Apr 4 ☀️ Clear sky 83.6°F 67.1°F 5% 9.0
236
- Sat Apr 5 ⛅ Partly cloudy 79.8°F 64.9°F 15% 7.8
237
- Sun Apr 6 🌤️ Mainly clear 81.2°F 66.3°F 10% 8.3
238
261
  ```
239
262
 
240
263
  ## 🛠 Tech Stack
@@ -258,6 +281,11 @@ Preparation Guidance:
258
281
  | Configurable API Endpoints | Environment variable support for custom APIs |
259
282
  | Enhanced Error Handling | Specific exception catching with timeouts |
260
283
  | Timezone Support | Optional `pytz` dependency for local time display |
284
+ | **v1.3.0 Features** | **Industrial Aesthetic** |
285
+ | Industrial UI Design | Retro-futuristic weather observatory dashboard |
286
+ | Visual Gauges | Temperature and humidity gauge visualizations |
287
+ | Severity Indicators | Weather condition severity classification |
288
+ | Enhanced Typography | Heavy borders, uppercase labels, status columns |
261
289
 
262
290
  ## 🔒 Security
263
291
 
@@ -3,7 +3,7 @@
3
3
  ![CI](https://github.com/KnowOneActual/isobar-cli/actions/workflows/ci.yml/badge.svg)
4
4
  ![Coverage](https://img.shields.io/badge/coverage-98%25-green)
5
5
  [![PyPI version](https://badge.fury.io/py/isobar-cli.svg)](https://badge.fury.io/py/isobar-cli)
6
- ![Version](https://img.shields.io/badge/version-1.2.0-blue)
6
+ ![Version](https://img.shields.io/badge/version-1.3.0-blue)
7
7
  ![Ruff](https://img.shields.io/badge/linting-ruff-purple)
8
8
  ![Python](https://img.shields.io/badge/python-3.8%2B-blue)
9
9
  ![License](https://img.shields.io/badge/license-MIT-green)
@@ -21,11 +21,13 @@ Most weather apps overwhelm with data. Isobar strips away everything except what
21
21
  - **Essential over comprehensive** — Show Real Feel, not 47 data points.
22
22
  - **Terminal-native** — Built for quick checks within a developer workflow.
23
23
  - **Zero friction** — No API keys or configuration files required.
24
- - **Information density** — Clean, borderless UI for maximum readability.
24
+ - **Information density** — Industrial dashboard UI for maximum readability.
25
25
  - **Intentional features** — Each feature must answer: *"Does this help someone understand what it feels like outside?"*
26
+ - **Distinctive aesthetic** — Retro-futuristic industrial styling that avoids generic "AI slop"
26
27
 
27
28
  ## ✨ Features
28
29
 
30
+ - **Industrial Aesthetic** — Retro-futuristic weather observatory dashboard with brutalist styling 🏭
29
31
  - **Auto-Location** — `isobar` detects the city automatically 🌍
30
32
  - **Weather Condition Icons** — WMO-standard emoji + plain-English description (☀️ Clear sky, 🌨️ Moderate snow, ⛈️ Thunderstorm)
31
33
  - **Real Feel** — Apparent temperature metrics (what it *actually* feels like).
@@ -42,8 +44,12 @@ Most weather apps overwhelm with data. Isobar strips away everything except what
42
44
  - **Metric Support** — `--metric` or `-m` for Celsius, km/h, and mm.
43
45
  - **No API Keys** — Free Open-Meteo and ip-api.com.
44
46
  - **Zero Config** — Works instantly after installation.
47
+ - **Visual Gauges** — Temperature and humidity gauge visualizations 📊
48
+ - **Severity Indicators** — Weather condition severity icons (⚡, ▲, ●, ○, ◇)
49
+ - **Wind Categories** — Descriptive wind speed classifications (CALM, LIGHT, GENTLE, etc.)
50
+ - **Industrial Styling** — Heavy borders, uppercase labels, status columns
45
51
  - **Phase 7: Intuition & Analysis** — Higher-level context and automated insights:
46
- - **Preparation Guidance** — Clothing and gear suggestions based on conditions 🧥☂️🧴
52
+ - **Preparation Guidance** — Clothing and gear suggestions with priority levels 🧥☂️🧴
47
53
  - **Temporal Context** — Comparison with previous day conditions 📈
48
54
  - **UV Index Monitoring** — Sun protection guidance with intensity levels ☀️
49
55
  - **Wind Gust Alerts** — Highlighting of significant gust events 💨⚠️
@@ -170,36 +176,53 @@ isobar --install-completion bash
170
176
 
171
177
  ## 🖥️ Example Output
172
178
 
179
+ ### Industrial Aesthetic (v1.3.0+)
180
+
181
+ ```
182
+ ┌─ WEATHER OBSERVATORY ─┐
183
+ CHICAGO
184
+ ┌─────┬──────────────────────┬────────────────┬────────────────┐
185
+ │ │ METRIC │ READING │ STATUS │
186
+ ├─────┼──────────────────────┼────────────────┼────────────────┤
187
+ │ ☀️ │ CONDITIONS │ MAINLY CLEAR │ ◇ │
188
+ │ 🌡️ │ TEMPERATURE │ 75.2°F │ [███░░░░░░░] │
189
+ │ 🤔 │ REAL FEEL │ 78.5°F │ ▲ 3.3°F │
190
+ │ 💨 │ WIND SPEED │ 12.4 mph │ GENTLE │
191
+ │ 💧 │ HUMIDITY │ 65% │ [▓▓▓░░] │
192
+ │ 😷 │ AIR QUALITY │ 45 │ GOOD ◇ │
193
+ │ ☔ │ PRECIPITATION │ 30% (6h) │ [▓░░] │
194
+ │ │ FORECAST │ LIGHT RAIN LIKELY │ │
195
+ │ 🌅 │ SUNRISE │ 06:29 │ DAWN │
196
+ │ 🌇 │ SUNSET │ 17:37 │ DUSK │
197
+ │ ☀️ │ UV INDEX │ 6.5 │ HIGH ☀️☀️☀️ │
198
+ │ ⚡ │ GUST ALERT │ 25 mph │ ⚠️ SEVERE │
199
+ └─────┴──────────────────────┴────────────────┴────────────────┘
200
+
201
+ ┌─ TREND ANALYSIS ─┐
202
+ ↑ 5.2°F WARMER THAN YESTERDAY
203
+ └──────────────────┘
204
+
205
+ ┌─ PREPARATION PROTOCOL ─┐
206
+ ⚠️ HIGH PRIORITY
207
+ ▶ Wind gusts up to 25 mph - secure loose items
208
+ ▲ RECOMMENDED
209
+ ▶ Light jacket recommended
210
+ ▶ Sunscreen recommended (UV: High)
211
+ ○ ADVISORY
212
+ ▶ Sunglasses recommended for glare
213
+ └─────────────────────────┘
214
+
215
+ ┌─ FORECAST PANEL ─┐
216
+ CHICAGO
217
+ ┌──────┬──┬────────────────────┬───────┬───────┬───────┬────────┐
218
+ │ DAY │ │ CONDITIONS │ HIGH │ LOW │ RAIN% │ STATUS │
219
+ ├──────┼──┼────────────────────┼───────┼───────┼───────┼────────┤
220
+ │ TODAY│☀️│ MAINLY CLEAR │ 78.7°F│ 63.9°F│ 30% │ ○ │
221
+ │ TUE │⛅│ PARTLY CLOUDY │ 82.4°F│ 65.4°F│ 20% │ ○ │
222
+ │ WED │🌦️│ LIGHT DRIZZLE │ 76.8°F│ 60.9°F│ 45% │ ● │
223
+ │ THU │☀️│ CLEAR SKY │ 80.3°F│ 63.5°F│ 10% │ ○ │
224
+ └──────┴──┴────────────────────┴───────┴───────┴───────┴────────┘
173
225
  ```
174
- Chicago, Illinois Weather
175
- ☀️ Conditions: Mainly clear
176
- 🌡️ Temperature: 75.2°F
177
- 🤔 Real Feel: 78.5°F
178
- 💨 Wind Speed: 12.4 mph
179
- 💧 Humidity: 65%
180
- ☔ Precip Chance: 30% (6h) | Light rain likely
181
- 🌅 Sunrise: 6:29 AM
182
- 🌇 Sunset: 5:37 PM
183
- ☀️ UV Index: 6.5 (High)
184
- 💨 Wind Alert: ⚠️ Gusts up to 25 mph
185
- 😷 Air Quality: 45 (Good)
186
-
187
- ↑ 5.2°F warmer than yesterday
188
-
189
- Preparation Guidance:
190
- • 🧥 Light jacket
191
- • 🧴 Sunscreen recommended
192
- • 🕶️ Sunglasses recommended
193
-
194
- 7-Day Forecast — Chicago, Illinois
195
- Day Conditions High Low Rain% UV
196
- Today ☁️ Overcast 78.7°F 63.9°F 30% 7.2
197
- Tue Apr 1 ⛅ Partly cloudy 82.4°F 65.4°F 20% 8.1
198
- Wed Apr 2 🌦️ Light drizzle 76.8°F 60.9°F 45% 5.8
199
- Thu Apr 3 ☀️ Clear sky 80.3°F 63.5°F 10% 8.5
200
- Fri Apr 4 ☀️ Clear sky 83.6°F 67.1°F 5% 9.0
201
- Sat Apr 5 ⛅ Partly cloudy 79.8°F 64.9°F 15% 7.8
202
- Sun Apr 6 🌤️ Mainly clear 81.2°F 66.3°F 10% 8.3
203
226
  ```
204
227
 
205
228
  ## 🛠 Tech Stack
@@ -223,6 +246,11 @@ Preparation Guidance:
223
246
  | Configurable API Endpoints | Environment variable support for custom APIs |
224
247
  | Enhanced Error Handling | Specific exception catching with timeouts |
225
248
  | Timezone Support | Optional `pytz` dependency for local time display |
249
+ | **v1.3.0 Features** | **Industrial Aesthetic** |
250
+ | Industrial UI Design | Retro-futuristic weather observatory dashboard |
251
+ | Visual Gauges | Temperature and humidity gauge visualizations |
252
+ | Severity Indicators | Weather condition severity classification |
253
+ | Enhanced Typography | Heavy borders, uppercase labels, status columns |
226
254
 
227
255
  ## 🔒 Security
228
256
 
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "isobar-cli"
7
- version = "1.2.0"
8
- description = "A visually pleasing terminal weather tool focusing on Real Feel and Windchill."
7
+ version = "1.3.0"
8
+ description = "A terminal weather tool with industrial aesthetic, focusing on Real Feel and Windchill."
9
9
  authors = [
10
10
  { name="Beau Bremer / KnowOneActual" },
11
11
  ]
@@ -0,0 +1 @@
1
+ __version__ = "1.3.0"