Skip to main content

Agent Connect Protocol SDK

Project description

Agent Connect Protocol SDK

PyPI version

About The Project

The "Agent Connect Protocol SDK" is an open-source library designed to facilitate the adoption of the Agent Connect Protocol. It offers tools for both client and server implementations, enabling seamless integration and communication between multi-agent systems.

Getting Started

See Getting Started Guide

Documentation

Testing

Run make test in the root of the repo. Tool requirements:

  • uv (preferred) or poetry (deprecated): to manage Python dependencies
  • make: to store command recipes

Building the package

⚠️ Note: this step is only necessary for maintainers of the project. ⚠️

The agntcy-acp Python package is built on GitHub and published using GitHub actions. The action can be found in the relevant workflows directory in the repo. The project attempts to keep the SDK updated on any ACP or relevant specification changes, but delays can happen.

Prerequisites

This repo uses the following tools to build (or update) the packages:

  • jq: to parse OpenAPI JSON
  • uv (preferred) or poetry (deprecated): to manage Python dependencies
  • make: to store command recipes
  • docker: to run the openapi-generator-cli tool
  • git: to checkout the source specifications

Generating the SDK clients from the OpenAPI ACP specification

There are two make targets to generate the clients:

  • make generate_acp_client
  • make generate_acp_async_client

Note that the make targets add a SPDX header and update the package imports to match the files as they should appear in the agntcy_acp/acp_vXX subpackages. Please check the Makefile for questions on how this is done.

To update the agntcy_acp package by copying the relevant files, use: make update_python_subpackage

Updating the client package on a new ACP specification release

For a minor release, follow these steps:

  1. Run: ACP_SPEC_RELEASE=<RELEASE_TAG> make update_python_subpackage using the relevant "<RELEASE_TAG>"
  2. Check for any irregularities: git diff
  3. Run: make test

For a major release, follow these steps:

  1. Run: ACP_SPEC_RELEASE=<RELEASE_TAG> make update_python_subpackage using the relevant "<RELEASE_TAG>"
  2. Update the version imports if you want to change the default major version in:
    • agntcy_acp/__init__.py
    • agntcy_acp/models/__init__.py
  3. Check for any irregularities: git diff
  4. Run: make test

Generate API documentation on code updates

Use the make target:

make docs

Publishing

Publishing the package uses a GitHub action triggered by assigning tags to commits of the form v<PACKAGE_VERSION>.

The tag must correspond to the version in the pyproject.toml file, except for dev releases. The tag for a dev release will be v<PACKAGE_VERSION>.devN where the .devN suffix is not part of the package version in the pyproject.toml file. All tags, except dev releases, should be applied to the main branch. Dev releases can be applied anywhere and thus are not guaranteed to be repeatable (e.g., when applied to a PR that is later merged and the branch is deleted).

Not all PEP-440 tags are supported at this time.

The following steps are required to create a release:

  1. Push a properly formatted tag (vX.Y.Z[aN][.devN]).
  2. Use the specified tag to create a release

The publish action can also be triggered on a branch through the UI. In this case, it will use the package version at the head of the branch.

Roadmap

See the open issues for a list of proposed features and known issues.

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. For detailed contributing guidelines, please see CONTRIBUTING.md.

Copyright Notice

Copyright Notice and License

Distributed under Apache 2.0 License. See LICENSE for more information. Copyright AGNTCY Contributors (https://github.com/agntcy)

Acknowledgements

This SDK is developed with the support of the IoA community with the goal of facilitating cross-framework agent interoperability.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agntcy_acp-1.5.2.tar.gz (89.2 kB view details)

Uploaded Source

Built Distribution

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

agntcy_acp-1.5.2-py3-none-any.whl (165.6 kB view details)

Uploaded Python 3

File details

Details for the file agntcy_acp-1.5.2.tar.gz.

File metadata

  • Download URL: agntcy_acp-1.5.2.tar.gz
  • Upload date:
  • Size: 89.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for agntcy_acp-1.5.2.tar.gz
Algorithm Hash digest
SHA256 9d8faca21dc94f445b0c8884e34f2f15d038152a65c83c8f8d4b57b5af642e92
MD5 138d57e66b113ed9fab6d10125ddb96d
BLAKE2b-256 cef09d2ab1fc0d4b33b2a62d289f80b398197e8eebd73891af263dedd2dbc70a

See more details on using hashes here.

Provenance

The following attestation bundles were made for agntcy_acp-1.5.2.tar.gz:

Publisher: pypi.yml on agntcy/acp-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agntcy_acp-1.5.2-py3-none-any.whl.

File metadata

  • Download URL: agntcy_acp-1.5.2-py3-none-any.whl
  • Upload date:
  • Size: 165.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for agntcy_acp-1.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2de97dcfe16af14dc2e704b223ab728b9b888a8ee0a0f770494ee823ec245897
MD5 55037cb2d8c70c211e6b3fdf64152059
BLAKE2b-256 a23b5d252af6f497bc7fca34328ca9af3b5547f9449b58665332a77d25d48b3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for agntcy_acp-1.5.2-py3-none-any.whl:

Publisher: pypi.yml on agntcy/acp-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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