Weather that speaks to you.
AccessiWeather is a cross-platform, accessible weather application built with Python and wxPython. Get detailed weather forecasts, alerts, and conditions with full screen reader support, customizable audio alerts, and keyboard navigation.
- Multi-Source Weather Data: Combines National Weather Service (NWS), Open-Meteo, and Visual Crossing for comprehensive coverage
- Weather Alerts: Real-time notifications for severe weather with customizable alert sounds
- Accessibility First: Full screen reader support, keyboard shortcuts, and ARIA labels throughout
- Air Quality & Environmental Data: Track AQI, pollen, UV index, and more
- Weather History: View historical weather trends and patterns
- Aviation Weather: TAF/METAR decoding for pilots
- Sound Packs: Customize alert sounds with community-created packs
- Offline Support: Smart caching keeps data available when you're offline
- Multiple Locations: Save and switch between your favorite locations
Visit accessiweather.orinks.net to download:
- Windows: MSI installer or portable ZIP
- macOS: DMG installer
- Linux: AppImage (coming soon)
- Launch AccessiWeather after installation
- Add a location: Click "Add Location" or press
Ctrl+L(Windows/Linux) /Cmd+L(macOS) - View weather: Select your location and choose from Current Conditions, Forecast, Alerts, and more
- Customize settings: Access Settings via the menu or
Ctrl+,/Cmd+,
Ctrl/Cmd + L- Add/manage locationsCtrl/Cmd + R- Refresh weather dataCtrl/Cmd + ,- Open settingsCtrl/Cmd + Q- Quit applicationF1- Help/documentation
See the User Manual for complete documentation.
AccessiWeather stores your settings and locations in:
- Windows:
%APPDATA%\accessiweather\accessiweather.json - macOS:
~/Library/Application Support/accessiweather/accessiweather.json - Linux:
~/.config/accessiweather/accessiweather.json
You can export and import your configuration from the Settings dialog.
AccessiWeather works out of the box with free data sources (NWS and Open-Meteo). For enhanced features, you can add:
- Visual Crossing API: Historical weather data and extended forecasts
- Get a free key at visualcrossing.com
- Add in Settings → Weather Sources
- User Manual - Complete guide to using AccessiWeather
- Accessibility Guide - Screen reader tips and keyboard navigation
- Sound Pack System - Create and install custom alert sounds
- Update System - How automatic updates work
Some antivirus software (e.g., Avast, AVG) may flag AccessiWeather's auto-update service as malicious during builds or first run. This is a false positive caused by the update mechanism using standard Windows patterns (batch scripts, PowerShell for ZIP extraction) that superficially resemble malware techniques.
The code is safe - our update service:
- Only downloads from official GitHub releases
- Verifies all downloads with SHA256 checksums
- Uses no obfuscation or suspicious network calls
If flagged:
- Report as false positive to your antivirus vendor
- Add an exception for AccessiWeather in your antivirus settings
- The flagged file is typically
github_update_service.cpython-*.pycin__pycache__
See docs/UPDATE_SYSTEM.md for technical details about the update system's security measures.
- Issues: Report bugs or request features on GitHub Issues
- Discussions: Join the conversation on GitHub Discussions
- Website: accessiweather.orinks.net
We welcome contributions! Whether you're fixing bugs, adding features, or improving documentation:
- Fork the repo and create a feature branch from
dev - Make your changes with tests
- Run linting:
ruff check --fix . && ruff format . - Run tests:
pytest -n auto - Submit a PR to
dev
See CONTRIBUTING.md for detailed guidelines.
uv handles everything automatically — no manual environment activation needed.
# Install uv first (if you don't have it)
# Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and run
git clone https://github.com/Orinks/AccessiWeather.git
cd AccessiWeather
uv sync
uv run python -m accessiweather# Clone and setup
git clone https://github.com/Orinks/AccessiWeather.git
cd AccessiWeather
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -e ".[dev]"
# Run the app
python -m accessiweather
# Run tests
pytest -n auto# Development
uv run python -m accessiweather # Run the app
uv run pytest -n auto # Run tests (parallel)
uv run ruff check --fix . # Lint and fix
uv run ruff format . # Format code
uv run pyright # Type checkingSee AGENTS.md for detailed development conventions, architecture overview, and CI/CD information.
MIT License - see LICENSE for details.
Built with wxPython for accessible cross-platform GUI development. Weather data provided by:
- National Weather Service (US)
- Open-Meteo (Global)
- Visual Crossing (Optional, for historical data)
- AccessiSky - Accessible sky tracking app (ISS passes, moon phases, aurora forecasts)