mirror of
https://github.com/mims-harvard/ToolUniverse.git
synced 2026-09-19 07:31:47 +08:00
5de8f4b198
- 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
52 lines
1.5 KiB
Python
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())
|