ReleaseCoreWeaveCoreWeavepublished Apr 7, 2026seen Jun 26

coreweave/cwsandbox-client v0.16.0

coreweave/cwsandbox-client

Open original ↗

Captured source

source ↗
published Apr 7, 2026seen Jun 26captured 11hhttp 200method plain

v0.16.0

Repository: coreweave/cwsandbox-client

Tag: v0.16.0

Published: 2026-04-07T20:03:38Z

Prerelease: no

Release notes:

v0.16.0 (2026-04-07)

_This release is published under the Apache-2.0 License._

Chores

  • Add .worktreeinclude for Claude Code worktrees (`a9c6a2d`)

Ensures .env is automatically copied into new worktrees created by Claude Code, so auth credentials are available without manual setup.

Continuous Integration

  • Add commitlint workflow to validate PR commits (`a2fdcfa`)

The pre-commit hook enforces conventional commit messages locally, but CI only checked the PR title (via action-semantic-pull-request in lint-pr.yaml). This left a gap where non-conforming commit messages could land in main through squash-less merges.

Add a commitlint workflow that validates every commit in a PR against the same conventional commit types configured in .pre-commit-config.yaml. The workflow and config follow the established pattern used across other organization repositories.

Features

  • Add ResourceOptions type and K8s quantity parser (`a635a04`)

Support separate resource requests and limits for Burstable QoS pods, which is needed for the overcommit feature. GPU remains a top-level field since GPU overcommit is not supported by the backend.

New modules:

  • _quantity.py: Kubernetes quantity parser using stdlib Decimal,

handles SI and binary suffixes with validation

  • _resources.py: Centralized normalization handling ResourceOptions,

nested dicts, and flat dict backward compatibility

ResourceOptions is a frozen dataclass with requests, limits, and gpu fields, following the same immutable pattern as NetworkOptions and Secret.

Includes unit tests covering quantity parsing, validation, and resource normalization logic.

  • Wire ResourceOptions through SDK entry points and gRPC (`4f15e10`)

Accept ResourceOptions alongside plain dicts for the resources parameter across all public entry points (Sandbox.__init__, Sandbox.run, Session.sandbox, Session.function, RemoteFunction, SandboxDefaults).

Flat resource dicts are normalized to Guaranteed QoS ResourceOptions via normalize_resources() in Sandbox.__init__. ResourceOptions instances map to the new resource_limits/resource_requests proto fields (31/32) while legacy dicts pass through to the old resources field for backward compat.

GPU configuration is mapped identically into both proto fields. Response properties (resource_limits, resource_requests) are extracted from StartSandboxResponse when the backend echoes them back.

SandboxDefaults.from_dict() preserves ResourceOptions instances rather than flattening them to plain dicts.

---

Detailed Changes: v0.15.0...v0.16.0