Skip to main content
Augments

Augments Agent Development Kit (ADK)

A provider-agnostic Python framework to orchestrate complex systems of agents that perform real-world actions, across 100+ LLMs via litellm.

The concept

An agent is a model that stopped talking and started doing: it calls tools, changes state, and leaves side effects in the world. One agent is useful. A set of specialists that cannot coordinate is a liability.

Augmenting a model means adding capability without giving up control. This ADK adds three things, and each one is explicit and yours to configure:

  • Structure — explicit orchestration. Graphs for state machines, flows for pipelines, swarms for open-ended exploration, handoffs for delegation. You write the structure; nothing is inferred behind your back.
  • Specialists — agents scoped to one job, each carrying its own tools, guardrails, and budget. An Agent is configuration, never a hidden runtime.
  • Control — the Runner. Every run travels one execution path, where turns, retries, token budgets, and interrupts are enforced rather than suggested.

The framework never injects a prompt, a tool, or a token you did not ask for, and every cost-bearing default starts bounded. Decisions, tool I/O, and token spend come back as structured traces, so what the agents actually did is readable after the fact.

Design tenets

  1. Explicit over magical. If you can't step through it in a debugger, it doesn't belong in the orchestration path.
  2. One obvious way. Fewer knobs, sharper edges — the ADK has opinions.
  3. Everything is inspectable. Decisions, tool I/O, and token costs are structured traces, not anecdotes.
  4. Benchmarks or it didn't happen. Claims ship with eval evidence or not at all — including this framework's own.

Core Concepts

  • Agents — Autonomous entities with tools, guardrails, and handoffs
  • Tools — Function wrappers with schema validation and guardrails
  • Handoffs — Agent-to-agent routing (LLM-orchestrated or code-orchestrated)
  • Guardrails — Pre/post execution validation at agent and tool level
  • Memory — Persistent knowledge across sessions
  • Skills — Reusable capability packages (instructions + tools + governance)
  • Tracing — OpenTelemetry observability

Installation

Use it in your own project

uv add augments-adk          # or: pip install augments-adk

The core install is deliberately lean — litellm, pydantic, griffe, aiosqlite, typing-extensions — and every optional provider / exporter / UI enhancement is gated behind its own extra:

pip install 'augments-adk[anthropic]'   # native Anthropic SDK path
pip install 'augments-adk[otel]'        # OpenTelemetry tracing bridge
pip install 'augments-adk[mcp]'         # Model Context Protocol client
pip install 'augments-adk[viz]'         # Agent graph visualization (graphviz)
pip install 'augments-adk[verbose]'     # Rich-backed panel/line verbose renderer (ANSI fallback without it)
pip install 'augments-adk[all]'         # all of the above

Work on the ADK itself

Prerequisites: Python 3.12+ and uv (uv installs the interpreter itself if you don't have it).

# 1. Clone the repository
git clone https://github.com/augments-labs/augments-adk-python.git
cd augments-adk-python

# 2. Build .venv from the committed lockfile — everything + test + lint + typecheck
uv sync --extra dev

# 3. Run anything inside it
uv run augments --help
uv run pytest

uv sync resolves from uv.lock, so every contributor and every CI job installs byte-identical versions. Activate the environment directly (source .venv/bin/activate) if you would rather not prefix commands with uv run, and swap --extra dev for any other extra (--extra anthropic, --extra all, or none at all) to work against a leaner surface.

Conda works too, if you prefer it:

conda env create -f environment.yaml   # also runs `pip install -e '.[dev]'`
conda activate augments-adk-python

Either way the install is editable: augments.adk is importable from the src/ layout defined in pyproject.toml, and source changes take effect immediately without reinstalling.

API Keys

Set the API keys for the LLM providers you want to use:

export ANTHROPIC_API_KEY="your-key"
export OPENAI_API_KEY="your-key"
export GEMINI_API_KEY="your-key"

Verify Installation

python -c "from augments.adk import Agent, Runner; print('OK')"

Quick Start

import asyncio
import logging

from augments.adk import Agent, Runner

logger = logging.getLogger(__name__)

agent = Agent(
    name="Assistant",
    system_prompt="You are a helpful assistant.",
)

result = asyncio.run(Runner.arun(agent, "Hello!"))
logger.info(result.final_output)

Command-Line Interface

The augments console script drives agents from the terminal — scaffold a project, validate its config without spending a token, then run or chat:

augments new my_agent                       # scaffold config + tools + schema
augments validate my_agent/agent.json       # strict schema check, no tokens
augments run my_agent/agent.json "hello"    # one-shot run (config or --agent module:var)
augments chat my_agent/agent.json           # interactive REPL, optional --session-db
augments serve my_agent/agent.json                    # REST + health over HTTP ([serve] extra)

run auto-dispatches agents, swarms, graphs, and topologies; every cost-affecting behavior (sessions, verbose rendering, tracing, env files) stays off until you pass its flag. See docs/cli/cli.md for the full command reference.

Deployment

Serve an agent over HTTP, then ship the container to any cloud. The framework imports no server runtime and no cloud SDK — every piece is opt-in, and you keep control of the runtime.

pip install 'augments-adk[serve]'

# Serve locally: REST (POST /run, POST /run_sse) + health (/healthz, /readyz).
augments serve --agent my_agent.app:agent --host 0.0.0.0 --port 8000

# Generate the deployment artifacts you own (Dockerfile + manifests):
augments deploy init --target k8s --agent my_agent.app:agent --image my-agent:latest

# Or build and ship to a target via your installed CLIs:
augments deploy build      --agent my_agent.app:agent --image my-agent:latest --push
augments deploy cloud-run  --agent my_agent.app:agent --image gcr.io/PROJECT/my-agent --project PROJECT --region REGION
augments deploy gke        --agent my_agent.app:agent --image IMAGE --project P --region R --cluster C
augments deploy ecs        --agent my_agent.app:agent --image ACCT.dkr.ecr.R.amazonaws.com/my-agent --region R --execution-role-arn ARN

augments deploy targets docker, k8s, gke, helm, cloudrun, ecs, app-runner, and lambda. The generated image satisfies the universal container contract (binds 0.0.0.0:$PORT, config from env, non-root, /healthz + /readyz probes), so the same image runs everywhere. The generated requirements.txt installs augments-adk from PyPI; edit it if you need a pin, a vendored wheel, or a VCS URL instead.

A single replica works out of the box on the default per-pod SQLite stores. For multi-replica (horizontally-scaled) deployments, back A2A tasks and REST sessions with Postgres so state is shared across pods — augments serve --task-dsn "$PG_DSN" --session-dsn "$PG_DSN" (install augments-adk[a2a-postgres,session-postgres]). The AWS deploy commands also accept --push to log in to ECR and build/push the image for you. See docs/deploy/ for the full guide.

Running Examples

All examples are runnable from the project root:

python examples/agent_patterns/agents_as_tools.py
python examples/handoffs/llm_orchestrated.py
python examples/tools/tool_guardrails.py

Project Structure

src/augments/adk/       # Source code (namespace package)
tests/                 # Unit and integration tests
examples/              # Single-file runnable examples (one concept each)
docs/                  # Usage documentation
configs/               # Logging and other configs

Key Dependencies

Core: litellm | pydantic | griffe | aiosqlite | typing-extensions Optional extras: anthropic (.[anthropic]) | mcp (.[mcp]) | opentelemetry-* (.[otel]) | graphviz (.[viz]) | rich (.[verbose])

Acknowledgements

This ADK draws on prior art and ongoing work from across the multi-agent ecosystem:

Inclusion here records influence, not endorsement.

Metadata

Release files for augments-adk 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for augments-adk 0.3.0
File Size Uploaded Provenance
augments_adk-0.3.0.tar.gz 1.5 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for augments-adk 0.3.0
File Interpreter ABI Platform
augments_adk-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.3 MB

Release files / augments_adk-0.3.0.tar.gz

Download URL augments_adk-0.3.0.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
457bdeed8a20335c22de3c419930e5ac779f60237a84112569c23986b349e69e
BLAKE2b-256 checksum
How to use checksums
6f27d0c1f746897bfbf646c5bb77f4eba65b46a0df7f1b7a2d1e8921a53a4afd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / augments_adk-0.3.0-py3-none-any.whl

Download URL augments_adk-0.3.0-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
365ba0c67acabbbffabd191f75f9332f0cad3f70ba13a5af4618cc1ac98f2768
BLAKE2b-256 checksum
How to use checksums
09d59acb3ca2a79bf0821b0477de357016ced5b296928412f517e615e28bbdb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Security for augments-adk 0.3.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for augments_adk-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files Full provenance

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