Python 88.3%
TypeScript 7.6%
Shell 4.1%
1#!/usr/bin/env python32"""Code interpreter with an auto container, then inspect and delete the container through /v1/containers.3STATUS: LIVE_VERIFIED 2026-09-18 (gpt-5.4-nano; code 'print(2+2)', outputs [{type:logs,logs:'4\\n'}]; GET/DELETE container 200).4Cost: $0.03 per container session (1g) + tokens. Run: .venv/bin/python examples/openai/tools/code-interpreter/code_interpreter.py5"""6import sys7from pathlib import Path8ROOT = Path(__file__).resolve().parents[4]; sys.path.insert(0, str(ROOT))9from scripts.live import load_env, log_request; load_env()10from openai import OpenAI11client = OpenAI(); MODEL = "gpt-5.4-nano"1213r = client.responses.create(model=MODEL, input="Run print(2+2) in python and reply with just the number.",14 tools=[{"type": "code_interpreter", "container": {"type": "auto"}}],15 tool_choice={"type": "code_interpreter"}, # otherwise the model may answer "4" without running code16 include=["code_interpreter_call.outputs"], max_output_tokens=400, reasoning={"effort": "low"})17log_request("openai", "POST", "/v1/responses", 200, 0.03, "code_interpreter.py auto container")18ci = next(i for i in r.output if i.type == "code_interpreter_call")19print("code:", ci.code); print("outputs:", [o.model_dump() for o in (ci.outputs or [])]); print("answer:", r.output_text)20c = client.containers.retrieve(ci.container_id); log_request("openai", "GET", "/v1/containers/{id}", 200, 0, "code_interpreter.py retrieve")21print("container:", c.id, c.status, c.memory_limit, c.expires_after)22files = client.containers.files.list(ci.container_id); log_request("openai", "GET", "/v1/containers/{id}/files", 200, 0, "code_interpreter.py files")23print("files:", [x.path for x in files.data])24client.containers.delete(ci.container_id); log_request("openai", "DELETE", "/v1/containers/{id}", 200, 0, "code_interpreter.py delete")25print("deleted")26