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.0a16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| kagent_langgraph-1.0.0a16.tar.gz | 12.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kagent_langgraph-1.0.0a16-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.6 kB
Release files / kagent_langgraph-1.0.0a16.tar.gz
| Download URL | kagent_langgraph-1.0.0a16.tar.gz |
|---|---|
| Size | 12.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5c2ee05841fa19e96725912b764ab1d0fd35f01b169bd8c102ddaa14d9bc5155
|
|
BLAKE2b-256 checksum How to use checksums |
295b7803219c94fd50907421fc21edeb27252a0c30ea1c4ea28bc8b04cb49972
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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.0a16-py3-none-any.whl
| Download URL | kagent_langgraph-1.0.0a16-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f82a7d97fb3428492b1bc32f05e49d4a671bd910075cb32aebdb6ffab21b1355
|
|
BLAKE2b-256 checksum How to use checksums |
f0a04c23ebe56650849770ddc9abc30c090d75ed3c42be3b32afdbccf4ffdd27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}
|
Security for kagent-langgraph 1.0.0a16
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.