Community plugins for Soothe agent orchestration framework
Project description
Soothe Community Plugins
Standalone community plugins package for the Soothe agent orchestration framework.
Installation
pip install soothe-community
Available Plugins
PaperScout
ArXiv paper recommendation agent that delivers personalized daily paper recommendations.
Features:
- Fetches papers from ArXiv based on configurable categories
- Analyzes your Zotero library to understand research interests
- Ranks papers by relevance using sentence embeddings
- Sends daily email digests with TLDR summaries
Configuration (add to your Soothe config.yml):
subagents:
paperscout:
enabled: true
model: "openai:gpt-4o-mini"
config:
arxiv_categories:
- cs.AI
- cs.CV
- cs.LG
max_papers: 25
smtp:
host: "${SMTP_HOST}"
port: 587
user: "${SMTP_USER}"
password: "${SMTP_PASSWORD}"
zotero:
api_key: "${ZOTERO_API_KEY}"
library_id: "${ZOTERO_LIBRARY_ID}"
Usage:
# Use the subagent via TUI (default)
soothe "Find recent papers on transformers" --subagent paperscout
# Or use in headless mode
soothe "Find recent papers on transformers" --subagent paperscout --no-tui
Extensibility
This package is designed for extensibility. You can easily add new community plugins:
Available Plugin Types
- Subagent Plugins: Complex multi-step agents using langgraph
- Tool Plugins: Simple functions exposed as tools
- Hybrid Plugins: Both subagents and tools
Future Plugins
The package structure supports adding new plugins:
src/soothe_community/
├── paperscout/ # ArXiv paper recommendations
├── [your_plugin]/ # Your future plugin
└── [another_plugin]/ # Another future plugin
See CONTRIBUTING.md for detailed guidelines on adding new plugins.
Plugin Template
Use the provided template to create new plugins:
cp -r src/soothe_community/.plugin_template src/soothe_community/your_plugin
Development
Setup
# Clone the repository
git clone <soothe-community-repo>
cd soothe-community
# Install in development mode
pip install -e ".[dev]"
Testing
# Run all tests
pytest tests/
# Run specific plugin tests
pytest tests/test_paperscout/
# With coverage
pytest tests/ --cov=src/soothe_community
Code Quality
# Format code
ruff format src/ tests/
# Lint code
ruff check --fix src/ tests/
Documentation
- README.md: This file - overview and quick start
- CONTRIBUTING.md: How to add new plugins
- MIGRATION.md: Guide for migrating to standalone repository
- src/soothe_community/.plugin_template/: Template for new plugins
Architecture
Each plugin follows the RFC-0018 plugin system:
Plugin Package
├── __init__.py # @plugin, @subagent, @tool decorators
├── events.py # Custom events (optional)
├── models.py # Data models
├── state.py # Agent state (if subagent)
├── implementation.py # Core logic
└── README.md # Plugin documentation
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file soothe_community-0.1.0.tar.gz.
File metadata
- Download URL: soothe_community-0.1.0.tar.gz
- Upload date:
- Size: 54.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99df1282f9eeb41207d6d61391cd6abf13cf20c32becb1485015b9858121988e
|
|
| MD5 |
4ceb2a01a63abf20639f1ecaee7e6779
|
|
| BLAKE2b-256 |
5ed390a24464d915911259bc636eb80730784394f85a3a7645bb6b1afa21beb4
|
File details
Details for the file soothe_community-0.1.0-py3-none-any.whl.
File metadata
- Download URL: soothe_community-0.1.0-py3-none-any.whl
- Upload date:
- Size: 59.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5151e8bf810387d6c91ed20ef36d9e5dcfce72ef4a9ab9668b9c47894e2e051
|
|
| MD5 |
71bb32e008e7b04687a27e97138b8155
|
|
| BLAKE2b-256 |
41fc5200e867a90bb2b00561db20ada9a325a805b0574a0dff059b3044439913
|