Recent Releases of env_canada
env_canada - v0.11.2
Bug Fixes
- ECMap: Fix multi-instance caching issue where different geographic locations shared cached data
- Cache keys now include location-specific prefix to prevent data sharing between coordinates
- Ensures each ECRadar/ECMap instance maintains separate caches for basemap, legend, and radar overlays
- Cache keys now include location-specific prefix to prevent data sharing between coordinates
- Python
Published by michaeldavie about 1 year ago
env_canada - v0.11.1
Bug Fixes
- ECWeather: Fix Home Assistant compatibility issue with station ID handling
- Keep
station_idas string for external API compatibility - Move one-time initialization from
update()to_resolve_station()method for better performance - Add
station_tupleproperty for accessing internal tuple representation - Update
validate_stationto return input unchanged instead of extracting digits
- Keep
Technical Details
This release addresses a TypeError that occurred in Home Assistant integrations when validate_station received a tuple instead of a string. The fix maintains backward compatibility while improving performance by moving expensive initialization operations to run only once per instance.
Migration Notes
- External API users: No changes required -
station_idremains a string - Internal library users: Use
station_tupleproperty if you need the(province_code, station_number)tuple
- Python
Published by michaeldavie about 1 year ago
env_canada - Release v0.11.0
env_canada v0.11.0
Major Features
New ECMap Class
Complete weather map functionality using Environment Canada's WMS layers:
- Support for rain, snow, and precipitation type radar layers
- Dynamic legend discovery from WMS capabilities
- Customizable map dimensions, radius, opacity, and overlay options
- Animated GIF creation for weather loops
- Full English/French language support
New Features
Flexible Station ID Formats
Support for multiple station ID input formats:
- Full format: "AB/s0000123" (province code and full station ID)
- Station ID only: "s0000123" (province resolved automatically)
- Numeric only: "123" (just the station number)
Dynamic File Discovery
Automatic handling of Environment Canada's new timestamped weather file format (effective June 2025)
Enhanced ECRadar
Now uses ECMap as internal implementation while maintaining full backward compatibility
Improvements
- Mapbox dependency removed: Now exclusively uses Canadian government data sources (Natural Resources Canada + Environment Canada)
- Proper logging: Module-specific loggers throughout codebase
- Enhanced error handling: Robust network failure handling and caching
- Station ID validation: Improved validation with regex patterns and automatic province resolution
- Type safety: Full mypy compliance and enhanced type annotations
Infrastructure
- Automatic adaptation to Environment Canada's infrastructure changes
- Enhanced test coverage with comprehensive mocking
- Support for dynamic URL structure discovery
Installation
bash
pip install env-canada==0.11.0
Full Changelog
https://github.com/michaeldavie/env_canada/blob/v0.11.0/CHANGELOG.md
- Python
Published by michaeldavie about 1 year ago
env_canada - Fix alerts growing in size.
What's Changed
- Add SPDX license identifier by @cdce8p in https://github.com/michaeldavie/env_canada/pull/106
New Contributors
- @cdce8p made their first contribution in https://github.com/michaeldavie/env_canada/pull/106
Full Changelog: https://github.com/michaeldavie/env_canada/compare/0.10.1...0.10.2
- Python
Published by gwww about 1 year ago
env_canada - 0.10.1
What's Changed
- Fix dependency for geopy
- Python
Published by gwww about 1 year ago
env_canada - v0.10.0
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.9.0...0.10.0
- Python
Published by gwww about 1 year ago
env_canada - v0.9.0
What's Changed
- Give the tests some love by @gwww in https://github.com/michaeldavie/env_canada/pull/99
- Removes errors flagged by pyright and ruff by @gwww in https://github.com/michaeldavie/env_canada/pull/100
- Remove use of patterns to determine alert type by @gwww in https://github.com/michaeldavie/env_canada/pull/101
- Add local radar test. by @gwww in https://github.com/michaeldavie/env_canada/pull/102
- Update pyproject.toml by @gwww in https://github.com/michaeldavie/env_canada/pull/103
- feature(update)!: Add resilience to error handling, including returning cached data by @gwww in https://github.com/michaeldavie/env_canada/pull/104
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.8.0...v0.9.0
- Python
Published by gwww about 1 year ago
env_canada - v0.8.0
What's Changed
- [Snyk] Security upgrade numpy from 1.21.3 to 1.22.2 by @michaeldavie in https://github.com/michaeldavie/env_canada/pull/94
- Fix TypeEror while logging in an exception by @maruel in https://github.com/michaeldavie/env_canada/pull/95
- Update the packing to pyproject.toml by @fitzb in https://github.com/michaeldavie/env_canada/pull/97
New Contributors
- @fitzb made their first contribution in https://github.com/michaeldavie/env_canada/pull/97
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.7.2...v0.8.0
- Python
Published by michaeldavie over 1 year ago
env_canada - v0.7.2
What's Changed
- Add timestamp to daily forecast. by @gwww in https://github.com/michaeldavie/env_canada/pull/93
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.7.1...v0.7.2
- Python
Published by michaeldavie almost 2 years ago
env_canada - v0.7.1
What's Changed
- Improve radar CPU usage by @gwww in https://github.com/michaeldavie/env_canada/pull/91
- Fix memory leak
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.7.0...v0.7.1
- Python
Published by michaeldavie about 2 years ago
env_canada - v0.6.3
What's Changed
- Update README.md by @KPCOFGS in https://github.com/michaeldavie/env_canada/pull/89
- Async all the things that were blocking. by @gwww in https://github.com/michaeldavie/env_canada/pull/90
New Contributors
- @KPCOFGS made their first contribution in https://github.com/michaeldavie/env_canada/pull/89
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.6.2...v0.6.3
- Python
Published by michaeldavie about 2 years ago
env_canada - v0.7.0
What's Changed
- Breaking Change: Remove yesterday's conditions (low temp, high temp, and precipitation) from weather
- Update README.md by @KPCOFGS in https://github.com/michaeldavie/env_canada/pull/89
- Async all the things that were blocking. by @gwww in https://github.com/michaeldavie/env_canada/pull/90
New Contributors
- @KPCOFGS made their first contribution in https://github.com/michaeldavie/env_canada/pull/89
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.6.2...v0.7.0
- Python
Published by michaeldavie about 2 years ago
env_canada - v0.6.2
What's Changed
- Minor fixes to imports by @everettsp in https://github.com/michaeldavie/env_canada/pull/87
- Run imageio in the executor. by @gwww in https://github.com/michaeldavie/env_canada/pull/88
New Contributors
- @everettsp made their first contribution in https://github.com/michaeldavie/env_canada/pull/87
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.6.1...v0.6.2
- Python
Published by michaeldavie about 2 years ago
env_canada - v0.6.1
Dependency updates
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.6.0...v0.6.1
- Python
Published by michaeldavie over 2 years ago
env_canada - v0.6.0
What's Changed
- Support weather stations without current conditions
- Update radar URL to HTTPS by @maruel in https://github.com/michaeldavie/env_canada/pull/86
- Fix sunrise and sunset conditions
New Contributors
- @maruel made their first contribution in https://github.com/michaeldavie/env_canada/pull/86
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.37...v0.6.0
- Python
Published by michaeldavie over 2 years ago
env_canada - v0.5.37
What's Changed
- [Snyk] Security upgrade numpy from 1.21.3 to 1.22.2 by @michaeldavie in https://github.com/michaeldavie/env_canada/pull/85
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.36...v0.5.37
- Python
Published by michaeldavie over 2 years ago
env_canada - v0.5.36
What's Changed
- Set non-numeric hourly forecast wind speeds to 0 by @MrDizzystick in https://github.com/michaeldavie/env_canada/pull/84
New Contributors
- @MrDizzystick made their first contribution in https://github.com/michaeldavie/env_canada/pull/84
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.35...v0.5.36
- Python
Published by michaeldavie almost 3 years ago
env_canada - v0.5.35
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.34...v0.5.35
- Add wind speed and direction to hourly forecasts
- Handle missing AQHI forecasts
- Fixes for dependency changes
- Python
Published by michaeldavie about 3 years ago
env_canada - v0.5.34
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.33...v0.5.34
- Python
Published by michaeldavie about 3 years ago
env_canada - v0.5.33
Bug fix for handling unexpected strings in numeric conditions.
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.32...v0.5.33
- Python
Published by michaeldavie about 3 years ago
env_canada - v0.5.32
Generalize handling unexpected string values in numeric fields.
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.31...v0.5.32
- Python
Published by michaeldavie about 3 years ago
env_canada - v0.5.31
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.30...v0.5.31
- Python
Published by michaeldavie about 3 years ago
env_canada - v0.5.30
What's Changed
- [Snyk] Security upgrade numpy from 1.21.3 to 1.22.2 by @michaeldavie in https://github.com/michaeldavie/env_canada/pull/73
- Update XML encoding
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.29...v0.5.30
- Python
Published by michaeldavie about 3 years ago
env_canada - v0.5.29
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.28...v0.5.29
- Handle forecast temperatures of 0ΒΊ
- Python
Published by michaeldavie over 3 years ago
env_canada - v0.5.28
Raise an error on old weather data
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.27...v0.5.28
- Python
Published by michaeldavie over 3 years ago
env_canada - v0.5.27
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.26...v0.5.27
- Python
Published by michaeldavie over 3 years ago
env_canada - v0.5.26
What's Changed
- Added sunrise/sunset data by @infectedroot in https://github.com/michaeldavie/env_canada/pull/70
New Contributors
- @infectedroot made their first contribution in https://github.com/michaeldavie/env_canada/pull/70
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.25...v0.5.26
- Python
Published by michaeldavie over 3 years ago
env_canada - v0.5.25
What's Changed
- Add ECHistoricalRange class to handle hourly and daily historical data by @Biorix in https://github.com/michaeldavie/env_canada/pull/64
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.24...v0.5.25
- Python
Published by michaeldavie almost 4 years ago
env_canada - v0.5.24
What's Changed
- Timeframe selection added by @Biorix in https://github.com/michaeldavie/env_canada/pull/58
- Added yesterday's high and low temperature
New Contributors
- @Biorix made their first contribution in https://github.com/michaeldavie/env_canada/pull/58
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.23...v0.5.24
- Python
Published by michaeldavie almost 4 years ago
env_canada - v0.5.23
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.22...v0.5.23
- Python
Published by michaeldavie about 4 years ago
env_canada - v0.5.22
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.21...v0.5.22
- Python
Published by michaeldavie about 4 years ago
env_canada - v0.5.21
What's Changed
- Cache weather site list. Add debug logs. by @gwww in https://github.com/michaeldavie/env_canada/pull/59
- Handle missing AQHI observations
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.20...v0.5.21
- Python
Published by michaeldavie over 4 years ago
env_canada - v0.5.20
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.19...v0.5.20
- Python
Published by michaeldavie over 4 years ago
env_canada - v0.5.19
Work around GeoGratis map service outage
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.18...v0.5.19
- Python
Published by michaeldavie over 4 years ago
env_canada - v0.5.18
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.17...v0.5.18
- Python
Published by michaeldavie over 4 years ago
env_canada - v0.5.17
What's Changed
- Caching by @gwww in https://github.com/michaeldavie/env_canada/pull/55
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.16...v0.5.17
- Python
Published by michaeldavie over 4 years ago
env_canada - v0.5.16
Fixes #52
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.15...v0.5.16
- Python
Published by michaeldavie over 4 years ago
env_canada - v0.5.15
What's Changed
- Add CHANGELOG.md. by @gwww in https://github.com/michaeldavie/env_canada/pull/49
- Update setup.py to exclude tests package by @onkelbeh in https://github.com/michaeldavie/env_canada/pull/50
New Contributors
- @onkelbeh made their first contribution in https://github.com/michaeldavie/env_canada/pull/50
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.14...v0.5.15
- Python
Published by michaeldavie over 4 years ago
env_canada - v0.5.14
What's Changed
- Tweaks so easier to integration with HA. by @gwww in https://github.com/michaeldavie/env_canada/pull/48
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.5.13...v0.5.14
- Python
Published by michaeldavie over 4 years ago
env_canada - v0.2.7
What's Changed
- Hardening and support for easier HA integration by @gwww in https://github.com/michaeldavie/env_canada/pull/47
Full Changelog: https://github.com/michaeldavie/env_canada/compare/v0.2.6...v0.2.7
- Python
Published by michaeldavie over 4 years ago
env_canada - v0.5.11
Add attribution to weather metadata
- Python
Published by michaeldavie almost 5 years ago
env_canada - v0.5.10
Adds normal high and low temperatures
- Python
Published by michaeldavie almost 5 years ago
env_canada - v0.5.8
Raise an exception when XML decoding fails
- Python
Published by michaeldavie almost 5 years ago
env_canada - v0.5.6
Fix radar precip_type setter
- Python
Published by michaeldavie almost 5 years ago
env_canada - v0.5.5
Make precip_type a property in ECRadar
- Python
Published by michaeldavie almost 5 years ago
env_canada - v0.5.4
Support precip_type=None in ECRadar
- Python
Published by michaeldavie almost 5 years ago
env_canada - v0.5.3
Accept None for optional parameters
- Python
Published by michaeldavie almost 5 years ago
env_canada - Input validation
Validate init arguments, raise HTTP errors
- Python
Published by michaeldavie almost 5 years ago
env_canada - Faster weather server
Switch weather to a faster server
- Python
Published by michaeldavie almost 5 years ago
env_canada - Maintenance - Faster weather server
Switch weather to a faster server
- Python
Published by michaeldavie almost 5 years ago
env_canada - Fix radar options
- Fixes disabling legend and timestamp for radar π
- Handles previous day's precipitation value of "Trace" π
- Python
Published by michaeldavie almost 5 years ago
env_canada - Make weather data more Pythonic
Return values as int, float, or timezone-awaredatetime as appropriate.
- Python
Published by michaeldavie about 5 years ago
env_canada - Fix for Python 3.9
Remove getchildren()
- Python
Published by michaeldavie over 5 years ago
env_canada - Async and tests
- Make fetching methods asynchronous
- Add tests
- Rename data to weather
- Separate AQHI from weather
- Python
Published by michaeldavie over 5 years ago
env_canada - Add legend and timestamp to radar
Overlays a legend and timestamp on the radar image
- Python
Published by michaeldavie almost 6 years ago
env_canada -
Adds legend and timestamp to radar map Fixes #24
- Python
Published by michaeldavie almost 6 years ago