Skip to main content

Lightweight, hackable multi-agent orchestration lab (CLI + Python) with transcripts, checkpoints, budgets, and pluggable providers/tools.

Project description

🧪 AgentryLab

Multi-agent orchestration made simple. Drop in agents, watch the magic happen.

CI PyPI License Python

🚀 Quick Start

pip install agentrylab

# Comedy gold
agentrylab run standup_club.yaml --objective "remote work" --max-iters 4

# Real debates with evidence  
agentrylab run debates.yaml --objective "Should we colonize Mars?" --max-iters 4

# Facebook Marketplace deals finder
agentrylab run marketplace_deals.yaml --objective "MacBook Pro deals"

🎭 What You Get

5 killer presets that actually work:

Preset What It Does Cool Factor
🎤 Stand-Up Club Two comedians + MC Comedy gold, pure entertainment
🏛️ Debates Pro/con + evidence search Real web research, actual citations
🔬 Research Scientists collaborate Academic rigor meets AI
🤖 Research Assistant Interactive research chat Human-in-the-loop web research
🛒 Marketplace Deals Facebook Marketplace finder Real listings, real URLs, real deals

🧠 Core Concepts

  • Agents: Roles that speak (comedian, scientist, debater — no limits!)
  • Tools: Real integrations (DuckDuckGo search, Facebook Marketplace, Wolfram Alpha)
  • Providers: LLM backends (OpenAI, Ollama)
  • Schedulers: Who talks when (round-robin, every-N)

🛠️ Installation & Setup

# Install
pip install agentrylab

# Optional: Local models with Ollama
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull llama3

# Optional: API keys in .env
echo "OPENAI_API_KEY=sk-..." >> .env
echo "APIFY_API_TOKEN=apify_..." >> .env

🎯 Examples

Comedy Club

agentrylab run standup_club.yaml --objective "AI taking over the world" --max-iters 6

Real Research

agentrylab run research.yaml --objective "quantum biology breakthroughs"

Interactive Research

# Start conversation
agentrylab run research_assistant.yaml --objective "latest AI developments"

# Jump in anytime
agentrylab say research_assistant.yaml demo "What about quantum computing?"
agentrylab run research_assistant.yaml --thread-id demo --resume --max-iters 1

Marketplace Deals

agentrylab run marketplace_deals.yaml --objective "iPhone 15 Pro deals in NYC"

# With structured inputs (user_inputs) non-interactively
agentrylab run marketplace_deals.yaml \
  --params '{"query":"MacBook Pro 14 M3","location":"Tel Aviv","min_price":5000,"max_price":12000}'

Telegram-style parameter collection (concept)

  • Presets may declare a user_inputs section. If required inputs are missing when starting a conversation via the Telegram adapter, the conversation enters COLLECTING status until inputs are provided.
  • Adapter helpers:
    • provide_user_param(conversation_id, key, value): supply a single input; returns remaining keys
    • finalize_params_and_start(conversation_id): substitute values, initialize the lab, transition to ACTIVE

This enables progressive, chat-like forms for complex scenarios (e.g., location, radius, min/max price) while still supporting one-shot runs with --params.

🐍 Python API

from agentrylab import init

# Start a comedy show
lab = init("standup_club.yaml", experiment_id="comedy-night")
lab.run(rounds=6)

# Check out the show
for msg in lab.state.history:
    print(f"[{msg['role']}]: {msg['content']}")

🔧 Advanced Features

  • Real-time streaming: Watch agents work live
  • Resume anywhere: Pick up where you left off
  • Tool budgets: Prevent runaway API costs
  • Human-in-the-loop: Jump into conversations anytime
  • Persistence: Everything saved to SQLite + JSONL

📚 Documentation

🤝 Contributing

We welcome contributions! See CONTRIBUTING.md for details.

Quick wins:

  • New presets (comedy, debates, research, etc.)
  • New tools (APIs, databases, etc.)
  • New providers (Claude, Gemini, etc.)

📄 License

MIT - Go build something amazing!


Made with ❤️ for the AI community. Because single agents are boring. 🤖

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentrylab-0.2.0.tar.gz (96.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentrylab-0.2.0-py3-none-any.whl (98.4 kB view details)

Uploaded Python 3

File details

Details for the file agentrylab-0.2.0.tar.gz.

File metadata

  • Download URL: agentrylab-0.2.0.tar.gz
  • Upload date:
  • Size: 96.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for agentrylab-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cae158c7e4f9d946e93df0071613d8ead2d9b10fe9456ed689f1a553738bf1f1
MD5 59942c01f380fc6afeb67fa12835eb9a
BLAKE2b-256 5e32b78d9f910a5f48548e482af1a450ae751bfa44fdea7041eb9e2427c27388

See more details on using hashes here.

File details

Details for the file agentrylab-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: agentrylab-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 98.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for agentrylab-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4770503e9c21e9dcaee3848d4debb473aec0a2dc2006773b459a934a3ab7a61b
MD5 187dfbd1b7c40dea4f24db7d3914cdcc
BLAKE2b-256 d9abfa6ff617158d67f8dce2d45054f92e3f73981644077f68156fffa3997668

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page