Registry#

fetchez.registry#

This module contains the Module Registry for the Fetchez library.

copyright:
  1. 2010-2026 Regents of the University of Colorado

license:

MIT, see LICENSE for more details.

class fetchez.registry.FetchezRegistry[source]#

Bases: object

Fetchez Module Registry with expanded metadata for discovery.

classmethod get_info(mod_key)[source]#

Retrieve the full metadata dictionary for a module, resolving metadta inheritance.

Parameters:

mod_key (str)

Return type:

dict

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 load_installed_plugins()[source]#

Load plugins installed via Pip (entry_points).

classmethod search_modules(query)[source]#

Search modules by matching the query string against: Name, Description, Agency, Tags, License, Category, and Aliases.

Parameters:

query (str)

Return type:

list

classmethod register_module(mod_key, mod_cls, metadata=None)[source]#

Register a new module dynamically (e.g., from a plugin).

Parameters:
  • mod_key (str) – The CLI command name (e.g., ‘datum_grids’).

  • mod_cls – The actual Python class (inheriting from FetchModule).

  • metadata (dict) – Optional metadata for discovery (desc, tags, etc.).