acapy_agent.config package

Subpackages

Submodules

acapy_agent.config.argparse module

acapy_agent.config.banner module

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

acapy_agent.config.banner.Banner(border: str, length: int, file: TextIO | None = None)[source]

Context manager to generate a banner for ACA-py.

acapy_agent.config.base module

Configuration base classes.

class acapy_agent.config.base.BaseInjector[source]

Bases: ABC

Base injector class.

abstractmethod copy() BaseInjector[source]

Produce a copy of the injector instance.

abstractmethod inject(base_cls: Type[InjectType], settings: Mapping[str, Any] | None = None) InjectType[source]

Get the provided instance of a given class identifier.

Parameters:
  • base_cls (Type[InjectType]) – The base class to retrieve an instance of.

  • settings (Optional[Mapping[str, Any]]) – An optional mapping providing configuration to the provider.

Returns:

An instance of the base class, or None.

Return type:

InjectType

abstractmethod inject_or(base_cls: Type[InjectType], settings: Mapping[str, Any] | None = None, default: InjectType | None = None) InjectType | None[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 acapy_agent.config.base.BaseProvider[source]

Bases: ABC

Base provider class.

provide(settings: BaseSettings, injector: BaseInjector) Any[source]

Provide the object instance given a config and injector.

class acapy_agent.config.base.BaseSettings[source]

Bases: Mapping[str, Any]

Base settings class.

abstractmethod copy() BaseSettings[source]

Produce a copy of the settings instance.

abstractmethod extend(other: Mapping[str, Any]) BaseSettings[source]

Merge another mapping to produce a new settings instance.

get_bool(*var_names, default: bool | None = None) bool | None[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: int | None = None) int | None[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: str | None = None) str | None[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

abstractmethod get_value(*var_names, default: Any | None = 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

abstractmethod to_dict() dict[source]

Return a dict of the settings instance.

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

Bases: BaseError

A base exception for all configuration errors.

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

Bases: ConfigError

The base exception raised by Injector and Provider implementations.

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

Bases: ConfigError

The base exception raised by BaseSettings implementations.

acapy_agent.config.base_context module

Base injection context builder classes.

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

Bases: ABC

Base injection context builder class.

abstractmethod async build_context() InjectionContext[source]

Build the base injection context.

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

Update the context builder with additional settings.

acapy_agent.config.default_context module

acapy_agent.config.error module

Errors for config modules.

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

Bases: ConfigError

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

acapy_agent.config.injection_context module

Injection context implementation.

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

Bases: BaseInjector

Manager for configuration settings and class providers.

ROOT_SCOPE = 'application'
copy() InjectionContext[source]

Produce a copy of the injector instance.

inject(base_cls: Type[InjectType], settings: Mapping[str, object] | None = None) InjectType[source]

Get the provided instance of a given class identifier.

Parameters:
  • base_cls (Type[InjectType]) – The base class to retrieve an instance of.

  • settings (Optional[Mapping[str, object]]) – An optional mapping providing configuration to the provider.

Returns:

An instance of the base class, or None.

Return type:

InjectType

inject_or(base_cls: Type[InjectType], settings: Mapping[str, object] | None = None, default: InjectType | None = None) InjectType | None[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: Injector

Accessor for scope-specific injector.

property settings: Settings

Accessor for scope-specific settings.

start_scope(settings: Mapping[str, object] | None = None) 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 acapy_agent.config.injection_context.InjectionContextError(*args, error_code: str | None = None, **kwargs)[source]

Bases: InjectionError

Base class for issues in the injection context.

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

Bases: tuple

injector

Alias for field number 1

name

Alias for field number 0

acapy_agent.config.injector module

Standard Injector implementation.

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

Bases: BaseInjector

Injector implementation with static and dynamic bindings.

bind_instance(base_cls: Type[InjectType], instance: InjectType)[source]

Add a static instance as a class binding.

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

Add a dynamic instance resolver as a class binding.

clear_binding(base_cls: Type[InjectType])[source]

Remove a previously-added binding.

copy() BaseInjector[source]

Produce a copy of the injector instance.

get_provider(base_cls: Type[InjectType])[source]

Find the provider associated with a class binding.

inject(base_cls: Type[InjectType], settings: Mapping[str, object] | None = None) InjectType[source]

Get the provided instance of a given class identifier.

Parameters:
  • base_cls (Type[InjectType]) – The base class to retrieve an instance of.

  • settings (Optional[Mapping[str, object]]) – An optional dictionary providing configuration to the provider.

Returns:

An instance of the base class, or None.

Return type:

InjectType

Raises:

InjectionError – If no instance is provided for the given class identifier.

inject_or(base_cls: Type[InjectType], settings: Mapping[str, object] | None = None, default: InjectType | None = None) InjectType | None[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: Settings

Accessor for scope-specific settings.

soft_bind_instance(base_cls: Type[InjectType], instance: InjectType)[source]

Add a static instance as a soft class binding.

The binding occurs only if a provider for the same type does not already exist.

soft_bind_provider(base_cls: Type[InjectType], provider: BaseProvider, *, cache: bool = False)[source]

Add a dynamic instance resolver as a soft class binding.

The binding occurs only if a provider for the same type does not already exist.

acapy_agent.config.ledger module

Ledger configuration.

async acapy_agent.config.ledger.accept_taa(ledger: BaseLedger, profile: Profile, taa_info, provision: bool = False) bool[source]

Perform TAA acceptance.

async acapy_agent.config.ledger.fetch_genesis_from_url_or_file(genesis_url: str | None, genesis_path: str | None) str[source]

Fetch genesis transactions from URL or file.

async acapy_agent.config.ledger.fetch_genesis_transactions(genesis_url: str) str[source]

Get genesis transactions.

async acapy_agent.config.ledger.get_genesis_transactions(settings: Settings) str[source]

Fetch genesis transactions if necessary.

async acapy_agent.config.ledger.ledger_config(profile: Profile, public_did: str, provision: bool = False) bool[source]

Perform Indy ledger configuration.

async acapy_agent.config.ledger.load_multiple_genesis_transactions_from_config(settings: Settings) None[source]

Fetch genesis transactions for multiple ledger configuration.

async acapy_agent.config.ledger.select_aml_tty(taa_info, provision: bool = False) str | None[source]

Select acceptance mechanism from AML.

acapy_agent.config.plugin_settings module

Settings implementation for plugins.

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

Bases: BaseSettings

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() BaseSettings[source]

Produce a copy of the settings instance.

extend(other: Mapping[str, Any]) BaseSettings[source]

Merge another settings instance to produce a new instance.

classmethod for_plugin(settings: BaseSettings, plugin: str, default: Mapping[str, Any] | None = None) PluginSettings[source]

Construct a PluginSettings object from another settings object.

PLUGIN_CONFIG_KEY is read from settings.

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

Fetch a setting.

Parameters:
  • var_names – A list of variable name alternatives

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

to_dict() dict[source]

Return a dict of the settings instance.

acapy_agent.config.provider module

Service provider implementations.

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

Bases: BaseProvider

Cache the result of another provider.

provide(config: BaseSettings, injector: 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 acapy_agent.config.provider.ClassProvider(instance_cls: str | type, *ctor_args, init_method: str | None = None, **ctor_kwargs)[source]

Bases: 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: BaseSettings, injector: BaseInjector)[source]

Provide the object instance given a config and injector.

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

Bases: BaseProvider

Provider for a previously-created instance.

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

Provide the object instance given a config and injector.

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

Bases: BaseProvider

Add statistics to the results of another provider.

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

Provide the object instance given a config and injector.

acapy_agent.config.settings module

Settings implementation.

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

Bases: 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() BaseSettings[source]

Produce a copy of the settings instance.

extend(other: Mapping[str, Any]) BaseSettings[source]

Merge another settings instance to produce a new instance.

for_plugin(plugin: str, default: Mapping[str, Any] | None = 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

to_dict() dict[source]

Return a dict of the settings instance.

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

Update the settings in place.

acapy_agent.config.util module

acapy_agent.config.wallet module