Metadata-Version: 2.4
Name: soothe
Version: 0.6.0
Summary: Soothe - Goal-driven multi-agent orchestration framework
Project-URL: Homepage, https://github.com/mirasoth/soothe
Project-URL: Repository, https://github.com/mirasoth/soothe
License: MIT
Keywords: agents,ai,langchain,langgraph,llm,multi-agent,soothe,subagents
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <3.15,>=3.11
Requires-Dist: aiohttp<4.0.0,>=3.9.0
Requires-Dist: aiosqlite<1.0.0,>=0.22.1
Requires-Dist: anthropic<1.0.0,>=0.96.0
Requires-Dist: anyio<5.0.0,>=3.0.0
Requires-Dist: bubus>=1.5.6
Requires-Dist: deepagents<1.0.0,>=0.4.10
Requires-Dist: jinja2>=3.1.0
Requires-Dist: jsonschema<5.0.0,>=4.0.0
Requires-Dist: langchain-community<1.0.0,>=0.3.0
Requires-Dist: langchain-core<2.0.0,>=1.2.18
Requires-Dist: langchain-experimental<1.0.0,>=0.0.50
Requires-Dist: langchain-mcp-adapters<1.0.0,>=0.2.0
Requires-Dist: langchain-openai<1.0.0,>=0.3.0
Requires-Dist: langchain-quickjs>=0.1.0
Requires-Dist: langchain<2.0.0,>=1.2.11
Requires-Dist: langgraph-checkpoint-postgres<4.0.0,>=3.1.0
Requires-Dist: langgraph-checkpoint-sqlite<4.0.0,>=3.0.0
Requires-Dist: langgraph-checkpoint<5.0.0,>=4.0.0
Requires-Dist: langgraph<2.0.0,>=1.1.1
Requires-Dist: openai<3.0.0,>=1.104.2
Requires-Dist: pathspec<2.0.0,>=0.12.0
Requires-Dist: pexpect<5.0.0,>=4.9.0
Requires-Dist: psycopg[binary,pool]<4.0.0,>=3.2.0
Requires-Dist: pydantic-settings<3.0.0,>=2.0.0
Requires-Dist: pydantic<3.0.0,>=2.0.0
Requires-Dist: python-dotenv<2.0.0,>=1.0.0
Requires-Dist: pyyaml<7.0.0,>=6.0.0
Requires-Dist: requests<3.0.0,>=2.32.3
Requires-Dist: soothe-sdk<1.0.0,>=0.5.25
Requires-Dist: sqlite-vec>=0.1.0
Provides-Extra: all
Requires-Dist: anthropic<1.0.0,>=0.96.0; extra == 'all'
Requires-Dist: arxiv>=2.1.0; extra == 'all'
Requires-Dist: browser-use<0.13.0,>=0.11.0; extra == 'all'
Requires-Dist: chardet<6; extra == 'all'
Requires-Dist: claude-agent-sdk<1.0.0,>=0.1.0; extra == 'all'
Requires-Dist: dashscope>=1.20.0; extra == 'all'
Requires-Dist: deepxiv-sdk>=0.2.5; extra == 'all'
Requires-Dist: docx2txt>=0.8.0; extra == 'all'
Requires-Dist: langchain-tavily>=0.2.17; extra == 'all'
Requires-Dist: langfuse<4.0.0,>=3.0.0; extra == 'all'
Requires-Dist: opencv-python>=4.8.0; extra == 'all'
Requires-Dist: openpyxl>=3.1.0; extra == 'all'
Requires-Dist: pandas>=2.0.0; extra == 'all'
Requires-Dist: pillow>=10.0.0; extra == 'all'
Requires-Dist: pydub>=0.25.0; extra == 'all'
Requires-Dist: pygithub>=2.0.0; extra == 'all'
Requires-Dist: pymupdf>=1.24.0; extra == 'all'
Requires-Dist: pypdf>=3.0.0; extra == 'all'
Requires-Dist: sentence-transformers>=2.2.0; extra == 'all'
Requires-Dist: tavily-python>=0.5.0; extra == 'all'
Requires-Dist: wizsearch<2.0.0,>=1.1.8; extra == 'all'
Requires-Dist: yt-dlp>=2023.0.0; extra == 'all'
Provides-Extra: browser-use
Requires-Dist: browser-use<0.13.0,>=0.11.0; extra == 'browser-use'
Provides-Extra: claude
Requires-Dist: anthropic<1.0.0,>=0.96.0; extra == 'claude'
Requires-Dist: claude-agent-sdk<1.0.0,>=0.1.0; extra == 'claude'
Provides-Extra: dashscope
Requires-Dist: dashscope>=1.20.0; extra == 'dashscope'
Provides-Extra: dev
Requires-Dist: langfuse<4.0.0,>=3.0.0; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.12.0; extra == 'dev'
Provides-Extra: document
Requires-Dist: docx2txt>=0.8.0; extra == 'document'
Requires-Dist: pymupdf>=1.24.0; extra == 'document'
Requires-Dist: pypdf>=3.0.0; extra == 'document'
Provides-Extra: github
Requires-Dist: pygithub>=2.0.0; extra == 'github'
Provides-Extra: langfuse
Requires-Dist: langfuse<4.0.0,>=3.0.0; extra == 'langfuse'
Provides-Extra: media
Requires-Dist: pillow>=10.0.0; extra == 'media'
Requires-Dist: pydub>=0.25.0; extra == 'media'
Requires-Dist: yt-dlp>=2023.0.0; extra == 'media'
Provides-Extra: research
Requires-Dist: arxiv>=2.1.0; extra == 'research'
Requires-Dist: chardet<6; extra == 'research'
Requires-Dist: deepxiv-sdk>=0.2.5; extra == 'research'
Requires-Dist: langchain-tavily>=0.2.17; extra == 'research'
Requires-Dist: tavily-python>=0.5.0; extra == 'research'
Requires-Dist: wizsearch<2.0.0,>=1.1.8; extra == 'research'
Provides-Extra: semantic
Requires-Dist: sentence-transformers>=2.2.0; extra == 'semantic'
Provides-Extra: tabular
Requires-Dist: openpyxl>=3.1.0; extra == 'tabular'
Requires-Dist: pandas>=2.0.0; extra == 'tabular'
Provides-Extra: video
Requires-Dist: opencv-python>=4.8.0; extra == 'video'
Requires-Dist: pillow>=10.0.0; extra == 'video'
Description-Content-Type: text/markdown

# Soothe

Goal-driven multi-agent orchestration framework (in-process agent core).

## Installation

For the full agent runtime with daemon server and CLI:

```bash
pip install soothe soothe-daemon soothe-cli
```

For library use only (no daemon/CLI):

```bash
pip install soothe
```

## Architecture

This package provides the **in-process agent core**:
- `SootheRunner` - Agent orchestration
- `SootheConfig` - Configuration
- Protocols, backends, tools, subagents

## Related Packages

| Package | Purpose |
|---------|---------|
| `soothe-daemon` | Long-running server with WebSocket/HTTP transports |
| `soothe-cli` | CLI client with TUI |
| `soothe-sdk` | Shared types and WebSocket client |

## Testing

```bash
uv run pytest tests/unit/ -v
```