resolve#

exo_skryer.kernel_registry.resolve(name, registry: dict, cfg_key: str)[source]#

Return the kernel for name from registry, raising a clear error on failure.

Parameters:
namestr or None

The scheme name from the YAML config (case-insensitive). A Python None (i.e. the YAML key was absent entirely) always raises.

registrydict

One of the VERT_TP / VERT_ALT / VERT_CHEM / … dicts above.

cfg_keystr

Config key shown in the error message, e.g. "physics.vert_Tp".

Returns:
Callable or None

The kernel function. None is a valid return value for registries that explicitly map "none" to None (e.g. OPAC_CLOUD).

Raises:
ValueError

If name is Python None (key missing from YAML) or not found in the registry, with a list of valid options included in the message.