Skip to content

Add GPU sandbox provisioning, image builds, and computer actions - #147

Open
Dingway98 wants to merge 1 commit into
mainfrom
codex/gpu-sdk-parity
Open

Dingway98 wants to merge 1 commit into
mainfrom
codex/gpu-sdk-parity

Conversation

@Dingway98

@Dingway98 Dingway98 commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

GPU launches return provisioning with no runtime or token, and GPU image publication can finish after the ordinary build. This adds the current GPU API contract to both Python clients so callers can build a GPU image, request single/multi-GPU or on-demand capacity, wait for readiness, and use the sandbox runtime safely.

Changes

  • Add GPU launch fields, metadata/capabilities, nullable runtimes, and 12–512 GiB GPU disk validation across TypedDict and legacy Pydantic requests.
  • Add wait_until_ready() with read retries, bounded polling, cancellation, terminal close reasons, and no automatic stop/recreate. Keep provisioning separate from the list API's supported status filters.
  • Add remote Dockerfile GPU publication, GPU-aware waits/cache identities/conflict joining, and readiness-verified image reuse. Reject unsupported prebuilt GPU imports.
  • Add sandbox.computer_action() through runtime authentication and token refresh; cover existing GPU network updates and authenticated ports.
  • Add shared Node/Python wire fixtures, type fixtures, end-to-end usage examples, and opt-in live GPU smoke tests.

Validation

  • ruff check . — passed.
  • pytest tests --ignore=tests/sandbox/e2e --ignore=tests/test_typing_contract.py -q — 1,056 passed.
  • pytest tests/test_typing_contract.py -q — 4 passed (mypy and Pyright).
  • Final focused GPU/image-resolution/typing run — 124 passed.
  • uv build — source distribution and wheel built.
  • Live GPU smoke tests were collected and skipped: no API key or GPU image is configured locally.

GPU cache lookup verifies the latest 100 completed builds exposed by the API; older images safely rebuild when readiness cannot be verified. No package release is included.

Companion PR: Node SDK #135.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants