Skip to main content
[![All Contributors](https://img.shields.io/badge/all_contributors-0-orange.svg?style=flat-square)](#contributors-)

AgentArea Agents SDK

PyPI Python Version License Code Style GitHub Stars GitHub Forks Build Status Discord MCP

[Documentation] [Examples]

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.


✨ Key Features

  • 🌐 Agent Networks: Multi-agent collaboration with event-driven communication and orchestration
  • 📋 Task Management: Comprehensive task creation, assignment, progress tracking, and evaluation
  • 🏃 Independent Runners: Extensible base for distributed execution using Temporal, Restate, Dapr, or custom runners
  • 🤖 Multi-Provider LLM Support: Unified interface for OpenAI, Claude, Ollama, and 100+ models via LiteLLM
  • 🛠️ Extensible Tool System: Built-in tools for calculations, MCP integration, human-in-loop, and task operations
  • ⚡ ReAct Framework: Structured reasoning and acting with streaming support for networked agents
  • 🔒 Type Safety: Comprehensive Pydantic models and type hints throughout
  • 🚀 Async/Await Ready: Full asynchronous support for efficient, distributed execution
  • 📊 Comprehensive Testing: Unit, integration, and distributed workflow tests with 50%+ coverage
  • 📚 Developer Friendly: Clean architecture, detailed docs, and easy integration for scalable systems

💬 Contact

Welcome to join our community on

Discord Email
opensource@agentarea.ai

📋 Table of Contents


🚀 Quick Start

Prerequisites

  • Python 3.11 or higher
  • pip package manager

Installation

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]

Basic Agent Network Example

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())

Task Orchestration Example

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())

🌐 Agent Networks

The SDK provides AgentNetwork for building multi-agent systems:

  • Event-driven communication between agents
  • Role-based agent assignment
  • Network orchestration for complex workflows
  • Integration with tasks for distributed processing

Example: See basic network example above. For advanced setups, use network.py for custom topologies.


📋 Task Management

Robust task system via tasks/ module:

  • Task creation with descriptions, assignees, and goals
  • TaskService for CRUD operations (create, read, update, delete)
  • Progress evaluation with GoalProgressEvaluator
  • Human-in-loop integration for oversight
  • Toolset for task-related operations (e.g., TasksToolset)

Supports hierarchical tasks and dependencies for orchestration.


🏃 Distributed Runners

Extensible runner system for independent deployment:

  • BaseAgentRunner: Abstract base for custom runners
  • Integration points for Temporal (workflow orchestration), Restate (stateful workflows), Dapr (service invocation)
  • Async execution with state persistence
  • Scalable for cloud-native environments

Example 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.


📚 Examples

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:

  • Agent networks and communication
  • Task creation and assignment
  • Distributed runner stubs
  • Tool usage in networked contexts

See examples/ for more.


🏗️ Architecture

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

🔌 Components

Agent Networks (agents/network.py)

  • AgentNetwork: Orchestrate multiple agents
  • Event handling and inter-agent messaging
  • Task routing and coordination

Task Management (tasks/)

  • Task: Core task entity
  • TaskService: Service layer for operations
  • Integration with agents and tools

Distributed Runners (runners/)

  • BaseAgentRunner: For custom implementations
  • Support for stateful, distributed execution

Other Components

  • LLM Models: Provider-agnostic
  • Tools: Extensible with task-specific tools
  • Prompts: ReAct for networked reasoning

📖 Supported LLM Providers

Via LiteLLM (100+ models). See examples above for usage.

OpenAI

model = LLMModel(provider_type="openai", model_name="gpt-4", api_key="your-key")

Anthropic

model = LLMModel(provider_type="anthropic", model_name="claude-3-opus-20240229", api_key="your-key")

Ollama

model = LLMModel(provider_type="ollama_chat", model_name="qwen2.5")

Full list: LiteLLM docs.


🧪 Testing

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.


💻 Development

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.


🤝 Contributing

  1. Fork the repo
  2. Create feature branch: git checkout -b feature/network-enhancement
  3. Commit: git commit -m 'Enhance agent networks'
  4. Push: git push origin feature/network-enhancement
  5. Open PR

Emphasize contributions to networks, tasks, runners. Guidelines: PEP 8, types, tests.

See CONTRIBUTING.md for details.


📄 License

MIT License - see LICENSE.


👥 Contributors ✨

Thanks to these wonderful people:

This project follows the all-contributors specification.

Release files for agentarea-agents-sdk 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentarea-agents-sdk 0.1.0
File Size Uploaded
agentarea_agents_sdk-0.1.0.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentarea-agents-sdk 0.1.0
File Interpreter ABI Platform
agentarea_agents_sdk-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 78.4 kB

Release files / agentarea_agents_sdk-0.1.0.tar.gz

Download URL agentarea_agents_sdk-0.1.0.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4ad31b34692f218d1fd0d8d355780f603ed742d4bd1d4e2bc25dae2ccee185e7
BLAKE2b-256 checksum
How to use checksums
4df3843e8dc8178e79eda9051c3d8e1373a0a6c1413c6a83b6f40cc1d59abb1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Release files / agentarea_agents_sdk-0.1.0-py3-none-any.whl

Download URL agentarea_agents_sdk-0.1.0-py3-none-any.whl
Size 70.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7cca52ca41e24a8d3dff14db654789a40ba81158843f49dfcc9aa54b41e74f69
BLAKE2b-256 checksum
How to use checksums
7b15364af78efb08cfb832e798fc5c4a0b5a3e095725b2c2914b043044d92280
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page