Metadata-Version: 2.4
Name: a2a-python-sdk
Version: 0.1.3
Summary: Agent-to-Agent (A2A) Protocol Python SDK
Author-email: Ganesh Kinkar Giri <k.ganeshgiri@gmail.com>
License: Apache-2.0
Keywords: a2a,agentic-ai,multi-agent,llm,langgraph,crewai,mcp,ai-agents,enterprise-ai
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.0
Requires-Dist: requests>=2.31
Requires-Dist: httpx>=0.25
Requires-Dist: pyjwt>=2.8
Requires-Dist: typing-extensions>=4.8
Provides-Extra: server
Requires-Dist: fastapi>=0.110; extra == "server"
Requires-Dist: uvicorn[standard]>=0.29; extra == "server"
Provides-Extra: streaming
Requires-Dist: sse-starlette>=2.0; extra == "streaming"
Requires-Dist: websockets>=12.0; extra == "streaming"
Provides-Extra: security
Requires-Dist: cryptography>=42.0; extra == "security"
Requires-Dist: python-jose>=3.3; extra == "security"
Provides-Extra: observability
Requires-Dist: opentelemetry-api>=1.24; extra == "observability"
Requires-Dist: opentelemetry-sdk>=1.24; extra == "observability"
Requires-Dist: opentelemetry-exporter-otlp>=1.24; extra == "observability"
Provides-Extra: llm
Requires-Dist: openai>=1.0; extra == "llm"
Requires-Dist: groq>=0.9; extra == "llm"
Requires-Dist: ollama>=0.1; extra == "llm"
Provides-Extra: frameworks
Requires-Dist: langgraph>=0.2; extra == "frameworks"
Requires-Dist: crewai>=0.30; extra == "frameworks"
Provides-Extra: mcp
Requires-Dist: anyio>=4.0; extra == "mcp"
Provides-Extra: cli
Requires-Dist: click>=8.1; extra == "cli"
Requires-Dist: rich>=13.7; extra == "cli"
Provides-Extra: dev
Requires-Dist: watchfiles>=0.21; extra == "dev"
Requires-Dist: python-dotenv>=1.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=8.0; extra == "test"
Requires-Dist: pytest-asyncio>=0.23; extra == "test"
Requires-Dist: pytest-cov>=5.0; extra == "test"
Provides-Extra: all
Requires-Dist: a2a-python[cli,dev,frameworks,llm,mcp,observability,security,server,streaming,test]; extra == "all"
Dynamic: license-file

# ✅ FINAL COMPLIANCE VERDICT

| A2A Core Concept   | Status |
| ------------------ | ------ |
| Tasks              | ✅      |
| Task lifecycle     | ✅      |
| Parts              | ✅      |
| Artifacts          | ✅      |
| Artifact streaming | ✅      |
| Discovery          | ✅      |
| AgentCard          | ✅      |
| Webhooks / Push    | ✅      |
| Context            | ✅      |
| Security hooks     | ✅      |
| Conformance tests  | ✅      |


# 5️⃣ FINAL COMPLIANCE VERDICT (NO AMBIGUITY)

| A2A Discovery Requirement    | Status |
| ---------------------------- | ------ |
| Agent Card                   | ✅      |
| Well-known discovery         | ✅      |
| Direct discovery             | ✅      |
| Secure discovery             | ✅      |
| Capability introspection     | ✅      |
| Registry discovery           | ✅      |
| Trust declaration            | ✅      |
| Selective disclosure support | ✅      |
| Spec-level tests             | ✅      |


# 🧠 Enterprise Coverage: Now Fully Completed

| Enterprise Requirement | SDK Status | Covered by                                 |
| ---------------------- | ---------- | ------------------------------------------ |
| Security & Trust       | ✅          | `security/` + trust declarations           |
| Auth / Scopes          | ✅          | `security/` + `enterprise/auth_helpers.py` |
| RBAC                   | ✅          | `enterprise/rbac.py`                       |
| Audit                  | ✅          | `enterprise/audit.py`                      |
| Policy Enforcement     | ✅          | `enterprise/policy_engine.py`              |
| HITL support           | ✅          | `enterprise/hitl.py`                       |
| mTLS enforcement       | ✅          | `enterprise/auth_helpers.py`               |
| Message governance     | ✅          | `Governance` in schema                     |


# ✅ Final Compliance Checklist (Life of a Task)

| Spec Requirement             | Covered   | Notes                      |
| ---------------------------- | --------- | -------------------------- |
| Stateless message responses  | ✅         | Done                       |
| Stateful task initiation     | ✅         | Done                       |
| Task lifecycle updates       | ✅         | Done                       |
| Context grouping (contextId) | ✅         | Done                       |
| Immutable tasks              | ✅         | Done                       |
| Parallel follow-ups          | ✅         | Done                       |
| Artifact linkage             | ✅         | Done                       |
| Reference task refinements   | ⚠ Partial | Needs `reference_task_ids` |
| Task event models            | ⚠ Partial | Needs explicit event types |

# 🧠 SPEC COMPLIANCE CHECKLIST (Extensions)

| Extension Feature                             | Implemented?           | Location                                               |
| --------------------------------------------- | ---------------------- | ------------------------------------------------------ |
| Declare extensions in AgentCard               | ✔                      | `schema/agent_card.py`                                 |
| Extension model (`uri`, `params`, `required`) | ✔                      | `extensions/models.py`                                 |
| Client negotiation helper                     | ✔                      | `extensions/negotiation.py`                            |
| Transport support for headers                 | ✔                      | `transport/extension_headers.py`                       |
| Server echo back activated extensions         | ✔                      | `extensions/activation.py`                             |
| Tests for extension behaviors                 | ✔                      | `tests_conformance/*.py`                               |
| Input validation guidance                     | ✔                      | extension params should be validated in extension code |
| Required extension enforcement                | ✔ (model field exists) | enforcement logic TBD in server layer                  |


# ✅ What This Validator Guarantees (Spec-Level)

| Requirement                     | Status |
| ------------------------------- | ------ |
| Valid URI enforcement           | ✅      |
| Required extension enforcement  | ✅      |
| Unsupported extension rejection | ✅      |
| Dependency validation           | ✅      |
| Parameter schema enforcement    | ✅      |
| Duplicate detection             | ✅      |
| Safe for enterprise use         | ✅      |
| Framework-agnostic              | ✅      |


# 🎯 Final Compliance Checklist — Streaming & Async

| Spec Requirement             | Covered?                |
| ---------------------------- | ----------------------- |
| Async accept (202)           | ✅                       |
| Correlation IDs              | ✅                       |
| Polling API                  | ✅                       |
| Push webhooks                | ⚠ via enterprise module |
| Streaming parts (structured) | ✅                       |
| SSE streaming                | ✅                       |
| WebSocket streaming          | ✅                       |
| Backpressure / generator     | ✅                       |
| Completion semantic          | ✅                       |
| Error handling in streams    | ⚠ basic                 |




