Observed since 20 Oct, 21:28 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Agent SDK for AgentArea - agentic AI components
Independent SDK for Agent Networks, Task Orchestration, and Distributed Runners
AgentArea Agents SDK enables building scalable agent networks with task-driven workflows, featuring zero dependencies, multi-provider LLM support, extensible tools, and integration with independent runners like Temporal, Restate, or Dapr for distributed execution.
Welcome to join our community on
From PyPI (when published):
pip install agentarea-agents-sdk
From source (development):
# Clone the repository
git clone https://github.com/agentarea/agentarea-agents-sdk.git
cd agentarea-agents-sdk
# Install in editable mode with dev dependencies
pip install -e .[dev]
Create a simple agent network with task assignment.
import asyncio
from agentarea.agent_kit.agents.network import AgentNetwork
from agentarea.agent_kit.agents import create_agent
from agentarea.agent_kit.tasks.tasks import create_task
async def main():
# Create agents in a network
network = AgentNetwork()
math_agent = create_agent(
name="Math Agent",
instruction="You are a math specialist.",
model="ollama_chat/qwen2.5"
)
coordinator = create_agent(
name="Coordinator",
instruction="Assign tasks to specialists.",
model="ollama_chat/qwen2.5"
)
network.add_agent(math_agent)
network.add_agent(coordinator)
# Create and assign a task
task = create_task(
description="Calculate 25 * 4 + 15",
assignee="Math Agent"
)
network.assign_task(task)
# Run the network
async for event in network.run():
print(f"Network event: {event}")
asyncio.run(main())
Manage tasks across agents.
import asyncio
from agentarea.agent_kit.tasks.task_service import TaskService
from agentarea.agent_kit.agents import create_agent
async def task_example():
service = TaskService()
agent = create_agent(
name="Task Agent",
instruction="Handle assigned tasks.",
model="openai/gpt-4"
)
# Create task
task_id = await service.create_task(
description="Research AI trends",
agent=agent
)
# Monitor progress
progress = await service.get_task_progress(task_id)
print(f"Task progress: {progress}")
# Complete task
await service.complete_task(task_id, result="AI trends summary")
asyncio.run(task_example())
The SDK provides AgentNetwork for building multi-agent systems:
Example: See basic network example above. For advanced setups, use network.py for custom topologies.
Robust task system via tasks/ module:
Task creation with descriptions, assignees, and goalsTaskService for CRUD operations (create, read, update, delete)GoalProgressEvaluatorTasksToolset)Supports hierarchical tasks and dependencies for orchestration.
Extensible runner system for independent deployment:
BaseAgentRunner: Abstract base for custom runnersExample integration (Temporal):
from temporalio import workflow
from agentarea.agent_kit.runners import BaseAgentRunner
class TemporalRunner(BaseAgentRunner):
@workflow.defn
async def run_workflow(self, agent, task):
# Implement Temporal workflow
return await self.execute_agent(agent, task)
Adapt for Restate or Dapr via service calls and state management.
Run built-in examples:
# Network example
python examples/test_agentic_network.py
# Task example (adapt from tests)
python -m agentarea.agent_kit.example
Examples demonstrate:
See examples/ for more.
Modular design focused on networks, tasks, and runners:
agentarea-agents-sdk/
├── src/
│ └── agentarea.agent_kit/
│ ├── agents/ # Agents and networks
│ │ ├── agent.py # Base Agent
│ │ ├── network.py # AgentNetwork
│ │ └── multi_agent.py
│ ├── tasks/ # Task management
│ │ ├── tasks.py # Task models
│ │ └── task_service.py
│ ├── runners/ # Execution engines
│ │ └── base.py # BaseAgentRunner
│ ├── models/ # LLM integration
│ ├── tools/ # Tool system (incl. tasks_toolset)
│ ├── context/ # Context for networks
│ ├── goal/ # Task evaluation
│ └── prompts.py
├── tests/ # Tests for networks/tasks/runners
├── examples/ # Network and task examples
├── docs/
├── README.md
├── LICENSE
└── pyproject.toml
agents/network.py)AgentNetwork: Orchestrate multiple agentstasks/)Task: Core task entityTaskService: Service layer for operationsrunners/)BaseAgentRunner: For custom implementationsVia LiteLLM (100+ models). See examples above for usage.
model = LLMModel(provider_type="openai", model_name="gpt-4", api_key="your-key")
model = LLMModel(provider_type="anthropic", model_name="claude-3-opus-20240229", api_key="your-key")
model = LLMModel(provider_type="ollama_chat", model_name="qwen2.5")
Full list: LiteLLM docs.
pip install -e .[dev]
pytest -q
# Network and task tests
pytest tests/test_agent.py -v
pytest tests/test_task_orchestration.py -v
pytest --cov=src/agentarea.agent_kit --cov-report=term-missing
Includes tests for networks, tasks, and runner integrations.
Setup:
git clone https://github.com/agentarea/agentarea-agents-sdk.git
cd agentarea-agents-sdk
python -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
# Lint, type check, test
ruff check src tests
mypy src
pytest
Uses Ruff, MyPy, Pytest. Focus on network/task coverage.
git checkout -b feature/network-enhancementgit commit -m 'Enhance agent networks'git push origin feature/network-enhancementEmphasize contributions to networks, tasks, runners. Guidelines: PEP 8, types, tests.
See CONTRIBUTING.md for details.
MIT License - see LICENSE.
Thanks to these wonderful people:
This project follows the all-contributors specification.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0 | 14 Sept 2025 | 8 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 21:28 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:016239a25d4bb1438ae08f638d97848f466ddd7ecd020ba2aac1b9ddf9a14cee