Files
mims-harvard__tooluniverse/scripts/build_tools.py
Shanghua 5de8f4b198 add new database tools and improve tool loading validation
- Add support for new database tools: GBIF, OBIS, WikiPathways, RNAcentral, ENCODE, GTEx, MGnify, GDC
- Add optimizer tools and smolagents tool wrapper configs
- Improve tool loading validation to filter out schema files and ensure tool names are strings
- Update tool count from 713 to 734 tools
- Fix tool validation to safely check supports_caching method using getattr
- Add save_dir parameter to ToolDiscover tool
- Update PyPIPackageInspector to inherit from BaseTool
- Add smolagents as optional dependency in pyproject.toml
- Simplify UniProt_search documentation
- Minor log message improvements in smcp_server
2025-10-31 22:56:11 -04:00

52 lines
1.5 KiB
Python

#!/usr/bin/env python3
"""Build ToolUniverse tools."""
import sys
import argparse
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
def main():
from tooluniverse.generate_tools import main as generate
parser = argparse.ArgumentParser(
description="Build ToolUniverse tools",
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog="""
Examples:
python scripts/build_tools.py # Normal build (only changed tools)
python scripts/build_tools.py --force # Force regenerate all tools
python scripts/build_tools.py --verbose # Show detailed change information
python scripts/build_tools.py --force -v # Force rebuild with verbose output
"""
)
parser.add_argument(
"--force",
action="store_true",
help="Force regeneration of all tools regardless of changes detected",
)
parser.add_argument(
"--verbose", "-v",
action="store_true",
help="Print detailed change information for each tool",
)
parser.add_argument(
"--no-format",
action="store_true",
help="Skip formatting generated files",
)
args = parser.parse_args()
print("🔧 Building ToolUniverse tools...")
generate(
format_enabled=not args.no_format,
force_regenerate=args.force,
verbose=args.verbose
)
print("✅ Build complete!")
return 0
if __name__ == "__main__":
sys.exit(main())