Skip to main content

A simple python client for controlling an ACA-Py agent

Project description


Hyperledger Aries logo

Aries CloudController Python

aries-cloudcontroller version License 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_menu
  • anoncreds_credential_definitions
  • anoncreds_revocation
  • anoncreds_schemas
  • anoncreds_wallet_upgrade
  • basicmessage
  • connection
  • credential_definition
  • credentials
  • default
  • did_exchange
  • did_rotate
  • discover_features
  • discover_features_v2_0
  • endorse_transaction
  • introduction
  • issue_credential_v1_0
  • issue_credential_v2_0
  • jsonld
  • ledger
  • mediation
  • multitenancy
  • out_of_band
  • present_proof_v1_0
  • present_proof_v2_0
  • resolver
  • revocation
  • schema
  • server
  • settings
  • trustping
  • vc
  • wallet

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

aries_cloudcontroller-1.3.0.post20250526.tar.gz (179.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file aries_cloudcontroller-1.3.0.post20250526.tar.gz.

File metadata

File hashes

Hashes for aries_cloudcontroller-1.3.0.post20250526.tar.gz
Algorithm Hash digest
SHA256 8f4cc4a9a037c446c22279299ac1d019ab2ba7ddf60f55c2ab7529a917ff073e
MD5 b9cfccb16f04afbe480f10899adb1404
BLAKE2b-256 7c4d11c5e8cb8caba8480441d3c045e6c63eb28db2432fd1114f96286d098994

See more details on using hashes here.

File details

Details for the file aries_cloudcontroller-1.3.0.post20250526-py3-none-any.whl.

File metadata

File hashes

Hashes for aries_cloudcontroller-1.3.0.post20250526-py3-none-any.whl
Algorithm Hash digest
SHA256 f251951814330a06b474e30cf96b8697433fb7129f42e3cc37700b727d023ad6
MD5 901874fc6c3f3217a9048b1f30a6a6d4
BLAKE2b-256 7744b9236f0c5675a337bd179d9429e1482621f778b2e999e7a8d3cbbc82df3d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page