AccessiWeather is a cross-platform, accessible weather application built with Python and BeeWare/Toga. Get detailed weather forecasts, alerts, and conditions with full screen reader support 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)
Want to test the latest features? Nightly builds are available from the dev branch:
- Download from GitHub Actions (select a successful run → Artifacts)
- See docs/nightly-link-setup.md for direct download links
- 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
- 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.
# 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
briefcase dev
# Run tests
pytest -n auto# Development
briefcase dev # Run with hot reload
pytest -n auto # Run tests (parallel)
ruff check --fix . # Lint and fix
ruff format . # Format code
pyright # Type checking
# Building
briefcase create # Create platform skeleton
briefcase build # Build app
briefcase package # Generate installerSee AGENTS.md for detailed development conventions, architecture overview, and CI/CD information.
MIT License - see LICENSE for details.
Built with BeeWare/Toga for cross-platform Python GUI development. Weather data provided by:
- National Weather Service (US)
- Open-Meteo (Global)
- Visual Crossing (Optional, for historical data)