Spaces:
Sleeping
Sleeping
| from smolagents import Tool | |
| import subprocess | |
| class PythonRunnerTool(Tool): | |
| name = "python_runner" | |
| description = "Runs Python code from a file and returns the output." | |
| inputs = { | |
| "file_path": {"type": "string", "description": "Path to the Python file to run."} | |
| } | |
| output_type = "string" | |
| def forward(self, file_path: str) -> str: | |
| try: | |
| result = subprocess.run(["python3", file_path], | |
| capture_output=True, | |
| text = True, | |
| timeout=10 | |
| ) | |
| if result.stderr: | |
| return f"Error: {result.stderr}" | |
| return result.stdout | |
| except Exception as e: | |
| return f"Execution failed: {e}" | |