### A2A uAgent Adapter
A comprehensive Python module for integrating A2A (Agent-to-Agent) systems with uAgents, enabling intelligent multi-agent coordination and communication.
## Overview
The A2A uAgent Adapter provides a seamless bridge between A2A agents and the uAgent ecosystem, allowing for:
- **Multi-Agent Coordination**: Manage multiple specialized AI agents from a single interface
- **Intelligent Routing**: Automatically route queries to the most suitable agent based on keywords, specialties, or LLM-based analysis
- **Health Monitoring**: Continuous health checking and discovery of available agents
- **Fallback Mechanisms**: Robust error handling with fallback executors
- **Chat Protocol Integration**: Full support for uAgent chat protocols and messaging
## Features
### Multi-Agent Management
- Configure and manage multiple A2A agents with different specialties
- Automatic agent discovery and registration
- Health monitoring and status tracking
### Intelligent Routing
- **Keyword Matching**: Route queries based on agent keywords and specialties
- **LLM-Based Routing**: Use AI to intelligently select the best agent for complex queries
- **Round-Robin**: Distribute load evenly across available agents
- **Priority-Based**: Assign priorities to agents for preferential routing
### Communication Protocols
- Full uAgent chat protocol support
- Asynchronous message handling
- Acknowledgment and error handling
- Real-time agent communication
### ️ Reliability Features
- Health checking and agent discovery
- Fallback executor support
- Graceful error handling
- Timeout management
## Installation
```shellscript
pip install uagent_a2a_adapter
```
## Quick Start
### Single Agent Setup
```python
from uagent_a2a_adapter import A2AAdapter
from your_agent_executor import YourAgentExecutor # Replace with your executor
def main():
# Initialize your agent executor
executor = YourAgentExecutor()
# Create and run the adapter
adapter = A2AAdapter(
agent_executor=agent_executor,
name="MyAgent",
description="A helpful AI assistant",
port=8000,
a2a_port=9999
)
adapter.run()
```
### Multi-Agent Setup
```python
from a2a_adapter import A2AAdapter, A2AAgentConfig
# Configure multiple agents
agent_configs = [
A2AAgentConfig(
name="CodeAgent",
description="Specialized in coding tasks",
url="http://localhost:9001",
port=9001,
specialties=["Python", "JavaScript", "Code Review"],
priority=2
),
A2AAgentConfig(
name="DataAgent",
description="Expert in data analysis",
url="http://localhost:9002",
port=9002,
specialties=["Data Analysis", "Statistics", "Visualization"]
)
]
# Create multi-agent adapter
adapter = A2AAdapter(
name="MultiAgentSystem",
description="Coordinated AI agent system",
port=8000,
agent_configs=agent_configs,
routing_strategy="keyword_match"
)
adapter.run()
```
## Configuration
### A2AAgentConfig
Configure individual agents with specialized capabilities:
```python
config = A2AAgentConfig(
name="SpecializedAgent",
description="Agent description",
url="http://localhost:9000",
port=9000,
specialties=["Machine Learning", "Data Science"],
skills=["python", "tensorflow", "pandas"], # Auto-generated if not provided
examples=["Help with ML models", "Analyze data"], # Auto-generated if not provided
keywords=["ml", "ai", "data"], # Auto-generated if not provided
priority=1 # Higher numbers = higher priority
)
```
### Routing Strategies
#### Keyword Matching (Default)
Routes queries based on keyword and specialty matching with scoring:
```python
adapter = A2AAdapter(
routing_strategy="keyword_match",
# ... other config
)
```
#### LLM-Based Routing
Uses AI to intelligently select the best agent:
```python
adapter = A2AAdapter(
routing_strategy="llm_routing",
# ... other config
)
```
#### Round Robin
Distributes queries evenly across all healthy agents:
```python
adapter = A2AAdapter(
routing_strategy="round_robin",
# ... other config
)
```
## API Reference
### A2AAdapter
Main adapter class for managing A2A agents.
#### Constructor Parameters
| Parameter | Type | Default | Description
|-----|-----|-----|-----
| `name` | str | Required | Name of the adapter
| `description` | str | Required | Description of the adapter
| `port` | int | 8000 | uAgent port
| `mailbox` | bool | True | Enable mailbox functionality
| `seed` | str | None | Seed for uAgent (auto-generated if None)
| `agent_configs` | List[A2AAgentConfig] | [] | List of agent configurations
| `fallback_executor` | AgentExecutor | None | Fallback executor for unrouted queries
| `routing_strategy` | str | "keyword_match" | Routing strategy to use
#### Methods
##### `add_agent_config(config: A2AAgentConfig)`
Add a new agent configuration to the adapter.
##### `run()`
Start the adapter and begin processing messages.
### A2AAgentConfig
Configuration class for individual A2A agents.
#### Constructor Parameters
| Parameter | Type | Default | Description
|-----|-----|-----|-----
| `name` | str | Required | Agent name
| `description` | str | Required | Agent description
| `url` | str | Required | Agent URL
| `port` | int | Required | Agent port
| `specialties` | List[str] | Required | Agent specialties
| `skills` | List[str] | Auto-generated | Agent skills
| `examples` | List[str] | Auto-generated | Usage examples
| `keywords` | List[str] | Auto-generated | Routing keywords
| `priority` | int | 1 | Agent priority (higher = more preferred)
## Architecture
```plaintext
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ uAgent Chat │ │ A2A Adapter │ │ A2A Agents │
│ Protocol │◄──►│ │◄──►│ │
└─────────────────┘ │ ┌─────────────┐ │ │ ┌─────────────┐│
│ │ Router │ │ │ │ Code Agent ││
┌─────────────────┐ │ │ │ │ │ └─────────────┘│
│ External │◄──►│ │ • Keywords │ │ │ ┌─────────────┐│
│ uAgents │ │ │ • LLM │ │ │ │ Data Agent ││
└─────────────────┘ │ │ • Priority │ │ │ └─────────────┘│
│ └─────────────┘ │ │ ┌─────────────┐│
┌─────────────────┐ │ ┌─────────────┐ │ │ │ Chat Agent ││
│ Health │◄──►│ │ Discovery │ │ │ └─────────────┘│
│ Monitor │ │ │ & Health │ │ └─────────────────┘
└─────────────────┘ │ └─────────────┘ │
└──────────────────┘
```
## Message Flow
1. **Incoming Message**: External uAgent sends chat message
2. **Agent Discovery**: Adapter discovers and health-checks available agents
3. **Query Routing**: Router selects best agent based on strategy
4. **Message Forwarding**: Query sent to selected A2A agent
5. **Response Processing**: Agent response processed and formatted
6. **Reply**: Response sent back to original sender
7. **Acknowledgment**: Confirmation sent to complete the cycle
## Advanced Usage
### Custom Fallback Executor
```python
class CustomFallbackExecutor(AgentExecutor):
async def execute(self, context, event_queue):
# Custom fallback logic
pass
adapter = A2AAdapter(
name="SystemWithFallback",
fallback_executor=CustomFallbackExecutor(),
# ... other config
)
```
### Dynamic Agent Registration
```python
# Start with basic configuration
adapter = A2AAdapter(name="DynamicSystem")
# Add agents dynamically
new_agent = A2AAgentConfig(
name="NewAgent",
url="http://localhost:9003",
port=9003,
specialties=["Natural Language Processing"]
)
adapter.add_agent_config(new_agent)
```
### Health Monitoring
The adapter automatically monitors agent health and excludes unhealthy agents from routing:
```python
# Health status is checked on startup and periodically
# Unhealthy agents are automatically excluded from routing
# Health checks include:
# - Agent card availability at /.well-known/agent.json
# - HTTP response status
# - Response time monitoring
```
## Error Handling
The adapter includes comprehensive error handling:
- **Agent Unavailable**: Automatically routes to alternative agents
- **Network Timeouts**: Configurable timeout settings with graceful degradation
- **Invalid Responses**: Fallback to error messages or alternative agents
- **Health Check Failures**: Automatic agent exclusion and retry logic
## Development
### Setting up Development Environment
```bash
# Clone the repository
git clone https://github.com/gautammanak1/uagent-a2a-adapter.git
cd uagent-a2a-adapter
# Install development dependencies
pip install -e .[dev]
# Run tests
pytest
# Format code
black .
isort .
# Type checking
mypy uagent_a2a_adapter
```
### Running Tests
```bash
# Run all tests
pytest
# Run with coverage
pytest --cov=uagent_a2a_adapter
# Run specific test file
pytest tests/test_adapter.py
```
## Contributing
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests
5. Submit a pull request
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
## Changelog
See [CHANGELOG.md](CHANGELOG.md) for version history and changes.
## Support
- **Issues**: [GitHub Issues](https://github.com/gautammanak1/uagent-a2a-adapter/issues)
- **Discussions**: [GitHub Discussions](https://github.com/gautammanak1/uagent-a2a-adapter/discussions)
- **Email**: gautam.kumar@fetch.ai
## Acknowledgments
- [uAgents](https://github.com/fetchai/uAgents) - The underlying agent framework
- [A2A](https://github.com/a2a-ai/a2a) - Agent-to-Agent communication protocol
- [Fetch.ai](https://fetch.ai) - For the foundational agent technologies
## License
This project is licensed under the MIT License - see the LICENSE file for details.
---
**Note**: This adapter requires a running A2A infrastructure and properly configured A2A agents to function correctly.
Raw data
{
"_id": null,
"home_page": null,
"name": "uagent-a2a-adapter",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "uagents, a2a-sdk, ai, agents, adapter, integration",
"author": null,
"author_email": "gautammanak <gautam.kumar@fetch.ai>",
"download_url": "https://files.pythonhosted.org/packages/a2/46/c2e3809fc0f1728460e79c225a3ca654a3708f3cd5a3c069a39ae1a7ba7d/uagent_a2a_adapter-0.1.5.tar.gz",
"platform": null,
"description": "### A2A uAgent Adapter\n\nA comprehensive Python module for integrating A2A (Agent-to-Agent) systems with uAgents, enabling intelligent multi-agent coordination and communication.\n\n## Overview\n\nThe A2A uAgent Adapter provides a seamless bridge between A2A agents and the uAgent ecosystem, allowing for:\n\n- **Multi-Agent Coordination**: Manage multiple specialized AI agents from a single interface\n- **Intelligent Routing**: Automatically route queries to the most suitable agent based on keywords, specialties, or LLM-based analysis\n- **Health Monitoring**: Continuous health checking and discovery of available agents\n- **Fallback Mechanisms**: Robust error handling with fallback executors\n- **Chat Protocol Integration**: Full support for uAgent chat protocols and messaging\n\n\n## Features\n\n### Multi-Agent Management\n\n- Configure and manage multiple A2A agents with different specialties\n- Automatic agent discovery and registration\n- Health monitoring and status tracking\n\n\n### Intelligent Routing\n\n- **Keyword Matching**: Route queries based on agent keywords and specialties\n- **LLM-Based Routing**: Use AI to intelligently select the best agent for complex queries\n- **Round-Robin**: Distribute load evenly across available agents\n- **Priority-Based**: Assign priorities to agents for preferential routing\n\n\n### Communication Protocols\n\n- Full uAgent chat protocol support\n- Asynchronous message handling\n- Acknowledgment and error handling\n- Real-time agent communication\n\n\n### \ufe0f Reliability Features\n\n- Health checking and agent discovery\n- Fallback executor support\n- Graceful error handling\n- Timeout management\n\n\n## Installation\n\n```shellscript\npip install uagent_a2a_adapter\n```\n\n## Quick Start\n\n### Single Agent Setup\n\n```python\nfrom uagent_a2a_adapter import A2AAdapter\nfrom your_agent_executor import YourAgentExecutor # Replace with your executor\n\ndef main():\n # Initialize your agent executor\n executor = YourAgentExecutor()\n\n# Create and run the adapter\nadapter = A2AAdapter(\n agent_executor=agent_executor,\n name=\"MyAgent\",\n description=\"A helpful AI assistant\",\n port=8000,\n a2a_port=9999\n)\n\nadapter.run()\n```\n\n### Multi-Agent Setup\n\n```python\nfrom a2a_adapter import A2AAdapter, A2AAgentConfig\n\n# Configure multiple agents\nagent_configs = [\n A2AAgentConfig(\n name=\"CodeAgent\",\n description=\"Specialized in coding tasks\",\n url=\"http://localhost:9001\",\n port=9001,\n specialties=[\"Python\", \"JavaScript\", \"Code Review\"],\n priority=2\n ),\n A2AAgentConfig(\n name=\"DataAgent\", \n description=\"Expert in data analysis\",\n url=\"http://localhost:9002\",\n port=9002,\n specialties=[\"Data Analysis\", \"Statistics\", \"Visualization\"]\n )\n]\n\n# Create multi-agent adapter\nadapter = A2AAdapter(\n name=\"MultiAgentSystem\",\n description=\"Coordinated AI agent system\",\n port=8000,\n agent_configs=agent_configs,\n routing_strategy=\"keyword_match\"\n)\n\nadapter.run()\n```\n\n## Configuration\n\n### A2AAgentConfig\n\nConfigure individual agents with specialized capabilities:\n\n```python\nconfig = A2AAgentConfig(\n name=\"SpecializedAgent\",\n description=\"Agent description\",\n url=\"http://localhost:9000\",\n port=9000,\n specialties=[\"Machine Learning\", \"Data Science\"],\n skills=[\"python\", \"tensorflow\", \"pandas\"], # Auto-generated if not provided\n examples=[\"Help with ML models\", \"Analyze data\"], # Auto-generated if not provided\n keywords=[\"ml\", \"ai\", \"data\"], # Auto-generated if not provided\n priority=1 # Higher numbers = higher priority\n)\n```\n\n### Routing Strategies\n\n#### Keyword Matching (Default)\n\nRoutes queries based on keyword and specialty matching with scoring:\n\n```python\nadapter = A2AAdapter(\n routing_strategy=\"keyword_match\",\n # ... other config\n)\n```\n\n#### LLM-Based Routing\n\nUses AI to intelligently select the best agent:\n\n```python\nadapter = A2AAdapter(\n routing_strategy=\"llm_routing\",\n # ... other config\n)\n```\n\n#### Round Robin\n\nDistributes queries evenly across all healthy agents:\n\n```python\nadapter = A2AAdapter(\n routing_strategy=\"round_robin\",\n # ... other config\n)\n```\n\n## API Reference\n\n### A2AAdapter\n\nMain adapter class for managing A2A agents.\n\n#### Constructor Parameters\n\n| Parameter | Type | Default | Description\n|-----|-----|-----|-----\n| `name` | str | Required | Name of the adapter\n| `description` | str | Required | Description of the adapter\n| `port` | int | 8000 | uAgent port\n| `mailbox` | bool | True | Enable mailbox functionality\n| `seed` | str | None | Seed for uAgent (auto-generated if None)\n| `agent_configs` | List[A2AAgentConfig] | [] | List of agent configurations\n| `fallback_executor` | AgentExecutor | None | Fallback executor for unrouted queries\n| `routing_strategy` | str | \"keyword_match\" | Routing strategy to use\n\n\n#### Methods\n\n##### `add_agent_config(config: A2AAgentConfig)`\n\nAdd a new agent configuration to the adapter.\n\n##### `run()`\n\nStart the adapter and begin processing messages.\n\n### A2AAgentConfig\n\nConfiguration class for individual A2A agents.\n\n#### Constructor Parameters\n\n| Parameter | Type | Default | Description\n|-----|-----|-----|-----\n| `name` | str | Required | Agent name\n| `description` | str | Required | Agent description\n| `url` | str | Required | Agent URL\n| `port` | int | Required | Agent port\n| `specialties` | List[str] | Required | Agent specialties\n| `skills` | List[str] | Auto-generated | Agent skills\n| `examples` | List[str] | Auto-generated | Usage examples\n| `keywords` | List[str] | Auto-generated | Routing keywords\n| `priority` | int | 1 | Agent priority (higher = more preferred)\n\n\n## Architecture\n\n```plaintext\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 uAgent Chat \u2502 \u2502 A2A Adapter \u2502 \u2502 A2A Agents \u2502\n\u2502 Protocol \u2502\u25c4\u2500\u2500\u25ba\u2502 \u2502\u25c4\u2500\u2500\u25ba\u2502 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u2502\n \u2502 \u2502 Router \u2502 \u2502 \u2502 \u2502 Code Agent \u2502\u2502\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\u2502\n\u2502 External \u2502\u25c4\u2500\u2500\u25ba\u2502 \u2502 \u2022 Keywords \u2502 \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u2502\n\u2502 uAgents \u2502 \u2502 \u2502 \u2022 LLM \u2502 \u2502 \u2502 \u2502 Data Agent \u2502\u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502 \u2502 \u2022 Priority \u2502 \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\u2502\n \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u2502\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u2502 \u2502 Chat Agent \u2502\u2502\n\u2502 Health \u2502\u25c4\u2500\u2500\u25ba\u2502 \u2502 Discovery \u2502 \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\u2502\n\u2502 Monitor \u2502 \u2502 \u2502 & Health \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n## Message Flow\n\n1. **Incoming Message**: External uAgent sends chat message\n2. **Agent Discovery**: Adapter discovers and health-checks available agents\n3. **Query Routing**: Router selects best agent based on strategy\n4. **Message Forwarding**: Query sent to selected A2A agent\n5. **Response Processing**: Agent response processed and formatted\n6. **Reply**: Response sent back to original sender\n7. **Acknowledgment**: Confirmation sent to complete the cycle\n\n\n## Advanced Usage\n\n### Custom Fallback Executor\n\n```python\nclass CustomFallbackExecutor(AgentExecutor):\n async def execute(self, context, event_queue):\n # Custom fallback logic\n pass\n\nadapter = A2AAdapter(\n name=\"SystemWithFallback\",\n fallback_executor=CustomFallbackExecutor(),\n # ... other config\n)\n```\n\n### Dynamic Agent Registration\n\n```python\n# Start with basic configuration\nadapter = A2AAdapter(name=\"DynamicSystem\")\n\n# Add agents dynamically\nnew_agent = A2AAgentConfig(\n name=\"NewAgent\",\n url=\"http://localhost:9003\",\n port=9003,\n specialties=[\"Natural Language Processing\"]\n)\n\nadapter.add_agent_config(new_agent)\n```\n\n### Health Monitoring\n\nThe adapter automatically monitors agent health and excludes unhealthy agents from routing:\n\n```python\n# Health status is checked on startup and periodically\n# Unhealthy agents are automatically excluded from routing\n# Health checks include:\n# - Agent card availability at /.well-known/agent.json\n# - HTTP response status\n# - Response time monitoring\n```\n\n## Error Handling\n\nThe adapter includes comprehensive error handling:\n\n- **Agent Unavailable**: Automatically routes to alternative agents\n- **Network Timeouts**: Configurable timeout settings with graceful degradation\n- **Invalid Responses**: Fallback to error messages or alternative agents\n- **Health Check Failures**: Automatic agent exclusion and retry logic\n\n\n\n## Development\n\n### Setting up Development Environment\n\n```bash\n# Clone the repository\ngit clone https://github.com/gautammanak1/uagent-a2a-adapter.git\ncd uagent-a2a-adapter\n\n# Install development dependencies\npip install -e .[dev]\n\n# Run tests\npytest\n\n# Format code\nblack .\nisort .\n\n# Type checking\nmypy uagent_a2a_adapter\n```\n\n### Running Tests\n\n```bash\n# Run all tests\npytest\n\n# Run with coverage\npytest --cov=uagent_a2a_adapter\n\n# Run specific test file\npytest tests/test_adapter.py\n```\n\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests\n5. Submit a pull request\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for version history and changes.\n\n## Support\n\n- **Issues**: [GitHub Issues](https://github.com/gautammanak1/uagent-a2a-adapter/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/gautammanak1/uagent-a2a-adapter/discussions)\n- **Email**: gautam.kumar@fetch.ai\n\n## Acknowledgments\n\n- [uAgents](https://github.com/fetchai/uAgents) - The underlying agent framework\n- [A2A](https://github.com/a2a-ai/a2a) - Agent-to-Agent communication protocol\n- [Fetch.ai](https://fetch.ai) - For the foundational agent technologies\n\n\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n\n---\n\n**Note**: This adapter requires a running A2A infrastructure and properly configured A2A agents to function correctly.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Adapters for integrating A2A agents with uAgents framework",
"version": "0.1.5",
"project_urls": {
"Bug Tracker": "https://github.com/gautammanak1/uagent-a2a-adapter/issues",
"Documentation": "https://github.com/gautammanak1/uagent-a2a-adapter#readme",
"Homepage": "https://github.com/gautammanak1/uagent-a2a-adapter",
"Repository": "https://github.com/gautammanak1/uagent-a2a-adapter"
},
"split_keywords": [
"uagents",
" a2a-sdk",
" ai",
" agents",
" adapter",
" integration"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f535770a69eb996dc53e71ce00a22698d33706e4dd2432730913a26c92f99e76",
"md5": "3168618066cf1edd822889b4a97f8bb6",
"sha256": "738264e680bf1661fafa7dfab6dfee593969aea8b75e52f11b434e4fb7cd23c4"
},
"downloads": -1,
"filename": "uagent_a2a_adapter-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3168618066cf1edd822889b4a97f8bb6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 12522,
"upload_time": "2025-07-08T21:10:32",
"upload_time_iso_8601": "2025-07-08T21:10:32.937082Z",
"url": "https://files.pythonhosted.org/packages/f5/35/770a69eb996dc53e71ce00a22698d33706e4dd2432730913a26c92f99e76/uagent_a2a_adapter-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a246c2e3809fc0f1728460e79c225a3ca654a3708f3cd5a3c069a39ae1a7ba7d",
"md5": "855c5b2360cf7a2fd86be0d7b7508dd2",
"sha256": "d8a812fa23b607e590c2b94c2b6175a43f9cc150f30f3836914556b66d72447b"
},
"downloads": -1,
"filename": "uagent_a2a_adapter-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "855c5b2360cf7a2fd86be0d7b7508dd2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 23073,
"upload_time": "2025-07-08T21:10:34",
"upload_time_iso_8601": "2025-07-08T21:10:34.392243Z",
"url": "https://files.pythonhosted.org/packages/a2/46/c2e3809fc0f1728460e79c225a3ca654a3708f3cd5a3c069a39ae1a7ba7d/uagent_a2a_adapter-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-08 21:10:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gautammanak1",
"github_project": "uagent-a2a-adapter",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "uagent-a2a-adapter"
}