LangGraph_GAIA / tools /python_executor.py
BiGuan's picture
Update tools/python_executor.py
951046b verified
Raw
History Blame Contribute Delete
601 Bytes
import os
import requests
import sys
import io
import contextlib
def python_executor(file_url: str) -> str:
try:
headers = {"Authorization": f"Bearer {os.getenv('HF_TOKEN')}"}
response = requests.get(file_url, headers=headers, timeout=10)
response.raise_for_status()
code = response.text
f = io.StringIO()
with contextlib.redirect_stdout(f):
exec(code, {"__builtins__": __builtins__}, {})
output = f.getvalue()
return output.strip() if output else "No output"
except Exception as e:
return f"Error: {str(e)}"