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.0rc1.post20250417.tar.gz (179.6 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.0rc1.post20250417.tar.gz.

File metadata

File hashes

Hashes for aries_cloudcontroller-1.3.0rc1.post20250417.tar.gz
Algorithm Hash digest
SHA256 c0ae1c1ac2739522272aa8d4403368a2e8e0225ce543b43dfec4a2527345c864
MD5 b3a9c2ff13878879ddfcd8774b46aa3d
BLAKE2b-256 3b09924af7f77783417aa504b6a506b8cb87f46f9b3a9278bba1bbd16fc292d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aries_cloudcontroller-1.3.0rc1.post20250417-py3-none-any.whl
Algorithm Hash digest
SHA256 03d4b9592dcff4e93b61f4742db8ad1f4d93591e81be64528e6d15159c5d6766
MD5 9dc235d6a02bd04435f3577b4149bf76
BLAKE2b-256 df90f3267f1266749b315311204014a2ee147ed8b2047da9cdb205f276b1eab6

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