Skip to main content

 v1.0  ·  MIT  ·  Python 3.10+

Production AI agents in Python. Ship in minutes.

A batteries-included framework for multi-agent orchestration, memory, and streaming APIs. A modern alternative to LangGraph, CrewAI, and AutoGen.

Typed graphs, durable threads, a REST and SSE server, and a typed TypeScript client. Ship a working agent fast, then scale to production without rewriting the foundation.

bash
pip install 10xscale-agentflow 10xscale-agentflow-cli
agent.py
from agentflow.core.graph import Agent, StateGraph, ToolNode
from agentflow.core.state import AgentState, Message
from agentflow.utils import END
def get_weather(location: str) -> str:
"""Get current weather for a city."""
return f"The weather in {location} is sunny."
agent = Agent(
model="google/gemini-2.5-flash",
system_prompt=[{"role": "system", "content": "Helpful assistant."}],
tool_node="TOOL",
)
graph = StateGraph(AgentState)
graph.add_node("MAIN", agent)
graph.add_node("TOOL", ToolNode([get_weather]))
graph.add_conditional_edges("MAIN", route, {"TOOL": "TOOL", END: END})
graph.add_edge("TOOL", "MAIN")
graph.set_entry_point("MAIN")
app = graph.compile()

Works with the stack you already use

OpenAI
Anthropic
Gemini
Vertex AI
Postgres
Redis
Qdrant
FastAPI
Next.js
Vercel
Docker
Python
TypeScript

Framework foundations

Everything a serious agent app needs.

One Python project. Typed graphs, durable threads, a production server, and a typed TypeScript client. Without the glue tax.

Graph orchestration

Typed StateGraph with conditional edges, sub-graphs, recursion limits, and explicit routing. Agents you can read, log, and replay.

Production persistence

InMemoryCheckpointer for dev, PgCheckpointer (Postgres + Redis) for prod. Threads survive restarts and resume across replicas.

Backend to frontend

Built-in REST and SSE server, a typed TypeScript client, and a hosted playground. One project, full stack, no glue.

 Same agent, every framework

A familiar mental model, without the glue.

The same ReAct agent in five different frameworks. AgentFlow keeps the graph explicit and ships the production stack with it.

agent.py
from agentflow.core.graph import Agent, StateGraph, ToolNode
from agentflow.core.state import AgentState, Message
agent = Agent(
model="google/gemini-2.5-flash",
system_prompt=[{"role": "system", "content": "Helpful assistant."}],
tool_node="TOOL",
)
graph = StateGraph(AgentState)
graph.add_node("MAIN", agent)
graph.add_node("TOOL", ToolNode([get_weather]))
# ... add edges + compile + invoke
app = graph.compile()

 Connected stack

One project, four packages, zero glue.

The Python runtime, the API server, the TypeScript client, and the hosted playground are designed together. Same types, same threads, same primitives across the whole stack.

AgentFlow connected stackDiagram of four AgentFlow packages: the Python library and the CLI/REST/SSE server connect to a TypeScript client, with a hosted playground below the server.PYTHON LIBRARYagentflowStateGraph · Agents · ToolsCLI · REST · SSEagentflow-cli/v1/graph/invoke · /streamTYPESCRIPTagentflow-clientinvoke · streamHOSTED PLAYGROUNDagentflow-playgroundbrowser-based UI

Beginner-friendly by design

A docs path that teaches the product.

Install the library, build one agent, add tools and memory, expose it through the API, connect a client, then deploy.

01

First agent

Create a working agent and understand the moving parts.

02

Tools and state

Give the agent capabilities; learn how state moves through a workflow.

03

Multi-agent flow

Compose agents into predictable handoffs and reusable workflows.

04

Production surface

Add persistence, APIs, streaming, clients, and deployment.

Ship a working agent in five minutes.

Install, build a graph, expose an API, connect a TypeScript client. Then keep going, without rewriting anything.