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.4.0.post20251118.tar.gz (182.2 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.4.0.post20251118.tar.gz.

File metadata

File hashes

Hashes for aries_cloudcontroller-1.4.0.post20251118.tar.gz
Algorithm Hash digest
SHA256 cfb6f6b53b0b83e0727b5bfbed72caf06d35bf7654c86217e44b19c474d39f80
MD5 56391c281216d659bcd17cae7e96805c
BLAKE2b-256 df90dfb56afe9df695f501dce1c379742bfc1e78263c6d3001d4463081940a15

See more details on using hashes here.

File details

Details for the file aries_cloudcontroller-1.4.0.post20251118-py3-none-any.whl.

File metadata

File hashes

Hashes for aries_cloudcontroller-1.4.0.post20251118-py3-none-any.whl
Algorithm Hash digest
SHA256 4f80974eca518742763ea030ad00deea3ea672b52c87b0b16dd4b30a3e6d4647
MD5 02066987aae368617cbb989697df686b
BLAKE2b-256 4c53fd363af709611bb679b902632f8ef763a966f2fe94df500007f66183672b

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