Registry#
fetchez.registry#
This module contains the Module Registry for the Fetchez library.
- copyright:
2010-2026 Regents of the University of Colorado
- license:
MIT, see LICENSE for more details.
- class fetchez.registry.FetchezRegistry[source]#
Bases:
objectFetchez Module Registry with expanded metadata for discovery.
- classmethod get_info(mod_key)[source]#
Retrieve the full metadata dictionary for a module, resolving metadta inheritance.
- classmethod load_module(mod_key)[source]#
Import and return the (module or user-plugin) class using importlib.
- classmethod load_user_plugins()[source]#
Scan ~/.fetchez/plugins/ and .fetchez/plugins for external modules and register them.
- classmethod search_modules(query)[source]#
Search modules by matching the query string against: Name, Description, Agency, Tags, License, Category, and Aliases.
- classmethod register_module(mod_key, mod_cls, metadata=None)[source]#
Register a new module dynamically (e.g., from a plugin).
- Parameters:
mod_key – The CLI command name (e.g., ‘datum_grids’).
mod_cls – The actual Python class (inheriting from FetchModule).
metadata (default:
None) – Optional metadata for discovery (desc, tags, etc.).