Spaces:
Runtime error
Runtime error
from __future__ import annotations | |
__all__ = ["add_two_numbers", "execute_python"] | |
def add_two_numbers(a: int, b: int) -> int: # noqa: D401 | |
"""Add two numbers together. | |
Args: | |
a (int): First number to add. | |
b (int): Second number to add. | |
Returns: | |
int: The sum of the two numbers. | |
""" | |
return a + b | |
def execute_python(code: str) -> str: | |
"""Execute Python code in a sandbox with a broader set of built-ins. | |
The code is executed with restricted but useful built-ins and can import a | |
small whitelist of standard library modules. Results should be stored in a | |
variable named ``result`` or printed. The value of ``result`` is returned if | |
present; otherwise any standard output captured during execution is | |
returned. | |
""" | |
import sys | |
from io import StringIO | |
allowed_modules = {"math", "random", "statistics"} | |
def _safe_import(name: str, globals=None, locals=None, fromlist=(), level=0): | |
if name in allowed_modules: | |
return __import__(name, globals, locals, fromlist, level) | |
raise ImportError(f"Import of '{name}' is not allowed") | |
allowed_builtins = { | |
"abs": abs, | |
"min": min, | |
"max": max, | |
"sum": sum, | |
"len": len, | |
"range": range, | |
"sorted": sorted, | |
"enumerate": enumerate, | |
"map": map, | |
"filter": filter, | |
"list": list, | |
"dict": dict, | |
"set": set, | |
"tuple": tuple, | |
"float": float, | |
"int": int, | |
"str": str, | |
"bool": bool, | |
"print": print, | |
"__import__": _safe_import, | |
} | |
safe_globals: dict[str, object] = {"__builtins__": allowed_builtins} | |
safe_locals: dict[str, object] = {} | |
stdout = StringIO() | |
original_stdout = sys.stdout | |
try: | |
sys.stdout = stdout | |
exec(code, safe_globals, safe_locals) | |
finally: | |
sys.stdout = original_stdout | |
if "result" in safe_locals: | |
return str(safe_locals["result"]) | |
return stdout.getvalue().strip() | |