Registry¶
<Description>
- class hydra_slayer.registry.Registry(meta_factory: Optional[Callable[[Union[Type, Callable[[...], Any]], Tuple, Mapping], Any]] = None, name_key: str = '_target_')[source]¶
 Universal class allowing to add and access various factories by name.
- Parameters
 meta_factory – default object that calls factory. Optional. Default just calls factory.
- __init__(meta_factory: Optional[Callable[[Union[Type, Callable[[...], Any]], Tuple, Mapping], Any]] = None, name_key: str = '_target_')[source]¶
 Init.
- add(factory: Optional[Union[Type, Callable[[...], Any]]] = None, *factories: Union[Type, Callable[[...], Any]], name: Optional[str] = None, **named_factories: Union[Type, Callable[[...], Any]]) Union[Type, Callable[[...], Any]][source]¶
 Adds factory to registry with it’s
__name__attribute or provided name. Signature is flexible.- Parameters
 factory – Factory instance
factories – More instances
name – Provided name for first instance. Use only when pass single instance.
named_factories – Factory and their names as kwargs
- Returns
 First factory passed
- Return type
 Factory
- Raises
 RegistryException – if factory with provided name is already present
- add_from_module(module, prefix: Optional[Union[str, List[str]]] = None, ignore_all: bool = False) None[source]¶
 Adds all factories present in module. If
__all__attribute is present, takes ony what mentioned in it.- Parameters
 module – module to scan
prefix (Union[str, List[str]]) – prefix string for all the module’s factories. If prefix is a list, all values will be treated as aliases.
ignore_all – flag, ignore __all__ or not
- Raises
 TypeError – if prefix is not a list or a string
- get(name: str) Optional[Union[Type, Callable[[...], Any]]][source]¶
 Retrieves factory, without creating any objects with it or raises error.
- Parameters
 name – factory name
- Returns
 factory by name
- Return type
 Factory
- Raises
 RegistryException – if no factory with provided name was registered
- get_from_params(*, shared_params: Optional[Dict[str, Any]] = None, **kwargs) Union[Any, Tuple[Any, Mapping[str, Any]]][source]¶
 Creates instance based in configuration dict with
instantiation_fn. Ifconfig[name_key]is None, None is returned.- Parameters
 shared_params – params to pass on all levels in case of recursive creation
**kwargs – additional kwargs for factory
- Returns
 result of calling
instantiate_fn(factory, **config)
- get_if_str(obj: Union[str, Type, Callable[[...], Any]])[source]¶
 Returns object from the registry if
objtype is string.
- get_instance(name: str, *args, meta_factory: Optional[Callable[[Union[Type, Callable[[...], Any]], Tuple, Mapping], Any]] = None, **kwargs)[source]¶
 Creates instance by calling specified factory with
instantiate_fn.- Parameters
 name – factory name
meta_factory – Function that calls factory the right way. If not provided, default is used
args – args to pass to the factory
**kwargs – kwargs to pass to the factory
- Returns
 created instance
- Raises
 RegistryException – if could not create object instance
- late_add(cb: Callable[[hydra_slayer.registry.Registry], None])[source]¶
 Allows to prevent cycle imports by delaying some imports till next registry query.
- Parameters
 cb – Callback receives registry and must call it’s methods to register factories