a2a — Docs

One Python class becomes a deployable, discoverable, sandboxed agent service. Agents call each other through scoped grants. Users never see Docker, Kubernetes, Gitea, or ArgoCD.

pip install a2a-pack
a2a init research-agent
cd research-agent
a2a deploy
# → https://research-agent.a2acloud.io

What's here

  • Quickstart — install, scaffold, deploy in 90 seconds.
  • Concepts — agents, skills, grants, sandbox, marketplace.
  • Reference — every public symbol in a2a_pack + every a2a CLI command, auto-generated from source.
  • Examples — copy-paste-able agents.
  • For LLMs — index file you can feed to a coding agent.
  • Full corpus — every doc page concatenated into one plaintext blob.

The shape of an agent

from pydantic import BaseModel
from a2a_pack import A2AAgent, NoAuth, RunContext, skill


class GreeterConfig(BaseModel):
    suffix: str = "!"


class Greeter(A2AAgent[GreeterConfig, NoAuth]):
    name = "greeter"
    description = "Say hi."
    version = "0.1.0"
    config_model = GreeterConfig
    auth_model = NoAuth

    @skill(description="Greet someone.")
    async def greet(self, ctx: RunContext[NoAuth], who: str) -> str:
        await ctx.emit_progress(f"greeting {who}")
        return f"hello {who}{self.config.suffix}"

That's it. a2a deploy ships it. Other agents can discover and call your greet skill with a scoped grant; the CP mints + verifies; matplotlib / pandas / whatever can run in a sandboxed microVM if your skill asks for it.