A simple python client for controlling an ACA-Py agent
Project description
Aries CloudController Python
Features | Usage | Available APIs | Contributing | License
The Aries CloudController is a Python-based client library for interacting with an instance of Aries 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.
Features
Aries 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 (1.1.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.
Usage
Install Aries Cloud Controller Python via pip:
pip install aries-cloudcontroller
Creating a Client
Easily initialize the AcaPyClient:
from aries_cloudcontroller import AcaPyClient
client = AcaPyClient(
base_url="http://localhost:8000",
api_key="myApiKey"
)
Admin Insecure Mode: If running ACA-Py with the --admin-insecure-mode flag 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 Client
The 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 = await client.connection.create_invitation(
body=CreateInvitationRequest(my_label="Cloud Controller")
)
connection = await client.connection.receive_invitation(body=invitation.invitation)
Available APIs
The client encompasses various APIs, each corresponding to ACA-Py Swagger UI topics:
action_menuanoncreds_credential_definitionsanoncreds_revocationanoncreds_schemasanoncreds_wallet_upgradebasicmessageconnectioncredential_definitioncredentialsdefaultdid_exchangedid_rotatediscover_featuresdiscover_features_v2_0endorse_transactionintroductionissue_credential_v1_0issue_credential_v2_0jsonldledgermediationmultitenancyout_of_bandpresent_proof_v1_0present_proof_v2_0resolverrevocationschemaserversettingstrustpingvcwallet
Contributing
Contributions are welcome! Please see our CONTRIBUTING guidelines for more information on how to get involved.
License
This project is licensed under the Apache License Version 2.0 (Apache-2.0).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aries_cloudcontroller-1.2.1.post20250319.tar.gz.
File metadata
- Download URL: aries_cloudcontroller-1.2.1.post20250319.tar.gz
- Upload date:
- Size: 178.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e19f5c250d5b96c0b9580a8ce895bbbaff7e8d54269e8a302e99fb059b0b4c7
|
|
| MD5 |
1653c50132a0f35a5cffb857e7565c0f
|
|
| BLAKE2b-256 |
7f2991f2b113e2b8e0cd9d823fc54e547a255d91acefdf7988df0d05b306e19d
|
File details
Details for the file aries_cloudcontroller-1.2.1.post20250319-py3-none-any.whl.
File metadata
- Download URL: aries_cloudcontroller-1.2.1.post20250319-py3-none-any.whl
- Upload date:
- Size: 674.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
230514ca792f314a57b8b571afd5cd3c217eea4dcfb7b0985191a5ce8d08dcda
|
|
| MD5 |
d64a3cb391fa7ea159f86e52b3d445b1
|
|
| BLAKE2b-256 |
3ffcb9b26c922aa3400671c3f3ab97d47445c98b0b61cf5b1f6b92b8e056d87b
|