AccessiWeather

Accessible weather application with international support and screen reader compatibility

Stable Release Recommended

Version 0.9.3.1

Released: 2025-06-09 21:19 UTC

Commit: main

📋 Release Notes

AccessiWeather v0.9.3.1 - PyInstaller Fix


��� Critical Bug Fix


PyInstaller Import Error Fixed
  • **Fixed application startup crash** that prevented AccessiWeather.exe from running on systems without Python installed
  • **Root cause**: PyInstaller couldn't detect the conditional import of `psutil` used for memory monitoring in debug mode
    • **Solution**: Added `psutil` as a hidden import and dependency to ensure it's properly bundled with the application
  • **Impact**: Users can now install and run AccessiWeather without encountering import errors


  • ---

    What's New (from v0.9.3)



    Highlights in this release include Open-Meteo support for international weather data; it can also be chosen as a weather source for all data. A critical taskbar system tray bug was fixed that caused multiple taskbar icons to spawn with no easy way to get rid of them.

    ��� New Features

    International weather support with new data source

    • Global weather coverage: Get weather data for any location worldwide, not just the United States
    • Smart provider selection: The app automatically uses the best weather source for your location if automatic weather source is selected in settings
    ◦ US locations: National Weather Service (includes weather alerts)
    ◦ International locations: Open-Meteo (free, no API key required)
    • Seamless experience: All features work the same regardless of which weather provider is used

    Taskbar icon improvements

    • Custom formats: create your own display format using variables like {temp}, {condition}, {location}, and many more. This has been improved in this release, with the display output having a more improved format identical to what you see in the main user interface. Mix and match variables so you can get current conditions right from the taskbar.
  • - Fixed an accessibility oversight where standard Windows commands would not work on the taskbar icon, E.G. applications key, etc. Previously, to bring up the context menu, you would have to right-click the icon. All standard commands now work as expected, including enter to immediately bring the application into focus.
  • - Fixed a nasty bug that occurred on Windows 10 machines where multiple taskbar icons would appear. Due to standard commands not working as expected, it posed an issue for dummy icons even if the app executable was killed from the task manager.
  • Alerts/notifications improvements

    • Separate alert timing: Weather alerts now update on their own schedule, independent of regular weather updates
    • No more spam: Alerts will only notify you when they're actually new or updated, not every time the weather refreshes
    • Better reliability: Improved alert processing ensures you don't t miss important weather warnings

    Downloads


    • **Windows Installer**: `AccessiWeather_Setup_v0.9.3.1.exe`
  • **Portable Version**: `AccessiWeather_Portable_v0.9.3.1.zip`

  • Installation


    Windows Installer

    1. Download `AccessiWeather_Setup_v0.9.3.1.exe`
    2. Run the installer and follow the setup wizard
    3. Launch AccessiWeather from the Start Menu
    Portable Version

    1. Download `AccessiWeather_Portable_v0.9.3.1.zip`
    2. Extract to your desired location
    3. Run `AccessiWeather.exe` from the extracted folder

    System Requirements


    • Windows 10 or later
  • Internet connection for weather data


  • ---

    For support and documentation, visit the [AccessiWeather repository](https://github.com/Orinks/AccessiWeather).

    Development Build Latest Features

    Version 0.9.4-dev

    Built: 2025-06-18 23:09 UTC

    Commit: b1b47b95bc72b4f9bf7e0999438f6866de9d7d15

    🔄 Recent Changes

    • refactor: Complete API client and file length separation (2265 → 3006 lines across focused modules) Major refactoring achievements: • API client: 873 lines → 4 focused modules (core_client.py, alerts_and_products.py, exceptions.py, __init__.py) • Weather service: 612 lines → 6 focused modules under 300 lines each • Weather app GUI: 819 lines → 5 focused modules under 300 lines each • Added compatibility layer (api_client.py) for zero breaking changes • Fixed test mocking with proper HTTP response fixtures • Maintained 100% backward compatibility while enabling modular architecture Test validation: • Weather service tests: 35/35 passing (100%) • API wrapper tests: 28/28 passing (100%) • All core functionality preserved: NWS/Open-Meteo data retrieval, alerts, forecasts Key improvements: • Better separation of concerns across all major components • Improved maintainability through focused, single-responsibility modules • Enhanced testability with proper mocking infrastructure • Preserved existing interfaces while enabling future extensibility
    • Squash merge: Fix API wrapper test mocks and improve test reliability Summary of changes: - Enhanced API wrapper test mocking for better reliability - Improved conftest.py with more robust mock fixtures - Streamlined test cases by removing redundant API calls - Fixed temperature handling test mocks for integration tests - Reduced test complexity while maintaining coverage - Eliminated flaky tests caused by inconsistent mocking Key improvements: - 403 lines removed, 294 lines added (net reduction: 109 lines) - More focused and maintainable test structure - Better separation of concerns in test mocking - Enhanced test reliability and execution speed Files modified: - tests/api_wrapper/conftest.py: Enhanced mock fixtures - tests/api_wrapper/test_alerts_management.py: Improved alert mocking - tests/api_wrapper/test_caching.py: Streamlined cache testing - tests/api_wrapper/test_forecast_operations.py: Simplified forecast tests - tests/api_wrapper/test_location_identification.py: Better location mocking - tests/api_wrapper/test_rate_limiting.py: Improved rate limit testing - tests/openmeteo_integration/test_temperature_handling.py: Fixed temperature mocks
    • refactor: Split large test files into focused modules - Refactored test_api_wrapper.py (1154 lines → 4 modules under 300 lines each) - Refactored test_openmeteo_client.py (501 lines → 4 modules under 200 lines each) - Refactored test_openmeteo_integration.py (541 lines → 4 modules under 250 lines each) - Refactored test_gui/test_ui_manager.py (659 lines → 6 modules under 200 lines each) - Refactored test_api_client.py (624 lines → 3 modules under 300 lines each) - Refactored test_weather_service.py (624 lines → 4 modules under 300 lines each) Total reduction: 4,653 lines → 72 focused test modules Improved maintainability through logical organization by functionality All test coverage preserved with proper imports and fixtures

    Download Information

    🛡️ Installer Version

    Full installation package that integrates with Windows. Includes automatic updates and system integration. Recommended for most users.

    📦 Portable Version

    Standalone executable that doesn't require installation. Perfect for USB drives or temporary use. Settings are saved locally.

    🔄 Stable vs Development

    Stable releases are thoroughly tested and recommended for daily use. Development builds contain the latest features but may have bugs.

    💻 System Requirements

    Windows 10 or later (64-bit). Requires internet connection for weather data. Screen reader compatible for accessibility.

    Key Features

    🔊 Screen Reader Friendly

    Designed with accessibility in mind, fully compatible with NVDA, JAWS, and other screen readers. Complete keyboard navigation support.

    🌍 International Weather Data

    Multiple weather sources: NOAA/NWS for US locations with alerts, Open-Meteo for worldwide coverage, or automatic selection.

    ⚡ Real-time Alerts & Notifications

    Desktop notifications for severe weather alerts (US locations). System tray integration with customizable behavior.

    🎯 Smart Location Management

    Save multiple locations, search by address or coordinates. Automatic weather provider selection based on location.

    🌡️ Flexible Display Options

    Choose temperature units (Fahrenheit, Celsius, or both). Customizable taskbar icons and update intervals.

    💼 Portable & Installed Modes

    Run as portable application or install system-wide. Automatic detection with appropriate configuration storage.