Skip to main content
Version: 0.3

CubePi

CubePi is a Pythonic, async-native agent framework — a leaner, more readable take on agent runtimes like langgraph. It models an agent as a plain async function instead of a state graph; you can read the entire core loop in five minutes.

pip install cubepi

Then jump to the Quick Start to ship a working tool-using agent in under five minutes.

What you get

  • Plain async functions, not graph nodes. The agent loop is a while loop over message turns. You build tools as async def functions; the framework routes calls and executes them in parallel.
  • One streaming pattern. Every provider yields StreamEvents through a MessageStream. You iterate it with async for. No callback registries, no separate handler types for text vs. tools.
  • Append-only checkpointing. Persistence writes the new messages on each turn, not the full transcript. O(1) DB I/O regardless of conversation length — SQLite for laptops, Postgres for production.
  • Native multi-provider. Anthropic and OpenAI ship in the box, through a Provider Protocol. Add a new provider in one class.
  • Five-hook middleware. transform_context, convert_to_llm, before_tool_call, after_tool_call, should_stop_after_turn — each with explicit composition rules. No mystery node ordering.
  • MCP loaders. Point at any Model Context Protocol server (HTTP or stdio) and get back a list of AgentTools.

Where to go next

If you want to…Start here
Install and run your first agentGetting Started → Installation
Understand the building blocksGetting Started → Core Concepts
Wire a real tool-using agentGuides → Building Your First Agent
Persist a conversation across restartsGuides → SQLite Checkpointing
Look up a specific symbolAPI Reference
See full working examplesRecipes
Port an existing langgraph agentMigration → From langgraph

Status

CubePi is at v0.3.0 — alpha. The public API surface is stable for v0.3 and frozen in the 0.3 docs snapshot. The next channel (toggle in the top-right) tracks the unreleased main branch.

Source, issues, and discussion live on GitHub.