This release is a pre-release and may not be stable for production use.
KAgent LangGraph Integration
This package provides LangGraph integration for KAgent with A2A (Agent-to-Agent) server support.
Features
- A2A Server Integration: Compatible with KAgent's Agent-to-Agent protocol
- Event Streaming: Real-time streaming of graph execution events
- FastAPI Integration: Ready-to-deploy web server for agent execution
Quick Start
from kagent.core import AsyncControllerClient, AsyncFileTokenProvider, KAgentConfig
from kagent.langgraph import KAgentApp
import os
import sqlite3
from langgraph.checkpoint.sqlite import SqliteSaver
from langgraph.graph import StateGraph
from langchain_core.messages import BaseMessage
from typing import TypedDict, Annotated, Sequence
class State(TypedDict):
messages: Annotated[Sequence[BaseMessage], "The conversation history"]
config = KAgentConfig.from_file()
controller_client = AsyncControllerClient(
config.grpc_url,
agent_name=config.app_name,
token_provider=AsyncFileTokenProvider(),
)
# Define and compile your graph
builder = StateGraph(State)
# Add nodes and edges...
checkpointer = SqliteSaver(
sqlite3.connect(
os.getenv("KAGENT_CHECKPOINT_DB", "/tmp/langgraph-checkpoints.sqlite"),
check_same_thread=False,
)
)
graph = builder.compile(checkpointer=checkpointer)
# Create KAgent app
app = KAgentApp(
graph=graph,
agent_card={
"name": "my-langgraph-agent",
"description": "A LangGraph agent with KAgent integration",
"version": "0.1.0",
"capabilities": {"streaming": True},
"defaultInputModes": ["text"],
"defaultOutputModes": ["text"],
},
config=config,
controller_client=controller_client,
)
# Build FastAPI application
fastapi_app = app.build()
Architecture
The package mirrors the structure of kagent-adk but uses LangGraph instead of Google's ADK:
- LangGraphAgentExecutor: Executes LangGraph workflows within A2A protocol
- KAgentApp: FastAPI application builder with A2A integration
- Task Management: Automatic A2A task persistence through one shared authenticated gRPC channel
Configuration
Set runtime.control_plane_url and runtime.gateway_url in /config/config.json when running locally.
# Load process settings from /config/config.json (see Configuration).
Deployment
Use the same deployment pattern as kagent-adk samples with Docker and Kubernetes.
Runtime configuration file
Managed runtimes receive /config/config.json from the controller. For a standalone
process, create that file and load it with KAgentConfig.from_file():
{"runtime":{"control_plane_url":"http://localhost:8083","gateway_url":"http://localhost:8083","name":"my-agent","namespace":"default","log_level":"info"}}
Provider credentials and standard OTEL_* overrides remain environment inputs.
Metadata
Release files for kagent-langgraph 1.0.0a13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kagent_langgraph-1.0.0a13.tar.gz | 12.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kagent_langgraph-1.0.0a13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.6 kB
Release files / kagent_langgraph-1.0.0a13.tar.gz
| Download URL | kagent_langgraph-1.0.0a13.tar.gz |
|---|---|
| Size | 12.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db1798036f275d7f6a7b6d61cb890ee67263aa5c9efe51f8c210b23d2d6f496a
|
|
BLAKE2b-256 checksum How to use checksums |
69771532d7187911643db6114785c2d5d3ea2007b00f1585ac28167d6c0091dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / kagent_langgraph-1.0.0a13-py3-none-any.whl
| Download URL | kagent_langgraph-1.0.0a13-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fdd2faf03e32b1c678c668d2492a83ca32266e669430ab0f8a883b7b2e8a1da7
|
|
BLAKE2b-256 checksum How to use checksums |
fc3eddd9195014ce4dc497a33f04c220a14e7a18d90a44f9256152bc9d8df0be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|