python/sandbox/v0.1.13

opensandbox-group/OpenSandboxpython/sandbox/v0.1.13Jun 25, 2026by ninan-nn

AI Summary

Python Sandbox SDK adds custom sandbox creation for pools and exposes isolated execution session APIs.

Key Highlights

  • Custom sandbox creation for client-side pools via `SandboxPool` creator
  • Isolated execution session APIs for the new execd isolation runtime
  • Preserves server error details in exception strings for better debugging
  • Corrected PVC cleanup semantics in SDK models and documentation

New Features

  • Custom sandbox creation for client-side pools
  • Isolated execution session APIs

Full Release Notes

## What's New

### ✨ Features

- **Custom sandbox creation for client-side pools** — `SandboxPool` can now use a custom sandbox creator when the default image/template based creation path is not enough. The default pool creation flow remains unchanged when no creator is configured, while custom-created sandboxes are still handed back to the pool for health checking, renewal, idle storage, and cleanup. This enables advanced SDK integrations without reimplementing pool coordination in user code. (https://github.com/opensandbox-group/OpenSandbox/pull/1125)

- **Isolated execution session APIs** — The Python SDK now exposes generated isolated-session and isolated-filesystem clients backed by the new execd isolation runtime. This adds client access to create/delete isolated sessions and perform scoped filesystem operations in the isolated execution path. The server-side diff/commit path is still deferred, so callers should treat commit support as not yet available. (https://github.com/opensandbox-group/OpenSandbox/pull/1008)

### 🐛 Bug Fixes

- **Preserve server error details in exception strings** — `SandboxException.__str__()` now includes parsed `SandboxError` code/message and `request_id` when present, instead of collapsing failures to generic messages like `API error: HTTP 500`. This makes Python client logs and surfaced exceptions actionable without requiring callers to inspect the raw error object separately. (https://github.com/opensandbox-group/OpenSandbox/pull/1122)

- **Correct PVC cleanup semantics in SDK models and docs** — The Python SDK model documentation for `deleteOnSandboxTermination` now matches Kubernetes behavior: opted-in auto-created PVCs can be cleaned up when the sandbox is deleted, while the default remains `false` and pre-existing or opt-out PVCs are left untouched. This is a documentation/model clarification for client users; existing sandboxes keep the old behavior unless they explicitly opt in. (https://github.com/opensandbox-group/OpenSandbox/pull/880)

### 📦 Misc

- Bumped the Python sandbox SDK fallback/version metadata to `0.1.13`. (https://github.com/opensandbox-group/OpenSandbox/pull/1125)

### 👥 Contributors

- @Pangjiping
- @ninan-nn
- @xfgong