aries_cloudagent.askar package

Subpackages

Submodules

aries_cloudagent.askar.profile module

aries_cloudagent.askar.profile_anon module

Manage Aries-Askar profile interaction.

class aries_cloudagent.askar.profile_anon.AskarAnonProfileManager[source]

Bases: ProfileManager

Manager for Aries-Askar stores.

async classmethod generate_store_key(seed: Optional[str] = None) str[source]

Generate a raw store key.

async open(context: InjectionContext, config: Optional[Mapping[str, Any]] = None) Profile[source]

Open an instance of an existing profile.

async provision(context: InjectionContext, config: Optional[Mapping[str, Any]] = None) Profile[source]

Provision a new instance of a profile.

class aries_cloudagent.askar.profile_anon.AskarAnoncredsProfile(opened: AskarOpenStore, context: Optional[InjectionContext] = None, *, profile_id: Optional[str] = None)[source]

Bases: Profile

Provide access to Aries-Askar profile interaction methods.

BACKEND_NAME: str = 'askar-anoncreds'
TEST_PROFILE_NAME = 'test-profile'
bind_providers()[source]

Initialize the profile-level instance providers.

async close()[source]

Close the profile instance.

init_ledger_pool()[source]

Initialize the ledger pool.

property name: str

Accessor for the profile name.

async remove()[source]

Remove the profile.

session(context: Optional[InjectionContext] = None) AskarAnoncredsProfileSession[source]

Start a new interactive session with no transaction support requested.

property store: aries_askar.Store

Accessor for the opened Store instance.

transaction(context: Optional[InjectionContext] = None) AskarAnoncredsProfileSession[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.askar.profile_anon.AskarAnoncredsProfileSession(profile: AskarAnoncredsProfile, is_txn: bool, *, context: Optional[InjectionContext] = None, settings: Optional[Mapping[str, Any]] = None)[source]

Bases: ProfileSession

An active connection to the profile management backend.

property handle: aries_askar.Session

Accessor for the Session instance.

property is_transaction: bool

Check if the session supports commit and rollback operations.

property store: aries_askar.Store

Accessor for the Store instance.

aries_cloudagent.askar.store module

Aries-Askar backend store configuration.

class aries_cloudagent.askar.store.AskarOpenStore(config: AskarStoreConfig, created, store: aries_askar.Store)[source]

Bases: object

Handle and metadata for an opened Askar store.

async close()[source]

Close previously-opened store, removing it if so configured.

property name: str

Accessor for the store name.

class aries_cloudagent.askar.store.AskarStoreConfig(config: Optional[dict] = None)[source]

Bases: object

A helper class for handling Askar store configuration.

DEFAULT_KEY = ''
DEFAULT_KEY_DERIVATION = 'kdf:argon2i:mod'
DEFAULT_STORAGE_TYPE = None
KEY_DERIVATION_ARGON2I_INT = 'kdf:argon2i:int'
KEY_DERIVATION_ARGON2I_MOD = 'kdf:argon2i:mod'
KEY_DERIVATION_RAW = 'RAW'
get_uri(create: bool = False) str[source]

Accessor for the storage URI.

async open_store(provision: bool = False) AskarOpenStore[source]

Open a store, removing and/or creating it if so configured.

Raises
  • ProfileNotFoundError – If the store is not found

  • ProfileError – If there is another aries_askar error

async remove_store()[source]

Remove an existing store.

Raises
  • ProfileNotFoundError – If the wallet could not be found

  • ProfileError – If there was another aries_askar error