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.2.1.post20250319.tar.gz (178.8 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.2.1.post20250319.tar.gz.

File metadata

File hashes

Hashes for aries_cloudcontroller-1.2.1.post20250319.tar.gz
Algorithm Hash digest
SHA256 0e19f5c250d5b96c0b9580a8ce895bbbaff7e8d54269e8a302e99fb059b0b4c7
MD5 1653c50132a0f35a5cffb857e7565c0f
BLAKE2b-256 7f2991f2b113e2b8e0cd9d823fc54e547a255d91acefdf7988df0d05b306e19d

See more details on using hashes here.

File details

Details for the file aries_cloudcontroller-1.2.1.post20250319-py3-none-any.whl.

File metadata

File hashes

Hashes for aries_cloudcontroller-1.2.1.post20250319-py3-none-any.whl
Algorithm Hash digest
SHA256 230514ca792f314a57b8b571afd5cd3c217eea4dcfb7b0985191a5ce8d08dcda
MD5 d64a3cb391fa7ea159f86e52b3d445b1
BLAKE2b-256 3ffcb9b26c922aa3400671c3f3ab97d47445c98b0b61cf5b1f6b92b8e056d87b

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