Skip to content

register_interoperable_class

autogen.interop.register_interoperable_class #

register_interoperable_class(short_name)

Register an Interoperable class in the global registry.

RETURNS DESCRIPTION
Callable[[InteroperableClass], InteroperableClass]

Callable[[InteroperableClass], InteroperableClass]: Decorator function

Example
@register_interoperable_class("myinterop")
class MyInteroperability(Interoperable):
    def convert_tool(self, tool: Any) -> Tool:
        # implementation
        ...
Source code in autogen/interop/registry.py
@export_module("autogen.interop")
def register_interoperable_class(short_name: str) -> Callable[[InteroperableClass], InteroperableClass]:
    """Register an Interoperable class in the global registry.

    Returns:
        Callable[[InteroperableClass], InteroperableClass]: Decorator function

    Example:
        ```python
        @register_interoperable_class("myinterop")
        class MyInteroperability(Interoperable):
            def convert_tool(self, tool: Any) -> Tool:
                # implementation
                ...
        ```
    """

    def inner(cls: InteroperableClass) -> InteroperableClass:
        global _register
        return _register.register(short_name, cls)

    return inner