Packages¶
The Axio monorepo contains 13 packages, each with a focused responsibility.
Each package is a top-level directory in the monorepo root (e.g., axio/, axio-tui/)
and all are managed as a uv workspace.
Overview¶
Package |
Purpose |
Entry Point Groups |
|---|---|---|
|
Core framework |
- |
|
SQLite-backed persistent context store |
- |
|
Anthropic Claude transport |
|
|
OpenAI-compatible transport (OpenAI, Nebius, OpenRouter, custom) |
|
|
ChatGPT (Codex) OAuth transport |
|
|
Google Gemini transport + Gemini Live realtime |
|
|
Microphone and speaker helpers for realtime agents |
- |
|
Filesystem & shell tools |
|
|
MCP tool loader |
|
|
Docker sandbox tools |
- |
|
Textual-based TUI app |
|
|
Permission guard plugins |
|
|
Interactive terminal coding assistant |
- |
Core¶
axio¶
The foundation. Defines the agent loop, all protocols (CompletionTransport,
ContextStore, PermissionGuard), the tool system, stream events, and
testing helpers. Has no entry points - other packages depend on it.
Dependencies: none (stdlib only)
Context Stores¶
axio-context-sqlite¶
SQLite-backed persistent context store. Implements the axio.context.ContextStore
protocol so conversations survive process restarts. Multiple sessions can coexist
in the same database file, isolated by session_id and project.
Features:
Automatic gzip compression for large payloads (> 512 bytes)
WAL journal mode with a 5-second busy timeout for concurrent access
list_sessions()- list all sessions for a project, ordered newest firstfork()- copy a session’s messages into a new session IDadd_context_tokens()- atomic token-count increment via SQL UPSERT
Dependencies: axio, aiosqlite>=0.20
Transports¶
axio-transport-anthropic¶
Anthropic Claude transport using aiohttp and SSE parsing. Supports all
Claude models with prompt caching (cache_control) and automatic retry on
rate-limit (429) and overload (529) responses.
Entry points:
axio.transport→AnthropicTransportaxio.transport.settings→AnthropicSettingsScreen
Dependencies: axio, aiohttp>=3.11
axio-transport-openai¶
OpenAI-compatible HTTP streaming transport using aiohttp and SSE parsing.
Includes four transports registered as entry points:
Entry point name |
Class |
Provider |
|---|---|---|
|
|
OpenAI API |
|
|
Nebius AI Studio |
|
|
OpenRouter |
|
|
Any OpenAI-compatible endpoint |
Settings screens are registered under axio.transport.settings for each.
Dependencies: axio, aiohttp>=3.11
axio-transport-codex¶
ChatGPT (Codex) transport using the Responses API with OAuth authentication.
Entry points:
axio.transport→CodexTransportaxio.transport.settings→CodexSettingsScreen
Dependencies: axio, aiohttp>=3.11
axio-transport-google¶
Google GenAI (Gemini) transport for the Developer API and Vertex AI. Supports standard completion and Gemini Live realtime sessions. Also registers image and video generation tools when installed.
Entry points:
axio.transport→GoogleTransport,VertexAITransportaxio.transport.realtime→GeminiLiveTransport,VertexLiveTransportaxio.transport.settings→GoogleSettingsScreen,VertexSettingsScreenaxio.tools→generate_image,generate_video
See the Google Transport guide.
Dependencies: axio, axio-transport-anthropic[vertexai], google-auth[urllib3]>=2.0, aiohttp>=3.11
Audio¶
axio-audio¶
Microphone capture and speaker playback for realtime voice agents.
Provides Microphone, Speaker, and DuplexAudio (single-clock duplex
stream for production-grade echo cancellation).
See the Realtime Audio guide.
Dependencies: axio, sounddevice>=0.5, numpy>=2
Tools¶
axio-tools-local¶
Filesystem and shell tool handlers for local development:
Entry Point |
Handler |
Description |
|---|---|---|
|
|
Run shell commands |
|
|
Execute Python code |
|
|
Write content to a file |
|
|
Apply patches to files |
|
|
Read file contents |
|
|
List directory contents |
Dependencies: axio
axio-tools-mcp¶
Dynamic tool provider that loads tools from MCP (Model Context Protocol)
servers. Registered as a ToolsPlugin under axio.tools.settings.
Dependencies: axio, mcp>=1.6
axio-tools-docker¶
Docker sandbox environment as an async context manager. Spins up an isolated
container via aiodocker and exposes six tools that mirror axio-tools-local:
shell, write_file, read_file, list_files, run_python, patch_file.
No entry points - used directly in code via DockerSandbox.
async with DockerSandbox(image="python:3.12-slim") as sandbox:
agent = Agent(..., tools=sandbox.tools)
Dependencies: axio, aiodocker>=0.26
TUI & Plugins¶
axio-tui¶
Terminal UI application built with Textual. Provides the axio console
command, plugin discovery, transport management, and session persistence
via SQLite.
Tools registered under axio.tools:
status_line- Update the TUI status barconfirm- Ask user for confirmationsubagent- Spawn a sub-agentvision- Analyze images
Console script: axio = "axio_tui.__main__:main"
Dependencies: axio, textual>=2.1.0, aiosqlite>=0.20
axio-tui-guards¶
Permission guard plugins for the TUI.
Guards registered under axio.guards:
path-PathGuard- Validates file paths against allowed directoriesllm-LLMGuard- Uses LLM to assess tool call safety
Dependencies: axio, axio-tui
REPL¶
axio-repl¶
Terminal coding assistant. Runs an agent loop with file/shell tools, streams
every token and tool call to the terminal, and auto-detects the transport from
environment variables. Supports model switching, streaming tool arguments and
output, vision, and workspace-level AGENTS.md instructions.
Console script: axio-repl = "axio_repl:main_sync"
See the axio-repl guide.
Dependencies: axio, axio-tools-local, axio-transport-openai, aiohttp>=3.11