KAgent LangGraph Integration
This package provides LangGraph integration for KAgent with A2A (Agent-to-Agent) server support. It implements a custom checkpointer that persists LangGraph state to the KAgent REST API, enabling distributed agent execution with session persistence.
Features
- Custom Checkpointer: Persists LangGraph checkpoints to KAgent via REST API
- A2A Server Integration: Compatible with KAgent's Agent-to-Agent protocol
- Session Management: Automatic session creation and state persistence
- Event Streaming: Real-time streaming of graph execution events
- FastAPI Integration: Ready-to-deploy web server for agent execution
Quick Start
from kagent.langgraph import KAgentApp
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"]
# Define your graph
builder = StateGraph(State)
# Add nodes and edges...
# Create KAgent app
app = KAgentApp(
graph_builder=builder,
agent_card={
"name": "my-langgraph-agent",
"description": "A LangGraph agent with KAgent integration",
"version": "0.1.0",
"capabilities": {"streaming": True},
"defaultInputModes": ["text"],
"defaultOutputModes": ["text"]
},
kagent_url="http://localhost:8083",
app_name="my-agent"
)
# Build FastAPI application
fastapi_app = app.build()
Architecture
The package mirrors the structure of kagent-adk but uses LangGraph instead of Google's ADK:
- KAgentCheckpointer: Custom checkpointer that stores graph state in KAgent sessions
- LangGraphAgentExecutor: Executes LangGraph workflows within A2A protocol
- KAgentApp: FastAPI application builder with A2A integration
- Session Management: Automatic session lifecycle management via KAgent REST API
Configuration
The system uses the same REST API endpoints as the ADK integration:
POST /api/sessions- Create new sessionsGET /api/sessions/{id}- Retrieve session and eventsPOST /api/sessions/{id}/events- Append checkpoint eventsPOST /api/tasks- Task management
Deployment
Use the same deployment pattern as kagent-adk samples with Docker and Kubernetes.
Release files for kagent-langgraph 0.10.1
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-0.10.1.tar.gz | 16.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kagent_langgraph-0.10.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.4 kB
Release files / kagent_langgraph-0.10.1.tar.gz
| Download URL | kagent_langgraph-0.10.1.tar.gz |
|---|---|
| Size | 16.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1cf3ae8b50c470ad0fdd8ff6ceb17c1fd4370c02015c7925a7e592ba13e46e86
|
|
BLAKE2b-256 checksum How to use checksums |
344ce408e6e68c9cb0209e4130cf947bd966646e496cb5410f70a5bb4fa0093d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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-0.10.1-py3-none-any.whl
| Download URL | kagent_langgraph-0.10.1-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b6780ecc964beed62d978b44a400b6cf7a5a785c245242d28e3d10180c6c40a
|
|
BLAKE2b-256 checksum How to use checksums |
e74db828942cc6646dde799740ecc5514a67013522bb8959041005725408c903
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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}
|