Skip to main content

A2A agent framework in one import.

Project description

a2akit

PyPI License: MIT Python CI

A2A agent framework in one import.

Build Agent-to-Agent (A2A) protocol agents with minimal boilerplate. Streaming, cancellation, multi-turn conversations, and artifact handling — batteries included.

Install

pip install a2akit

With optional LangGraph support:

pip install a2akit[langgraph]

Quick Start

from a2akit import A2AServer, AgentCardConfig, TaskContext, Worker


class EchoWorker(Worker):
    async def handle(self, ctx: TaskContext) -> None:
        await ctx.complete(f"Echo: {ctx.user_text}")


server = A2AServer(
    worker=EchoWorker(),
    agent_card=AgentCardConfig(
        name="Echo Agent",
        description="Echoes your input back.",
        version="0.1.0",
    ),
)
app = server.as_fastapi_app()
uvicorn my_agent:app --reload

Features

  • One-liner setupA2AServer wires storage, broker, event bus, and endpoints
  • Streaming — word-by-word artifact streaming via SSE
  • Cancellation — cooperative and force-cancel with timeout fallback
  • Multi-turnrequest_input() / request_auth() for conversational flows
  • Direct replyreply_directly() for simple request/response without task tracking
  • Middleware — pipeline for auth extraction, header injection, payload sanitization
  • Lifecycle hooks — fire-and-forget callbacks on terminal state transitions
  • Dependency injection — shared infrastructure with automatic lifecycle management
  • Pluggable backends — PostgreSQL, SQLite, and more (Redis, RabbitMQ coming soon)
  • Type-safe — full type hints, py.typed marker, PEP 561 compliant

📖 Full Documentation

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

a2akit-0.0.4.tar.gz (249.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

a2akit-0.0.4-py3-none-any.whl (57.0 kB view details)

Uploaded Python 3

File details

Details for the file a2akit-0.0.4.tar.gz.

File metadata

  • Download URL: a2akit-0.0.4.tar.gz
  • Upload date:
  • Size: 249.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for a2akit-0.0.4.tar.gz
Algorithm Hash digest
SHA256 39bc02cf6e31ea4e0364d46d670cc3d0ebbcd8c09a164f96cbd50417c0f12b5f
MD5 a095c17d82a7a147509001a485b3e8e0
BLAKE2b-256 7ac204e347129a36ee7b7e582032ea9ddf02058f7b2809d4795d60d5da2b4439

See more details on using hashes here.

Provenance

The following attestation bundles were made for a2akit-0.0.4.tar.gz:

Publisher: publish.yml on Coding-Crashkurse/a2a-kit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file a2akit-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: a2akit-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 57.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for a2akit-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ac76443d9d9743a88e4fcb07d4ea0ab78732f24954d5429d0887f917a4ff92c9
MD5 f0058dbef2ecb9d421fc6b38cd3e4cda
BLAKE2b-256 88c302c99be8bf20a8175e1f4eff0c8ecd1732e72ae7ef8cb1348c94f66bb4df

See more details on using hashes here.

Provenance

The following attestation bundles were made for a2akit-0.0.4-py3-none-any.whl:

Publisher: publish.yml on Coding-Crashkurse/a2a-kit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page