v0.5.0
🚨 Breaking Changes in v0.5.0
What's Changed
- Update nasadem module test by @matth-love in #161
- Documentation Updates (examples and usage) by @matth-love in #162
- Formatting and commentary cleanup. by @matth-love in #163
- cli list-hooks colors and spaces by @matth-love in #164
- Add lidarbc module for fetching from geobc (canada) by @matth-love in #165
- Refactor to better accommodate module/hook/etc. registry by @matth-love in #165
- Minimum python version supported is now 3.12 by @matth-love in #165 - #85
🚨 Breaking Changes
- Base Class Relocations
- FetchModule has been moved out of fetchez.core and into fetchez.modules.
- FetchHook remains in fetchez.hooks, but its internal initialization has changed.
- Flattened Directory Structure
- The builtins/ subdirectories have been completely removed.
- All core modules now live directly in fetchez/modules/ and all core hooks live in fetchez/hooks/.
- Module Metadata Overhaul
- Modules no longer use legacy dlim instance variables in their init (e.g., self.src_srs, self.date, self.resolution, etc.).
- Modules must now define class-level metadata using the meta_ prefix (e.g., meta_category = "Topography", meta_agency = "NOAA").
- Hook Metadata Overhaul
- Hooks also use class-level meta_ tags (e.g., meta_stage = "post", meta_category = "file-op"). The runtime self.stage is automatically derived from this during initialization.
- The New Unified Registry System
- There is now a single registry at
fetchez.registryto unify module/hook/etc registries. - fetchez dynamically scans and loads all modules and hooks on startup via PluginRegistry.
- Third-party plugins no longer need to manually inject themselves into internal lists. They are automatically discovered via ~/.fetchez/modules/ or via standard Python entry_points in their pyproject.toml.
- Extensions and plugins will have to update from using
fetchez.core.FetchModuletofetchez.modules.FetchModuleand no longer need to register their modules or hooks as fetchez will auto-discover them now based on the entry-point.
Full Changelog: v0.4.3...v0.5.0