polywrap_core.utils.get_implementations module

This module contains the get_implementations utility.

polywrap_core.utils.get_implementations.get_implementations(interface_uri: Uri, interfaces: Dict[Uri, List[Uri]], client: InvokerClient | None = None, resolution_context: UriResolutionContext | None = None) List[Uri] | None[source]

Get implementations of an interface with its URI.

Parameters:
  • interface_uri (Uri) – URI of the interface.

  • interfaces (Dict[Uri, List[Uri]]) – Dictionary of interfaces and their implementations.

  • client (Optional[InvokerClient]) – The client to use for resolving the URI.

  • resolution_context (Optional[UriResolutionContext]) – The resolution context to use.

Raises:

WrapGetImplementationsError – If the URI cannot be resolved.

Returns:

List of implementations or None if not found.

Return type:

Optional[List[Uri]]