Skip to main content

Aragora Dependencies Guide

This guide helps you choose the right dependencies for your use case.

Quick Start​

# Minimal install (CLI debates only)
pip install aragora

# Development install (includes testing tools)
pip install aragora[dev]

# Full install (all features)
pip install aragora[all]

Feature-to-Extras Mapping​

FeatureExtrasSize Impact
CLI debates(none)~50MB
Development/Testingdev+100MB
Monitoring (Prometheus/Sentry)monitoring+20MB
Distributed tracing (OpenTelemetry)observability+30MB
Redis cachingredis+5MB
Database (Supabase/PostgreSQL)persistence,postgres+40MB
PDF/DOCX processingdocuments+30MB
Text-to-speech (basic)broadcast+50MB
Text-to-speech (premium)broadcast-premium+500MB
Web researchresearch+20MB
ML/Embeddingsml+2GB

Installation Profiles​

Profile 1: CLI User​

For running debates from the command line:

pip install aragora

Includes: Core debate engine, SQLite storage, all agent providers

Profile 2: API Server​

For running the REST/WebSocket server:

pip install aragora[monitoring,observability]

Includes: Core + Prometheus metrics + OpenTelemetry tracing

Profile 3: Production Deployment​

For full production environment:

pip install aragora[monitoring,observability,persistence,postgres,redis]

Includes: Core + metrics + tracing + Supabase + PostgreSQL + Redis caching

Profile 4: Development​

For contributing to Aragora:

pip install aragora[dev,monitoring]

Includes: Core + pytest + mypy + ruff + bandit + metrics

Profile 5: Research/Evidence​

For debates with web research and evidence collection:

pip install aragora[research,documents]

Includes: Core + DuckDuckGo search + PDF/DOCX parsing

Profile 6: Broadcast/Audio​

For generating debate audio/video:

# Basic TTS (free, edge-tts)
pip install aragora[broadcast]

# Premium TTS (ElevenLabs, AWS Polly, Coqui XTTS)
pip install aragora[broadcast-premium]

Note: broadcast-premium requires ~500MB and includes PyTorch for XTTS

For semantic similarity and embeddings:

pip install aragora[ml]

Warning: This adds ~2GB for sentence-transformers and dependencies

Dependency Details​

Core Dependencies (always installed)​

PackagePurposeSecurity
aiohttp>=3.13.3Async HTTP clientCVE fixes in 3.13.3
websockets>=12.0WebSocket support-
pyyaml>=6.0Config parsing-
pydantic>=2.0Data validation-
bcrypt>=4.0Password hashing-
markupsafe>=2.1.0XSS prevention-
pyotp>=2.9MFA support-
jinja2>=3.1.6TemplatingCVE-2024-56326 fix
urllib3>=2.6.3HTTP utilitiesCVE fix

Optional Dependencies​

dev - Development Tools​

pytest, pytest-asyncio, pytest-cov, pytest-timeout
black, ruff, bandit, mypy, mutmut

monitoring - Production Metrics​

prometheus-client - Metrics export
sentry-sdk - Error tracking

observability - Distributed Tracing​

opentelemetry-api, opentelemetry-sdk
opentelemetry-exporter-otlp
opentelemetry-instrumentation-logging
prometheus-client

persistence - Database Backends​

supabase - Supabase client
sqlalchemy - ORM support

postgres - PostgreSQL Support​

asyncpg - Async PostgreSQL driver

documents - Document Processing​

pypdf>=6.6 - PDF parsing (CVE fixes)
python-docx - DOCX parsing

broadcast - Text-to-Speech​

edge-tts - Microsoft Edge TTS (free)
pydub - Audio processing
pyttsx3 - Local TTS (macOS/Windows)

broadcast-elevenlabs - ElevenLabs TTS​

elevenlabs - Premium voice synthesis

broadcast-polly - AWS Polly TTS​

boto3 - AWS SDK for Polly

broadcast-xtts - Coqui XTTS​

TTS - Local neural TTS (requires PyTorch)

research - Web Research​

duckduckgo-search - Web search API
httpx - HTTP client
beautifulsoup4 - HTML parsing

ml - Machine Learning​

numpy>=2.0 - Numerical computing
scipy>=1.14.0 - Scientific computing
scikit-learn>=1.5.0 - ML algorithms
sentence-transformers>=3.0.0 - Text embeddings

Environment Variables​

Dependencies may require these environment variables:

VariableRequired For
ANTHROPIC_API_KEYClaude agents
OPENAI_API_KEYGPT agents
OPENROUTER_API_KEYFallback agents
SUPABASE_URLSupabase persistence
SUPABASE_KEYSupabase persistence
ELEVENLABS_API_KEYElevenLabs TTS
AWS_ACCESS_KEY_IDAWS Polly TTS
AWS_SECRET_ACCESS_KEYAWS Polly TTS

Troubleshooting​

Import Errors​

If you see ModuleNotFoundError, install the required extras:

# Missing prometheus_client
pip install aragora[monitoring]

# Missing sentence_transformers
pip install aragora[ml]

# Missing pypdf
pip install aragora[documents]

Large Downloads​

The ml and broadcast-premium extras download large models:

  • ml: ~2GB (sentence-transformers + torch)
  • broadcast-xtts: ~500MB (Coqui TTS + torch)

Use --no-cache-dir to avoid caching:

pip install --no-cache-dir aragora[ml]

Conflicts​

If you have dependency conflicts:

# Create fresh environment
python -m venv .venv
source .venv/bin/activate

# Install with constraints
pip install aragora[your-extras]