v0.3.1 - Multi-Framework Decorator Support
v0.3.1 - Multi-Framework Decorator Support
🎯 Overview
This release adds universal agent framework compatibility through a dual decorator pattern. All 84 agent tools now work seamlessly with Google ADK, Strands, and LangGraph while maintaining zero required dependencies.
✨ Key Features
Dual Decorator Pattern
- @adk_tool - Google ADK integration (conditional import)
- @strands_tool - Strands framework integration (conditional import)
- LangGraph - Works automatically with standard callables
- Zero Lock-in - No frameworks required, all optional
Framework Compatibility Matrix
| Framework | Decorator Required | Status |
|---|---|---|
| Google ADK | @adk_tool |
✅ Supported |
| Strands | @strands_tool |
✅ Supported |
| LangGraph | None | ✅ Supported |
| Standalone | None | ✅ Supported |
📦 What's Included
All 84 agent tools across 7 modules now support multi-framework usage:
- Analysis Module (14 functions) - AST, complexity, imports, secrets
- Database Module (16 functions) - SQLite operations, query building
- Git Module (9 functions) - Repository operations
- Profiling Module (8 functions) - Performance & memory
- Python Module (15 functions) - Validation, formatting, analysis
- Quality Module (7 functions) - Static analysis parsers
- Shell Module (15 functions) - Validation, security, formatting
🔧 Installation
# Standalone (no frameworks)
pip install coding-open-agent-tools==0.3.1
# With Strands support
pip install coding-open-agent-tools[strands]==0.3.1
# With Google ADK (separate package)
pip install coding-open-agent-tools==0.3.1 google-adk📝 Changes
Implementation (26 files modified)
- Add conditional
@adk_tooldecorator imports - Add conditional
@strands_tooldecorator imports - Graceful fallback to no-op when frameworks not installed
- All 84 functions now have both decorators
Configuration
pyproject.toml: Made strands and google-adk optional dependenciesmypyconfig: Added detect-secrets and mcp to ignored modules- Documentation: Comprehensive decorator pattern guide in
.claude/CLAUDE.md
Code Quality
- ✅ All 532 tests pass
- ✅ 86% code coverage maintained
- ✅ 100% ruff compliance
- ✅ 100% mypy compliance
💡 Usage Examples
Standalone Usage (No Frameworks)
from coding_open_agent_tools.database import create_sqlite_database
# Works without any frameworks installed
result = create_sqlite_database(db_path="/path/to/db.sqlite")With Strands Framework
# pip install coding-open-agent-tools[strands]
from coding_open_agent_tools import load_all_tools
# Tools automatically registered with Strands
tools = load_all_tools() # 84 tools readyWith Google ADK
from google.adk.agents import Agent
from coding_open_agent_tools import load_all_tools
agent = Agent(
tools=load_all_tools(),
name="CodeAnalyzer"
)With LangGraph
from langgraph.prebuilt import ToolNode
from coding_open_agent_tools.python import validate_python_syntax
# Works directly - no decorator needed
tools = [validate_python_syntax]
tool_node = ToolNode(tools)🔗 Links
- Repository: https://github.com/Open-Agent-Tools/coding-open-agent-tools
- Documentation: .claude/CLAUDE.md
- Previous Release: v0.3.0
🙏 Credits
Built with Claude Code
Full Changelog: v0.3.0...v0.3.1