AWS Bedrock AgentCore implementation for ai-agentswarm.
Project description
agentswarm-bedrock-agentcore
An implementation of the AWS Bedrock AgentCore SDK for the ai-agentswarm framework.
This library eliminates boilerplate to create and execute agents in the Bedrock infrastructure.
Installation
pip install agentswarm-bedrock-agentcore
Usage
1. Defining and Hosting your Agent
Extend BedrockAgent to create your agent. You can then use the .serve() method to start a Bedrock AgentCore compatible WebSocket server.
from agentswarm.bedrock_agentcore import BedrockAgent
from agentswarm.datamodels import Context
from agentswarm.llms import GoogleGenAI
# Initialize your LLM
llm = GoogleGenAI(model_name="gemini-1.5-pro")
class MyBedrockAgent(BedrockAgent):
def id(self) -> str:
return "my-awesome-agent"
async def execute(self, user_id: str, context: Context, input: str = None):
# Your custom agent logic here
# The context will have the default_llm if passed to .serve()
return f"Bedrock Agent says: I processed '{input}'"
if __name__ == "__main__":
# Start the server and pass the default_llm
MyBedrockAgent().serve(port=8000, default_llm=llm)
2. Invoking your Agent Remotely
Use BedrockRemoteAgent to call an agent that is already running. It supports both local WebSocket endpoints and AWS Bedrock ARNs.
from agentswarm.bedrock_agentcore import BedrockRemoteAgent
from agentswarm.datamodels import Context
# Use an ARN for cloud invocation (after deployment)
# or "http://localhost:8000" for local testing
AGENT_ENDPOINT = "arn:aws:bedrock-agentcore:us-west-2:123456789012:runtime/my-agent-abc"
# Create a proxy for the remote agent
remote_agent = BedrockRemoteAgent(
endpoint_url=AGENT_ENDPOINT,
remote_agent_id="my-awesome-agent"
)
# Use it like any other AgentSwarm agent
# Note: Provide required context arguments for initialization
result = await remote_agent.execute(
user_id="user-123",
context=Context(trace_id="trace-1", messages=[], store=None, tracing=None),
input="Hello Bedrock!"
)
print(result)
Deployment
To deploy your agent natively to the Amazon Bedrock AgentCore Runtime, use the official Bedrock AgentCore Starter Toolkit.
1. Install the Toolkit
pip install bedrock-agentcore-starter-toolkit
2. Configure your Agent
Run the interactive configuration tool to set up your deployment (entrypoint, region, runtime, etc.).
agentcore configure
This will create or update a .bedrock_agentcore.yaml file with your settings.
3. Launch to AWS Bedrock
The launch command packages your code, installs dependencies from requirements.txt, and deploys it to the managed Bedrock runtime.
# Recommended: Cloud-based deployment (Direct Code Deploy)
agentcore launch
This command will return an Agent ARN which you can then use to invoke your agent via BedrockRemoteAgent.
Configuration
requirements.txt
Ensure your requirements.txt includes the necessary libraries for the remote runtime:
ai-agentswarm>=0.5.1
agentswarm-bedrock-agentcore>=0.1.0
default_llm Support
You can configure the model via environment variables in your .bedrock_agentcore.yaml:
env:
DEFAULT_LLM_MODEL: gemini-2.5-flash
Quick Start: Testing and Deployment
1. Install Dependencies
# Core logic and Bedrock implementation
pip install ai-agentswarm agentswarm-bedrock-agentcore
# Deployment Toolkit
pip install bedrock-agentcore-starter-toolkit
2. Local Testing
Verify the bridge before deploying.
Server:
export RUN_SERVER=true
python examples/bedrock_demo.py
Client (Proxy):
# In another terminal
python examples/bedrock_demo.py
3. Native Bedrock Deployment
export UV_CACHE_DIR=./.uv_cache(optional, for permissions fix)agentcore configureagentcore launch
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
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
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 agentswarm_bedrock_agentcore-0.3.0.tar.gz.
File metadata
- Download URL: agentswarm_bedrock_agentcore-0.3.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6399508d749a7c16fa3b7bbbd852f5f6375ffedee7f88a4565a46e4ed0a588dc
|
|
| MD5 |
4014cb12f647259cb8e3b84bc1811623
|
|
| BLAKE2b-256 |
d1186d0e6f9d43e224b5275809db19e172af2087306c1f472dd591a18590a3de
|
Provenance
The following attestation bundles were made for agentswarm_bedrock_agentcore-0.3.0.tar.gz:
Publisher:
publish.yml on ai-agentswarm/agentswarm-bedrock-agentcore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentswarm_bedrock_agentcore-0.3.0.tar.gz -
Subject digest:
6399508d749a7c16fa3b7bbbd852f5f6375ffedee7f88a4565a46e4ed0a588dc - Sigstore transparency entry: 930480839
- Sigstore integration time:
-
Permalink:
ai-agentswarm/agentswarm-bedrock-agentcore@041edc91a71249c023820bdcaf88e7546262fb87 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ai-agentswarm
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@041edc91a71249c023820bdcaf88e7546262fb87 -
Trigger Event:
release
-
Statement type:
File details
Details for the file agentswarm_bedrock_agentcore-0.3.0-py3-none-any.whl.
File metadata
- Download URL: agentswarm_bedrock_agentcore-0.3.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6940a4c7b9b502b56e60f00d8233312a41ad29999d45582de8777dd6c6109940
|
|
| MD5 |
5b63984f2a0616cb56666d3a005d3d78
|
|
| BLAKE2b-256 |
8ed4716c36f8d4a8ebb1522b6c294ebbd7054f581c08b91677767a7e86384bde
|
Provenance
The following attestation bundles were made for agentswarm_bedrock_agentcore-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on ai-agentswarm/agentswarm-bedrock-agentcore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentswarm_bedrock_agentcore-0.3.0-py3-none-any.whl -
Subject digest:
6940a4c7b9b502b56e60f00d8233312a41ad29999d45582de8777dd6c6109940 - Sigstore transparency entry: 930480841
- Sigstore integration time:
-
Permalink:
ai-agentswarm/agentswarm-bedrock-agentcore@041edc91a71249c023820bdcaf88e7546262fb87 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ai-agentswarm
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@041edc91a71249c023820bdcaf88e7546262fb87 -
Trigger Event:
release
-
Statement type: