DynaBots¶
Multi-agent orchestration for Python.¶
A protocol-first foundation for building, evaluating, and deploying AI agent systems. Zero dependencies. Any LLM. Multiple orchestration philosophies.
-
Protocol-First
No base classes. No framework lock-in. Just implement the right methods using Python's structural subtyping and your class works everywhere.
-
Any LLM
Unified interface for Ollama (local, free), OpenAI, and Anthropic. Swap providers without changing your agent code.
-
ORC — Competitive Orchestration
Agents compete for domain leadership in the Arena. The best performer earns the crown — until challenged.
-
Composable Ecosystem
dynabots-coreprovides the foundation. Orchestration packages layer on top. Each independently installable. All share the same protocols.
Quick Example¶
from dynabots_core import Agent, TaskResult
class DataAgent:
@property
def name(self) -> str:
return "DataAgent"
@property
def capabilities(self) -> list[str]:
return ["fetch_data", "analyze"]
@property
def domains(self) -> list[str]:
return ["data", "analytics"]
async def process_task(self, task: str, context: dict) -> TaskResult:
result = await self.do_work(task)
return TaskResult.success(task_id=context["task_id"], data=result)
from dynabots_core.providers import OllamaProvider, OpenAIProvider, AnthropicProvider
# Local (free)
llm = OllamaProvider(model="qwen2.5:7b")
# OpenAI
from openai import AsyncOpenAI
llm = OpenAIProvider(AsyncOpenAI(), model="gpt-4o")
# Anthropic
from anthropic import AsyncAnthropic
llm = AnthropicProvider(AsyncAnthropic(), model="claude-sonnet-4-20250514")
Architecture¶
┌─────────────────────────────────────────────┐
│ Your Application │
└─────────────────────────────────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ ORC │ │ [SAO] │ │ [FORGE] │
│ Arena │ │ Tower │ │ Anvil │
└────┬─────┘ └────┬─────┘ └────┬─────┘
└─────────────┼────────────┘
▼
┌─────────────────────┐
│ dynabots-core │
│ Protocols & Types │
└──────────┬──────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌──────────┐
│ Ollama │ │ OpenAI │ │Anthropic │
└─────────┘ └──────────┘ └──────────┘
Packages¶
| Package | Install | Description |
|---|---|---|
| dynabots-core | pip install dynabots-core |
Protocols, LLM providers, TaskResult |
| orc-arena | pip install orc-arena |
Competitive orchestration — agents fight for leadership |
| SAO | coming soon | Survival RL — agents level up through challenge floors |
| FORGE | coming soon | Adversarial refinement — critic-driven improvement |
| HIVE | coming soon | Swarm intelligence — leaderless emergent convergence |
-
Documentation
Getting Started Protocol Reference Provider Guide TaskResult Semantics
-
Community