Skip to content

pixano_inference.providers.registry

Registry for providers.

register_provider(provider)

Return a decorator to register a provider in the registry.

Parameters:

Name Type Description Default
provider str

Name of the provider.

required

Returns:

Type Description

The decorator.

Source code in pixano_inference/providers/registry.py
def register_provider(provider: str):
    """Return a decorator to register a provider in the registry.

    Args:
        provider: Name of the provider.

    Returns:
        The decorator.
    """

    def decorator(cls):
        """Register the provider in the registry.

        Args:
            cls: Class to register.

        Returns:
            The class.
        """
        if provider in PROVIDERS_REGISTRY:
            raise ValueError(f"Provider {provider} already registered.")
        PROVIDERS_REGISTRY[provider] = cls
        return cls

    return decorator