aries_cloudagent.config package
Submodules
aries_cloudagent.config.argparse module
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]
-
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
- 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.
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 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
- 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.
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]
-
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.
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.
- 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
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.