from hopx_ai import Sandbox
import os
import time
from typing import Dict, Any
class InterviewPlatform:
def __init__(self, api_key: str):
self.api_key = api_key
def execute_with_time_limit(self, code: str, time_limit: int, language: str = "python") -> Dict[str, Any]:
"""Execute code with strict time limit"""
sandbox = None
start_time = time.time()
try:
sandbox = Sandbox.create(
template="code-interpreter",
api_key=self.api_key,
timeout_seconds=time_limit + 5
)
# Execute with timeout
result = sandbox.run_code(code, language=language, timeout=time_limit)
elapsed = time.time() - start_time
# Check if timeout was exceeded
if elapsed >= time_limit:
return {
"success": False,
"timeout": True,
"elapsed_time": elapsed,
"time_limit": time_limit,
"error": "Time limit exceeded"
}
return {
"success": result.success,
"stdout": result.stdout,
"stderr": result.stderr,
"elapsed_time": elapsed,
"time_limit": time_limit,
"within_limit": elapsed < time_limit
}
except Exception as e:
return {
"success": False,
"error": str(e),
"elapsed_time": time.time() - start_time
}
finally:
if sandbox:
sandbox.kill()
# Usage
platform = InterviewPlatform(api_key=os.getenv("HOPX_API_KEY"))
result = platform.execute_with_time_limit(
code="print('Hello')",
time_limit=5 # 5 second limit
)
print(result)