class documentation
A registry to store and retrieve modules.
The registry stores a mapping from string keys to module classes. It provides an interface to register modules and later retrieve them by their string names.
| Method | __contains__ |
Undocumented |
| Method | __getitem__ |
Undocumented |
| Method | __init__ |
Create a new empty registry. |
| Method | __len__ |
Undocumented |
| Method | __repr__ |
Undocumented |
| Method | __setitem__ |
Undocumented |
| Method | __str__ |
Undocumented |
| Method | get |
Retrieve the registry record for the key. |
| Method | register |
Register a module. |
| Method | register |
Register a module. Deprecated, use register instead. |
| Property | name |
The name of the registry. |
| Method | _register |
Undocumented |
| Instance Variable | _module |
Undocumented |
| Instance Variable | _name |
Undocumented |
Retrieve the registry record for the key.
| Parameters | |
key:str | The name of the registered item. |
| Returns | |
T | The registered item corresponding to the key. |
| Raises | |
KeyError | If the key is not found in the registry. |
@overload
def register(self, module:
None = ..., *, name: str | None = ..., force: bool = ...) -> Callable[ [ T], T]:@overload
def register(self, module:
T = ..., *, name: str | None = ..., force: bool = ...):Register a module.
Can be used as a decorator or as a normal method:
Example
>>> registry = Registry(name="modules") >>> @registry.register() ... class Foo: ... pass >>> registry.get("Foo").__name__ 'Foo' >>> class Bar: ... pass >>> registry.register(module=Bar) >>> registry.get("Bar").__name__ 'Bar'
| Parameters | |
module:T | None | The module class to be registered. |
name:str | None | The name of the module. If None, then use class name. |
force:bool | Whether to override an existing class with the same name. |
| Returns | |
Callable[ | None if used as a normal method, or a decorator function if used as a decorator. |
| Raises | |
KeyError | If a module with the same name already exists and force is False. |
@overload
def register_module(self, name:
str | None = ..., module: None = ..., force: bool = ...) -> Callable[ [ T], T]:@overload
def register_module(self, name:
str | None = ..., module: T = ..., force: bool = ...) -> T:@deprecated( '`register_module` is deprecated, use `register` instead.')
¶
Register a module. Deprecated, use register instead.
Deprecated since version 0.6.0: Use
register instead.| Parameters | |
name:str | None | Name of the module. If None, the class name is used. |
module:T | None | Module class to be registered. |
force:bool | Whether to override an existing class with the same name. |
| Returns | |
T | Callable[ | Registered module or decorator returned by register. |
| Raises | |
KeyError | If a module with the same name already exists and force is False. |