Agent Connect Protocol SDK
Project description
Agent Connect Protocol SDK
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
Documentation
- See ACP SDK Documentation to deep dive into using the client SDK.
- See IoA Documentation for more info on Internet of Agents.
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_clientmake 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:
- Run:
ACP_SPEC_RELEASE=<RELEASE_TAG> make update_python_subpackageusing the relevant "<RELEASE_TAG>" - Check for any irregularities:
git diff - Run:
make test
For a major release, follow these steps:
- Run:
ACP_SPEC_RELEASE=<RELEASE_TAG> make update_python_subpackageusing the relevant "<RELEASE_TAG>" - Update the version imports if you want to change the default major
version in:
agntcy_acp/__init__.pyagntcy_acp/models/__init__.py
- Check for any irregularities:
git diff - 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:
- Push a properly formatted tag (vX.Y.Z[aN][.devN]).
- 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
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d8faca21dc94f445b0c8884e34f2f15d038152a65c83c8f8d4b57b5af642e92
|
|
| MD5 |
138d57e66b113ed9fab6d10125ddb96d
|
|
| BLAKE2b-256 |
cef09d2ab1fc0d4b33b2a62d289f80b398197e8eebd73891af263dedd2dbc70a
|
Provenance
The following attestation bundles were made for agntcy_acp-1.5.2.tar.gz:
Publisher:
pypi.yml on agntcy/acp-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agntcy_acp-1.5.2.tar.gz -
Subject digest:
9d8faca21dc94f445b0c8884e34f2f15d038152a65c83c8f8d4b57b5af642e92 - Sigstore transparency entry: 239655485
- Sigstore integration time:
-
Permalink:
agntcy/acp-sdk@7b073d6b1e52dd944f33dae9a0b046ca29c006f2 -
Branch / Tag:
refs/tags/v1.5.2 - Owner: https://github.com/agntcy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@7b073d6b1e52dd944f33dae9a0b046ca29c006f2 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2de97dcfe16af14dc2e704b223ab728b9b888a8ee0a0f770494ee823ec245897
|
|
| MD5 |
55037cb2d8c70c211e6b3fdf64152059
|
|
| BLAKE2b-256 |
a23b5d252af6f497bc7fca34328ca9af3b5547f9449b58665332a77d25d48b3f
|
Provenance
The following attestation bundles were made for agntcy_acp-1.5.2-py3-none-any.whl:
Publisher:
pypi.yml on agntcy/acp-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agntcy_acp-1.5.2-py3-none-any.whl -
Subject digest:
2de97dcfe16af14dc2e704b223ab728b9b888a8ee0a0f770494ee823ec245897 - Sigstore transparency entry: 239655491
- Sigstore integration time:
-
Permalink:
agntcy/acp-sdk@7b073d6b1e52dd944f33dae9a0b046ca29c006f2 -
Branch / Tag:
refs/tags/v1.5.2 - Owner: https://github.com/agntcy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@7b073d6b1e52dd944f33dae9a0b046ca29c006f2 -
Trigger Event:
push
-
Statement type: