TDS-Project2 / tools /add_dependencies.py
Navyssh's picture
Upload 22 files
29f4cdf verified
from typing import List
from langchain_core.tools import tool
import subprocess
@tool
def add_dependencies(dependencies: List[str]) -> str:
"""
Install the given Python packages into the environment.
Parameters:
dependencies (List[str]):
A list of Python package names to install. Each name must match the
corresponding package name on PyPI.
Returns:
str:
A message indicating success or failure.
"""
try:
subprocess.check_call(
["uv", "add"] + dependencies,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
)
return "Successfully installed dependencies: " + ", ".join(dependencies)
except subprocess.CalledProcessError as e:
return (
"Dependency installation failed.\n"
f"Exit code: {e.returncode}\n"
f"Error: {e.stderr or 'No error output.'}"
)
except Exception as e:
return f"Unexpected error while installing dependencies: {e}"