aries_cloudagent.core package
Subpackages
Submodules
aries_cloudagent.core.conductor module
aries_cloudagent.core.dispatcher module
aries_cloudagent.core.error module
Common exception classes.
- exception aries_cloudagent.core.error.BaseError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
Exception
Generic exception class which other exceptions should inherit from.
- exception aries_cloudagent.core.error.ProfileDuplicateError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.ProfileError
Profile with the given name already exists.
- exception aries_cloudagent.core.error.ProfileError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.BaseError
Base error for profile operations.
- exception aries_cloudagent.core.error.ProfileNotFoundError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.ProfileError
Requested profile was not found.
- exception aries_cloudagent.core.error.ProfileSessionInactiveError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.ProfileError
Error raised when a profile session is not currently active.
- exception aries_cloudagent.core.error.ProtocolDefinitionValidationError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.BaseError
Error raised when there is a problem validating a protocol definition.
- exception aries_cloudagent.core.error.ProtocolMinorVersionNotSupported(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.BaseError
Minimum minor version protocol error.
Error raised when protocol support exists but minimum minor version is higher than in @type parameter.
- exception aries_cloudagent.core.error.StartupError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.BaseError
Error raised when there is a problem starting the conductor.
aries_cloudagent.core.event_bus module
A simple event bus.
- class aries_cloudagent.core.event_bus.Event(topic: str, payload: Optional[Any] = None)[source]
Bases:
object
A simple event object.
- property payload
Return this event’s payload.
- property topic
Return this event’s topic.
- with_metadata(metadata: aries_cloudagent.core.event_bus.EventMetadata) aries_cloudagent.core.event_bus.EventWithMetadata [source]
Annotate event with metadata and return EventWithMetadata object.
- class aries_cloudagent.core.event_bus.EventBus[source]
Bases:
object
A simple event bus implementation.
- async notify(profile: Profile, event: aries_cloudagent.core.event_bus.Event)[source]
Notify subscribers of event.
- Parameters
profile (Profile) – context of the event
event (Event) – event to emit
- subscribe(pattern: Pattern, processor: Callable)[source]
Subscribe to an event.
- Parameters
pattern (Pattern) – compiled regular expression for matching topics
processor (Callable) – async callable accepting profile and event
- unsubscribe(pattern: Pattern, processor: Callable)[source]
Unsubscribe from an event.
This method is idempotent. Repeated calls to unsubscribe will not result in errors.
- Parameters
pattern (Pattern) – regular expression used to subscribe the processor
processor (Callable) – processor to unsubscribe
- wait_for_event(waiting_profile: Profile, pattern: Pattern, cond: Optional[Callable[[aries_cloudagent.core.event_bus.Event], bool]] = None) Iterator[Awaitable[aries_cloudagent.core.event_bus.Event]] [source]
Capture an event and retrieve its value.
- class aries_cloudagent.core.event_bus.EventMetadata(pattern: Pattern, match: Match[str])[source]
Bases:
tuple
Metadata passed alongside events to add context.
- property match
Alias for field number 1
- property pattern
Alias for field number 0
- class aries_cloudagent.core.event_bus.EventWithMetadata(topic: str, payload: Any, metadata: aries_cloudagent.core.event_bus.EventMetadata)[source]
Bases:
aries_cloudagent.core.event_bus.Event
Event with metadata passed alongside events to add context.
- property metadata: aries_cloudagent.core.event_bus.EventMetadata
Return metadata.
- class aries_cloudagent.core.event_bus.MockEventBus[source]
Bases:
aries_cloudagent.core.event_bus.EventBus
A mock EventBus for testing.
- async notify(profile: Profile, event: aries_cloudagent.core.event_bus.Event)[source]
Append the event to MockEventBus.events.
aries_cloudagent.core.goal_code_registry module
Handle registration and publication of supported goal codes.
aries_cloudagent.core.oob_processor module
aries_cloudagent.core.plugin_registry module
Handle registration of plugin modules for extending functionality.
- class aries_cloudagent.core.plugin_registry.PluginRegistry(blocklist: Iterable[str] = [])[source]
Bases:
object
Plugin registry for indexing application plugins.
- async init_context(context: aries_cloudagent.config.injection_context.InjectionContext)[source]
Call plugin setup methods on the current context.
- async load_protocol_version(context: aries_cloudagent.config.injection_context.InjectionContext, mod: module, version_definition: Optional[dict] = None)[source]
Load a particular protocol version.
- async load_protocols(context: aries_cloudagent.config.injection_context.InjectionContext, plugin: module)[source]
For modules that don’t implement setup, register protocols manually.
- property plugins: Sequence[module]
Accessor for a list of all plugin modules.
- register_package(package_name: str) Sequence[module] [source]
Register all modules (sub-packages) under a given package name.
- register_protocol_events(context: aries_cloudagent.config.injection_context.InjectionContext)[source]
Call route register_events methods on the current context.
aries_cloudagent.core.profile module
Classes for managing profile information within a request context.
- class aries_cloudagent.core.profile.Profile(*, context: Optional[aries_cloudagent.config.injection_context.InjectionContext] = None, name: Optional[str] = None, created: bool = False)[source]
Bases:
abc.ABC
Base abstraction for handling identity-related state.
- property context: aries_cloudagent.config.injection_context.InjectionContext
Accessor for the injection context.
- 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
- abstract session(context: Optional[aries_cloudagent.config.injection_context.InjectionContext] = None) aries_cloudagent.core.profile.ProfileSession [source]
Start a new interactive session with no transaction support requested.
- property settings: aries_cloudagent.config.base.BaseSettings
Accessor for scope-specific settings.
- abstract transaction(context: Optional[aries_cloudagent.config.injection_context.InjectionContext] = None) aries_cloudagent.core.profile.ProfileSession [source]
Start a new interactive session with commit and rollback support.
If the current backend does not support transactions, then commit and rollback operations of the session will not have any effect.
- class aries_cloudagent.core.profile.ProfileManager[source]
Bases:
abc.ABC
Handle provision and open for profile instances.
- abstract async open(context: aries_cloudagent.config.injection_context.InjectionContext, config: Optional[Mapping[str, Any]] = None) aries_cloudagent.core.profile.Profile [source]
Open an instance of an existing profile.
- abstract async provision(context: aries_cloudagent.config.injection_context.InjectionContext, config: Optional[Mapping[str, Any]] = None) aries_cloudagent.core.profile.Profile [source]
Provision a new instance of a profile.
- class aries_cloudagent.core.profile.ProfileManagerProvider[source]
Bases:
aries_cloudagent.config.base.BaseProvider
The standard profile manager provider which keys off the selected wallet type.
- MANAGER_TYPES = {'askar': 'aries_cloudagent.askar.profile.AskarProfileManager', 'in_memory': 'aries_cloudagent.core.in_memory.InMemoryProfileManager', 'indy': 'aries_cloudagent.indy.sdk.profile.IndySdkProfileManager'}
- provide(settings: aries_cloudagent.config.base.BaseSettings, injector: aries_cloudagent.config.base.BaseInjector)[source]
Create the profile manager instance.
- class aries_cloudagent.core.profile.ProfileSession(profile: aries_cloudagent.core.profile.Profile, *, context: Optional[aries_cloudagent.config.injection_context.InjectionContext] = None, settings: Optional[Mapping[str, Any]] = None)[source]
Bases:
abc.ABC
An active connection to the profile management backend.
- async commit()[source]
Commit any updates performed within the transaction.
If the current session is not a transaction, then nothing is performed.
- property context: aries_cloudagent.config.injection_context.InjectionContext
Accessor for the associated injection context.
- 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 profile: aries_cloudagent.core.profile.Profile
Accessor for the associated profile instance.
- async rollback()[source]
Roll back any updates performed within the transaction.
If the current session is not a transaction, then nothing is performed.
- property settings: aries_cloudagent.config.base.BaseSettings
Accessor for scope-specific settings.
aries_cloudagent.core.protocol_registry module
Handle registration and publication of supported protocols.
- class aries_cloudagent.core.protocol_registry.ProtocolRegistry[source]
Bases:
object
Protocol registry for indexing message families.
- create_msg_types_for_minor_version(typesets, version_definition)[source]
Return mapping of message type to module path for minor versions.
- Parameters
typesets – Mappings of message types to register
version_definition – Optional version definition dict
- Returns
Typesets mapping
- async prepare_disclosed(context: aries_cloudagent.config.injection_context.InjectionContext, protocols: Sequence[str])[source]
Call controllers and return publicly supported message families and roles.
- protocols_matching_query(query: str) Sequence[str] [source]
Return a list of message protocols matching a query string.
- register_controllers(*controller_sets, version_definition=None)[source]
Add new controllers.
- Parameters
controller_sets – Mappings of message families to coroutines