Aviation weather briefing tool that fetches WPC prog charts, QPF, AWC products, and FAA A/FD data, overlays flight routes, and generates HTML briefings with Claude analysis.
79
79%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Generate a comprehensive aviation weather briefing by running the FlightWeatherWatch CLI tool.
The project root is the directory containing flightweather.py. All commands must be run from this directory.
python3 flightweather.py <ORIGIN> [WAYPOINTS...] <DESTINATION> <DATE> <TIME_UTC> <ALTITUDE_FT> [options]YYYY-MM-DDHH:MM in UTC (Zulu)| Flag | Description |
|---|---|
--tas N | True airspeed in knots (default: 150) |
--cache | Save fetched charts + LLM analysis for later re-rendering |
--from-cache PREFIX | Rebuild HTML from cached data — no fetching or API calls |
--all | Fetch every available chart regardless of departure time |
--no-route | Skip drawing route overlay on charts |
--no-open | Save HTML file but don't open browser |
Convert names/cities to 4-letter ICAO codes (K-prefixed in the US). The user's commonly used airports:
For unfamiliar airports, look up the ICAO code before running.
The user gives departure in local time at the departure airport. Convert to UTC based on the airport's timezone. DST is active from the second Sunday of March through the first Sunday of November.
| Zone | Standard | Daylight |
|---|---|---|
| Eastern | +5 | +4 |
| Central | +5 (CDT) or +6 (CST) | +5 |
| Mountain | +7 | +6 |
| Pacific | +8 | +7 |
If the user mentions a fuel stop or intermediate point, insert it as a waypoint between origin and destination. Example: "stop at Amarillo" → add KAMA between origin and destination.
--cacheAlways include --cache so the briefing can be re-rendered from cache without re-fetching charts or calling the API.
To rebuild a briefing from cached data (no API cost):
ls cache_*.json — files are named cache_ORIGIN_DEST_DATE_charts.json--from-cache using the prefix (without _charts.json or _llm.json):python3 flightweather.py --from-cache cache_KMQY_KEDC_2026-03-16 KMQY KEDC 2026-03-16 15:00 12000 --tas 170Note: --from-cache still requires the positional arguments (origin, destination, date, time, altitude) because they're used for the HTML header and route overlay. The --from-cache flag bypasses the past-departure-time check, so old briefings can be regenerated.
The tool produces a self-contained HTML file and opens it in the default browser. Contents:
The FAA airport data is auto-downloaded from the NASR 28-day subscription and cached locally (faa_data/). It refreshes automatically when >30 days old.
--from-cache to rebuild old briefings, or update the departure time.ANTHROPIC_API_KEY environment variable (or .env file in the project directory)anthropic httpx Pillow numpy scipy pyproj opencv-python pyshp