Skip to main content
Pre-release

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)

Source distribution for kagent-langgraph 1.0.0a16
File Size Uploaded Provenance
kagent_langgraph-1.0.0a16.tar.gz 12.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for kagent-langgraph 1.0.0a16
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page