Skip to content

v0.3.1 - Multi-Framework Decorator Support

Choose a tag to compare

@jwesleye jwesleye released this 15 Oct 15:46
· 53 commits to main since this release

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_tool decorator imports
  • Add conditional @strands_tool decorator 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 dependencies
  • mypy config: 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 ready

With 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

🙏 Credits

Built with Claude Code


Full Changelog: v0.3.0...v0.3.1