A beautiful, responsive terminal-based weather dashboard that displays real-time weather information with smooth automatic updates.
- π‘οΈ Real-time Weather Data: Current conditions from Weather.gov API (US locations)
- π Visual System Stats: Humidity, cloud cover, pressure, and visibility with color-coded gauge bars
- π Hourly Forecast: Next 12 hours with temperature, conditions, wind, and precipitation
- ποΈ 7-Day Forecast: Week-long weather outlook with weather emoji icons
- π¨ Color-Coded Display: Temperature-based colors for intuitive reading
- π Smooth Auto-Refresh: Updates every 5 seconds without screen flicker
- π Responsive Design: Automatically adapts to any terminal size
- π Auto-Location: Detects your location via IP geolocation on every run
- π Zero Configuration: Works out of the box with automatic dependency installation
- β Digitally Signed: Windows executable signed through SignPath.io for security
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Current Conditions Current Time: 2024-01-01 12:00:00 β
β Temperature: 72.5Β°F / 22.5Β°C β
β Feels Like: 71.0Β°F β
β Condition: Partly Cloudy β
β Wind: 8 mph NW β β
β Sunrise: 06:45 Sunset: 18:23 β
β System Stats: β
β Humidity (65%) [ββββββββββββ ] β
β Cloud Cover (40%) [ββββββββ ] β
β Pressure (1013 hPa) [ββββββββββββββββ ] β
β Visibility (10 km) [ββββββββββββββββββββ] β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Download the latest signed executable from the Releases page:
wtop-v*.exe- Digitally signed Windows executable- No Python installation required
- No SmartScreen warnings (signed via SignPath.io)
- Clone the repository:
git clone https://github.com/Zazarothh/wtop.git
cd wtop- Run the dashboard:
python wtop.pyThat's it! Dependencies will auto-install on first run.
If you prefer to install dependencies manually:
pip install -r requirements.txt- Python 3.6 or higher
- Terminal with UTF-8 support
- Internet connection (for weather data)
- US location (Weather.gov API limitation)
Simply run the script:
python wtop.pyThe dashboard will:
- Auto-detect your location (first run only)
- Display current weather conditions
- Show hourly and weekly forecasts
- Smoothly refresh every 5 seconds
Ctrl+C: Exit the dashboard gracefully
python wtop.py --help # Show help and location informationLocation is automatically saved after first run in ~/.wtop_config.json:
{
"city": "San Diego",
"state": "CA",
"latitude": 32.7157,
"longitude": -117.1611
}To change location:
- Delete the config file:
rm ~/.wtop_config.json - Restart WTOP to auto-detect new location
Windows:
- Windows Terminal (best experience)
- PowerShell 7+
- ConEmu
macOS:
- iTerm2 (recommended)
- Terminal.app
- Alacritty
Linux:
- GNOME Terminal
- Konsole
- Terminator
- Alacritty
For optimal display:
- Font: Use a monospace font with Unicode support (e.g., Cascadia Code, Fira Code)
- Encoding: UTF-8
- Width: Works on any width (optimal: 100+ columns)
- Colors: 256-color or true color support
- Temperature in Fahrenheit and Celsius
- "Feels like" temperature
- Weather description
- Wind speed, direction with arrow indicators
- Sunrise and sunset times
Color-coded progress bars for:
- Humidity (0-100%)
- Cloud cover (0-100%)
- Atmospheric pressure (normalized)
- Visibility (0-10km scale)
Hourly (12 hours):
- Date and time
- Color-coded temperature
- Weather conditions
- Wind speed and direction
- Precipitation amount
Weekly (7 days):
- Day of week
- Weather emoji icons
- High/low temperatures
- Conditions summary
- Rain probability
Garbled characters on Windows:
- Use Windows Terminal or PowerShell 7+
- Ensure UTF-8 encoding is enabled
- Try:
chcp 65001before running
Location not detected:
- Check internet connection
- Ensure you're in the US (API limitation)
- Manually edit
~/.wtop_config.json
API errors:
- Weather.gov may be temporarily unavailable
- Rate limiting (wait a few minutes)
- Check internet connectivity
Screen flicker:
- Update to latest terminal version
- Ensure ANSI escape codes are supported
- Try a different terminal emulator
- Weather API: Weather.gov (National Weather Service) - Free, no key required
- Location API: ipinfo.io - Free tier for geolocation
- Refresh Rate: 5 seconds (smooth cursor-based refresh)
- Responsive: Adapts to terminal width (30-300 columns)
- Performance: Minimal CPU usage (<1%)
- Memory: ~20MB Python process
Contributions are welcome! Please feel free to submit a Pull Request.
# Run with debug borders
python wtop.py --check-borders
# Watch for changes during development
# (implement your own watch solution)MIT License - See LICENSE file for details
The Windows executable is digitally signed through SignPath.io's open source program. This ensures:
- β No SmartScreen warnings
- β Verified publisher identity
- β Tamper protection
- β Increased user trust
For more information about the signing process, see SIGNPATH_SETUP.md.
- Weather data: Weather.gov (National Weather Service)
- IP geolocation: ipinfo.io
- Code signing: SignPath.io (Open Source Program)
- Inspired by terminal tools like htop, bashtop, and wttr.in
Built with β€οΈ for the terminal