polywrap_client_config_builder.polywrap_client_config_builder module
This module provides a simple builder for building a ClientConfig object.
- class polywrap_client_config_builder.polywrap_client_config_builder.PolywrapClientConfigBuilder[source]
Bases:
BaseConfigure,EnvConfigure,InterfaceConfigure,PackageConfigure,RedirectConfigure,ResolverConfigure,WrapperConfigure,ClientConfigBuilderDefines the default polywrap client config builder for building a ClientConfig object for the Polywrap Client.
The PolywrapClientConfigBuilder is used to create a ClientConfig object, which is used to configure the Polywrap Client and its sub-components. PolywrapClientConfigBuilder provides a simple interface for setting the redirects, wrappers, packages, and other configuration options for the Polywrap Client.
Examples
>>> from polywrap_client_config_builder import PolywrapClientConfigBuilder >>> from polywrap_uri_resolvers import RecursiveResolver >>> from polywrap_core import Uri >>> config = ( ... PolywrapClientConfigBuilder() ... .set_env(Uri.from_str("test/uri"), {"hello": "world"}) ... .add_interface_implementations( ... Uri.from_str("test/interface"), ... [Uri.from_str("test/impl1"), Uri.from_str("test/impl2")], ... ) ... .set_redirect(Uri("test", "from"), Uri("test", "to")) ... .set_env(Uri("test", "to"), {"foo": "bar"}) ... .build() ... ) >>> config.envs {Uri("test", "uri"): {'hello': 'world'}, Uri("test", "to"): {'foo': 'bar'}} >>> config.interfaces {Uri("test", "interface"): [Uri("test", "impl1"), Uri("test", "impl2")]} >>> isinstance(config.resolver, RecursiveResolver) True
- add_bundle(bundles: Dict[str, BundlePackage]) ClientConfigBuilder[source]
Add the bundle to the builder’s config.
- build(options: BuildOptions | None = None) ClientConfig[source]
Build the ClientConfig object from the builder’s config.