31 lines
838 B
Python
31 lines
838 B
Python
import os
|
|
|
|
from langchain_runloop import RunloopSandbox
|
|
from runloop_api_client import Client
|
|
|
|
|
|
def create_runloop_sandbox(sandbox_id: str | None = None):
|
|
"""Create or reconnect to a Runloop devbox sandbox.
|
|
|
|
Requires the RUNLOOP_API_KEY environment variable to be set.
|
|
|
|
Args:
|
|
sandbox_id: Optional existing devbox ID to reconnect to.
|
|
If None, creates a new devbox.
|
|
|
|
Returns:
|
|
RunloopSandbox instance implementing SandboxBackendProtocol.
|
|
"""
|
|
api_key = os.getenv("RUNLOOP_API_KEY")
|
|
if not api_key:
|
|
raise ValueError("RUNLOOP_API_KEY environment variable is required")
|
|
|
|
client = Client(bearer_token=api_key)
|
|
|
|
if sandbox_id:
|
|
devbox = client.devboxes.retrieve(sandbox_id)
|
|
else:
|
|
devbox = client.devboxes.create()
|
|
|
|
return RunloopSandbox(devbox=devbox)
|