aries_cloudagent.config package

Submodules

aries_cloudagent.config.argparse module

aries_cloudagent.config.banner module

Module to contain logic to generate the banner for ACA-py.

class aries_cloudagent.config.banner.Banner(border: str, length: int)[source]

Bases: object

Management class to generate a banner for ACA-py.

lr_pad(content: str)[source]

Pad string content with defined border character.

Parameters

content – String content to pad

print_border()[source]

Print a full line using the border character.

print_list(items)[source]

Print a list of items, prepending a dash to each item.

print_spacer()[source]

Print an empty line with the border character only.

print_subtitle(title)[source]

Print a subtitle for a section.

print_title(title)[source]

Print the main title element.

print_version(version)[source]

Print the current version.

aries_cloudagent.config.base module

Configuration base classes.

class aries_cloudagent.config.base.BaseInjector[source]

Bases: abc.ABC

Base injector class.

abstract copy() aries_cloudagent.config.base.BaseInjector[source]

Produce a copy of the injector instance.

abstract inject(base_cls: Type[aries_cloudagent.config.base.InjectType], settings: Optional[Mapping[str, Any]] = None) aries_cloudagent.config.base.InjectType[source]

Get the provided instance of a given class identifier.

Parameters
  • cls – The base class to retrieve an instance of

  • settings – An optional mapping providing configuration to the provider

Returns

An instance of the base class, or None

abstract inject_or(base_cls: Type[aries_cloudagent.config.base.InjectType], settings: Optional[Mapping[str, Any]] = None, default: Optional[aries_cloudagent.config.base.InjectType] = None) Optional[aries_cloudagent.config.base.InjectType][source]

Get the provided instance of a given class identifier or default if not found.

Parameters
  • base_cls – The base class to retrieve an instance of

  • settings – An optional dict providing configuration to the provider

  • default – default return value if no instance is found

Returns

An instance of the base class, or None

class aries_cloudagent.config.base.BaseProvider[source]

Bases: abc.ABC

Base provider class.

provide(settings: aries_cloudagent.config.base.BaseSettings, injector: aries_cloudagent.config.base.BaseInjector)[source]

Provide the object instance given a config and injector.

class aries_cloudagent.config.base.BaseSettings(*args, **kwds)[source]

Bases: Mapping[str, Any]

Base settings class.

abstract copy() aries_cloudagent.config.base.BaseSettings[source]

Produce a copy of the settings instance.

abstract extend(other: Mapping[str, Any]) aries_cloudagent.config.base.BaseSettings[source]

Merge another mapping to produce a new settings instance.

get_bool(*var_names, default: Optional[bool] = None) Optional[bool][source]

Fetch a setting as a boolean value.

Parameters
  • var_names – A list of variable name alternatives

  • default – The default value to return if none are defined

get_int(*var_names, default: Optional[int] = None) Optional[int][source]

Fetch a setting as an integer value.

Parameters
  • var_names – A list of variable name alternatives

  • default – The default value to return if none are defined

get_str(*var_names, default: Optional[str] = None) Optional[str][source]

Fetch a setting as a string value.

Parameters
  • var_names – A list of variable name alternatives

  • default – The default value to return if none are defined

abstract get_value(*var_names, default: Optional[Any] = None) Any[source]

Fetch a setting.

Parameters
  • var_names – A list of variable name alternatives

  • default – The default value to return if none are defined

Returns

The setting value, if defined, otherwise the default value

exception aries_cloudagent.config.base.ConfigError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

A base exception for all configuration errors.

exception aries_cloudagent.config.base.InjectionError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: aries_cloudagent.config.base.ConfigError

The base exception raised by Injector and Provider implementations.

exception aries_cloudagent.config.base.SettingsError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: aries_cloudagent.config.base.ConfigError

The base exception raised by BaseSettings implementations.

aries_cloudagent.config.base_context module

Base injection context builder classes.

class aries_cloudagent.config.base_context.ContextBuilder(settings: Optional[Mapping[str, Any]] = None)[source]

Bases: abc.ABC

Base injection context builder class.

abstract async build_context() aries_cloudagent.config.injection_context.InjectionContext[source]

Build the base injection context.

update_settings(settings: Mapping[str, object])[source]

Update the context builder with additional settings.

aries_cloudagent.config.default_context module

aries_cloudagent.config.error module

Errors for config modules.

exception aries_cloudagent.config.error.ArgsParseError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: aries_cloudagent.config.base.ConfigError

Error raised when there is a problem parsing the command-line arguments.

aries_cloudagent.config.injection_context module

Injection context implementation.

class aries_cloudagent.config.injection_context.InjectionContext(*, settings: Optional[Mapping[str, object]] = None, enforce_typing: bool = True)[source]

Bases: aries_cloudagent.config.base.BaseInjector

Manager for configuration settings and class providers.

ROOT_SCOPE = 'application'
copy() aries_cloudagent.config.injection_context.InjectionContext[source]

Produce a copy of the injector instance.

inject(base_cls: Type[aries_cloudagent.config.base.InjectType], settings: Optional[Mapping[str, object]] = None) aries_cloudagent.config.base.InjectType[source]

Get the provided instance of a given class identifier.

Parameters
  • cls – The base class to retrieve an instance of

  • settings – An optional mapping providing configuration to the provider

Returns

An instance of the base class, or None

inject_or(base_cls: Type[aries_cloudagent.config.base.InjectType], settings: Optional[Mapping[str, object]] = None, default: Optional[aries_cloudagent.config.base.InjectType] = None) Optional[aries_cloudagent.config.base.InjectType][source]

Get the provided instance of a given class identifier or default if not found.

Parameters
  • base_cls – The base class to retrieve an instance of

  • settings – An optional dict providing configuration to the provider

  • default – default return value if no instance is found

Returns

An instance of the base class, or None

property injector: aries_cloudagent.config.injector.Injector

Accessor for scope-specific injector.

injector_for_scope(scope_name: str) aries_cloudagent.config.injector.Injector[source]

Fetch the injector for a specific scope.

Parameters

scope_name – The unique scope identifier

property scope_name: str

Accessor for the current scope name.

property settings: aries_cloudagent.config.settings.Settings

Accessor for scope-specific settings.

start_scope(scope_name: str, settings: Optional[Mapping[str, object]] = None) aries_cloudagent.config.injection_context.InjectionContext[source]

Begin a new named scope.

Parameters
  • scope_name – The unique name for the scope being entered

  • settings – An optional mapping of additional settings to apply

Returns

A new injection context representing the scope

update_settings(settings: Mapping[str, object])[source]

Update the scope with additional settings.

exception aries_cloudagent.config.injection_context.InjectionContextError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: aries_cloudagent.config.base.InjectionError

Base class for issues in the injection context.

class aries_cloudagent.config.injection_context.Scope(name, injector)

Bases: tuple

property injector

Alias for field number 1

property name

Alias for field number 0

aries_cloudagent.config.injector module

Standard Injector implementation.

class aries_cloudagent.config.injector.Injector(settings: Optional[Mapping[str, object]] = None, *, enforce_typing: bool = True)[source]

Bases: aries_cloudagent.config.base.BaseInjector

Injector implementation with static and dynamic bindings.

bind_instance(base_cls: Type[aries_cloudagent.config.base.InjectType], instance: aries_cloudagent.config.base.InjectType)[source]

Add a static instance as a class binding.

bind_provider(base_cls: Type[aries_cloudagent.config.base.InjectType], provider: aries_cloudagent.config.base.BaseProvider, *, cache: bool = False)[source]

Add a dynamic instance resolver as a class binding.

clear_binding(base_cls: Type[aries_cloudagent.config.base.InjectType])[source]

Remove a previously-added binding.

copy() aries_cloudagent.config.base.BaseInjector[source]

Produce a copy of the injector instance.

get_provider(base_cls: Type[aries_cloudagent.config.base.InjectType])[source]

Find the provider associated with a class binding.

inject(base_cls: Type[aries_cloudagent.config.base.InjectType], settings: Optional[Mapping[str, object]] = None) aries_cloudagent.config.base.InjectType[source]

Get the provided instance of a given class identifier.

Parameters
  • cls – The base class to retrieve an instance of

  • params – An optional dict providing configuration to the provider

Returns

An instance of the base class, or None

inject_or(base_cls: Type[aries_cloudagent.config.base.InjectType], settings: Optional[Mapping[str, object]] = None, default: Optional[aries_cloudagent.config.base.InjectType] = None) Optional[aries_cloudagent.config.base.InjectType][source]

Get the provided instance of a given class identifier or default if not found.

Parameters
  • base_cls – The base class to retrieve an instance of

  • settings – An optional dict providing configuration to the provider

  • default – default return value if no instance is found

Returns

An instance of the base class, or None

property settings: aries_cloudagent.config.settings.Settings

Accessor for scope-specific settings.

aries_cloudagent.config.ledger module

aries_cloudagent.config.logging module

Utilities related to logging.

class aries_cloudagent.config.logging.LoggingConfigurator[source]

Bases: object

Utility class used to configure logging and print an informative start banner.

classmethod configure(logging_config_path: Optional[str] = None, log_level: Optional[str] = None, log_file: Optional[str] = None)[source]

Configure logger.

Parameters
  • logging_config_path – str: (Default value = None) Optional path to custom logging config

  • log_level – str: (Default value = None)

classmethod print_banner(agent_label, inbound_transports, outbound_transports, public_did, admin_server=None, banner_length=40, border_character=':')[source]

Print a startup banner describing the configuration.

Parameters
  • agent_label – Agent Label

  • inbound_transports – Configured inbound transports

  • outbound_transports – Configured outbound transports

  • admin_server – Admin server info

  • public_did – Public DID

  • banner_length – (Default value = 40) Length of the banner

  • border_character – (Default value = “:”) Character to use in banner

  • border

aries_cloudagent.config.logging.load_resource(path: str, encoding: Optional[str] = None) TextIO[source]

Open a resource file located in a python package or the local filesystem.

Parameters

path – The resource path in the form of dir/file or package:dir/file

Returns

A file-like object representing the resource

aries_cloudagent.config.plugin_settings module

Settings implementation for plugins.

class aries_cloudagent.config.plugin_settings.PluginSettings(values: Optional[Mapping[str, Any]] = None)[source]

Bases: Mapping[str, Any]

Retrieve immutable settings for plugins.

Plugin settings should be retrieved by calling:

PluginSettings.for_plugin(settings, “my_plugin”, {“default”: “values”})

This will extract the PLUGIN_CONFIG_KEY in “settings” and return a new PluginSettings instance.

copy() aries_cloudagent.config.base.BaseSettings[source]

Produce a copy of the settings instance.

extend(other: Mapping[str, Any]) aries_cloudagent.config.base.BaseSettings[source]

Merge another settings instance to produce a new instance.

classmethod for_plugin(settings: aries_cloudagent.config.base.BaseSettings, plugin: str, default: Optional[Mapping[str, Any]] = None) aries_cloudagent.config.plugin_settings.PluginSettings[source]

Construct a PluginSettings object from another settings object.

PLUGIN_CONFIG_KEY is read from settings.

get_value(*var_names: str, default: Optional[Any] = None)[source]

Fetch a setting.

Parameters
  • var_names – A list of variable name alternatives

  • default – The default value to return if none are defined

aries_cloudagent.config.provider module

Service provider implementations.

class aries_cloudagent.config.provider.CachedProvider(provider: aries_cloudagent.config.base.BaseProvider, unique_settings_keys: tuple = ())[source]

Bases: aries_cloudagent.config.base.BaseProvider

Cache the result of another provider.

provide(config: aries_cloudagent.config.base.BaseSettings, injector: aries_cloudagent.config.base.BaseInjector)[source]

Provide the object instance given a config and injector.

Instances are cached keyed on a SHA256 digest of the relevant subset of settings.

class aries_cloudagent.config.provider.ClassProvider(instance_cls: Union[str, type], *ctor_args, init_method: Optional[str] = None, **ctor_kwargs)[source]

Bases: aries_cloudagent.config.base.BaseProvider

Provider for a particular class.

class Inject(base_cls: type)[source]

Bases: object

A class for passing injected arguments to the constructor.

provide(config: aries_cloudagent.config.base.BaseSettings, injector: aries_cloudagent.config.base.BaseInjector)[source]

Provide the object instance given a config and injector.

class aries_cloudagent.config.provider.InstanceProvider(instance)[source]

Bases: aries_cloudagent.config.base.BaseProvider

Provider for a previously-created instance.

provide(config: aries_cloudagent.config.base.BaseSettings, injector: aries_cloudagent.config.base.BaseInjector)[source]

Provide the object instance given a config and injector.

class aries_cloudagent.config.provider.StatsProvider(provider: aries_cloudagent.config.base.BaseProvider, methods: Sequence[str], *, ignore_missing: bool = True)[source]

Bases: aries_cloudagent.config.base.BaseProvider

Add statistics to the results of another provider.

provide(config: aries_cloudagent.config.base.BaseSettings, injector: aries_cloudagent.config.base.BaseInjector)[source]

Provide the object instance given a config and injector.

aries_cloudagent.config.settings module

Settings implementation.

class aries_cloudagent.config.settings.Settings(values: Optional[Mapping[str, Any]] = None)[source]

Bases: aries_cloudagent.config.base.BaseSettings, MutableMapping[str, Any]

Mutable settings implementation.

clear_value(var_name: str)[source]

Remove a setting.

Parameters

var_name – The name of the setting

copy() aries_cloudagent.config.base.BaseSettings[source]

Produce a copy of the settings instance.

extend(other: Mapping[str, Any]) aries_cloudagent.config.base.BaseSettings[source]

Merge another settings instance to produce a new instance.

for_plugin(plugin: str, default: Optional[Mapping[str, Any]] = None)[source]

Retrieve settings for plugin.

get_value(*var_names, default=None)[source]

Fetch a setting.

Parameters
  • var_names – A list of variable name alternatives

  • default – The default value to return if none are defined

set_default(var_name: str, value)[source]

Add a setting if not currently defined.

Parameters
  • var_name – The name of the setting

  • value – The value to assign

set_value(var_name: str, value)[source]

Add a setting.

Parameters
  • var_name – The name of the setting

  • value – The value to assign

update(other: Mapping[str, Any])[source]

Update the settings in place.

aries_cloudagent.config.util module

Entrypoint.

class aries_cloudagent.config.util.BoundedInt(min: Optional[int] = None, max: Optional[int] = None)[source]

Bases: object

Argument value parser for a bounded integer.

class aries_cloudagent.config.util.ByteSize(min: int = 0, max: Optional[int] = None)[source]

Bases: object

Argument value parser for byte sizes.

aries_cloudagent.config.util.common_config(settings: Mapping[str, Any])[source]

Perform common app configuration.

aries_cloudagent.config.wallet module