Package: aries-cloudcontroller
Aries CloudController PythonFeatures|Usage|Available APIs|Contributing|LicenseThe Aries CloudController is a Python-based client library for interacting with an instance ofAries Cloud Agent(ACA-Py). It leverages the OpenAPI definition from ACA-Py to provide a fully-typed, rich API experience for cloud agent interaction.Versioning Update:As of version 0.8.0, the Aries CloudController has aligned its versioning with ACA-Py. This means that each new version of ACA-Py will correspond directly to the same version of the Aries CloudController. This change ensures a more straightforward and predictable upgrade path for users.In other words, CloudController 0.8.0 is compatible with ACA-Py 0.8.0, CloudController 0.9.0 is compatible with ACA-Py 0.9.0, etc.For legacy versions, please review our release history to found the version compatible with ACA-Py pre-0.8.0.FeaturesAries CloudController Python provides a robust client for interacting with Aries Cloud Agents (ACA-Py).Fully Typed: Offers a strongly-typed wrapper around the Aries Cloud Agent Python, enhancing developer experience and reducing errors.Up-to-Date Support: Compatible with the latest ACA-Py version (0.11.0), ensuring access to the most recent features and improvements.Auto-Generated Client: Utilizes OpenAPI definitions for automatic generation, ensuring timely updates in line with new ACA-Py releases.Multi-Tenancy and Authentication Support: Facilitates working with multi-tenant APIs and integrates various authentication mechanisms.Asynchronous API: Supports asynchronous operations, enabling efficient handling of I/O-bound tasks.UsageInstall Aries Cloud Controller Python via pip:pipinstallaries-cloudcontrollerCreating a ClientEasily initialize the AcaPyClient:fromaries_cloudcontrollerimportAcaPyClientclient=AcaPyClient(base_url="http://localhost:8000",api_key="myApiKey")Admin Insecure Mode: If running ACA-Py with the--admin-insecure-modeflag and without an API key:client=AcaPyClient(base_url="http://localhost:8000",admin_insecure=True# No API key needed)Multitenancy: For specific tenant contexts:client=AcaPyClient(base_url="http://localhost:8000",tenant_jwt="eyXXX")Interacting with the ClientThe API, being fully typed, is best explored through the ACA-Py Swagger UI, which mirrors the available client properties.Example: Creating and receiving an invitation:invitation=awaitclient.connection.create_invitation(body=CreateInvitationRequest(my_label="Cloud Controller"))connection=awaitclient.connection.receive_invitation(body=invitation.invitation)Available APIsThe client encompasses various APIs, each corresponding to ACA-Py Swagger UI topics:action_menubasicmessageconnectioncredential_definitioncredentialsdefaultdid_exchangediscover_featuresdiscover_features_v2_0endorse_transactionintroductionissue_credential_v1_0issue_credential_v2_0jsonldledgermediationmultitenancyout_of_bandpresent_proof_v1_0present_proof_v2_0resolverrevocationschemaserversettingstrustpingwalletContributingContributions are welcome! Please see ourCONTRIBUTINGguidelines for more information on how to get involved.LicenseThis project is licensed under theApache License Version 2.0 (Apache-2.0).