praval.providers.registry

Provider registry and model profile catalog.

Functions

get_provider_registry()

Return the process-wide provider registry.

register_default_providers(registry)

Register built-in provider factories and model profiles.

reset_provider_registry()

Reset and return the process-wide provider registry.

Classes

ProviderRegistration(name, builder[, ...])

Registered provider factory and metadata.

ProviderRegistry()

Registry for provider factories and provider/model profiles.

class praval.providers.registry.ProviderRegistration(name, builder, aliases=(), default_model=None, capabilities=<factory>)[source]

Bases: object

Registered provider factory and metadata.

Parameters:
  • name (str)

  • builder (Callable[[Any], Any])

  • aliases (tuple[str, ...])

  • default_model (str | None)

  • capabilities (ProviderCapabilities)

name: str
builder: Callable[[Any], Any]
aliases: tuple[str, ...] = ()
default_model: str | None = None
capabilities: ProviderCapabilities
__init__(name, builder, aliases=(), default_model=None, capabilities=<factory>)
Parameters:
  • name (str)

  • builder (Callable[[Any], Any])

  • aliases (tuple[str, ...])

  • default_model (str | None)

  • capabilities (ProviderCapabilities)

Return type:

None

class praval.providers.registry.ProviderRegistry[source]

Bases: object

Registry for provider factories and provider/model profiles.

__init__()[source]
Return type:

None

register_provider(name, builder, *, aliases=(), default_model=None, capabilities=None)[source]

Register a provider factory.

Return type:

None

Parameters:
  • name (str)

  • builder (Callable[[Any], Any])

  • aliases (Iterable[str])

  • default_model (str | None)

  • capabilities (ProviderCapabilities | None)

register_profile(profile)[source]

Register a provider/model profile.

Return type:

None

Parameters:

profile (ProviderProfile)

create_provider(provider_name, config)[source]

Create a provider instance from the registry.

Return type:

Any

Parameters:
  • provider_name (str)

  • config (Any)

get_registration(provider_name)[source]

Return a provider registration by name or alias.

Return type:

ProviderRegistration

Parameters:

provider_name (str)

canonical_provider(provider_name)[source]

Return the canonical provider name for a name or alias.

Return type:

Optional[str]

Parameters:

provider_name (str)

list_providers()[source]

List registered canonical provider names.

Return type:

List[str]

get_profile(provider, model)[source]

Return a model profile if one is registered.

Return type:

Optional[ProviderProfile]

Parameters:
  • provider (str)

  • model (str)

list_profiles(provider=None)[source]

List registered provider/model profiles.

Return type:

List[ProviderProfile]

Parameters:

provider (str | None)

resolve_profile(provider, model=None)[source]

Resolve the best provider/model profile for a request.

Return type:

Optional[ProviderProfile]

Parameters:
  • provider (str)

  • model (str | None)

resolve_capabilities(provider, model=None, *, overrides=None)[source]

Resolve effective capabilities for a provider/model request.

Return type:

ProviderCapabilities

Parameters:
  • provider (str)

  • model (str | None)

  • overrides (Dict[str, Any] | None)

default_model_for(provider)[source]

Return the default model for a provider if configured.

Return type:

Optional[str]

Parameters:

provider (str)

static profile_key(provider, model)[source]

Build a stable profile key.

Return type:

str

Parameters:
  • provider (str)

  • model (str)

praval.providers.registry.get_provider_registry()[source]

Return the process-wide provider registry.

Return type:

ProviderRegistry

praval.providers.registry.reset_provider_registry()[source]

Reset and return the process-wide provider registry.

Return type:

ProviderRegistry

praval.providers.registry.register_default_providers(registry)[source]

Register built-in provider factories and model profiles.

Return type:

None

Parameters:

registry (ProviderRegistry)