python/sandbox/v0.1.8
opensandbox-group/OpenSandboxpython/sandbox/v0.1.8May 8, 2026by ninan-nn
AI Summary
Expanded the Python SDK with first-class pool support (including Redis), snapshot APIs, secure endpoint access, and Windows platform support.
Key Highlights
- First-class Python sandbox pool support for async and sync clients, including Redis-backed distributed pools.
- Added snapshot APIs to create, get, list, and delete snapshots.
- Added secure endpoint access surfaces for Kubernetes gateway deployments.
- Extended support for Windows platform and PVC auto-provisioning fields.
New Features
- Pool support (in-memory and Redis-backed)
- Snapshot APIs
- Secure endpoint access
- Windows platform and PVC auto-provisioning support
Full Release Notes
## What's New ### ✨ Features * Add first-class Python sandbox pool support for both async and sync clients. This release includes single-node in-memory pools, optional Redis-backed distributed pool stores via `opensandbox[pool-redis]`, lifecycle snapshots, resize/reconcile behavior, stale-idle cleanup, and documentation for operating distributed pools. Redis support is exposed from `opensandbox.pool_redis` so the base SDK import path does not require Redis dependencies. by @ninan-nn in https://github.com/alibaba/OpenSandbox/pull/823 * Add snapshot APIs to the Python SDK. Consumers can create, get, list, and delete snapshots, and can create new sandboxes from a `snapshotId`; snapshot creation remains asynchronous, so callers should poll until the snapshot reaches `Ready` or `Failed`. Docker-backed servers support the full flow in this release, while unsupported runtimes may return not implemented. by @ninan-nn in https://github.com/alibaba/OpenSandbox/pull/764 * Add secure endpoint access surfaces. Python async and sync SDKs now support `secureAccess` on sandbox creation for Kubernetes gateway deployments, and expose signed endpoint retrieval for short-lived sandbox route access without sharing static tokens. Default endpoint behavior is unchanged unless secure access is explicitly requested. by @ninan-nn in https://github.com/alibaba/OpenSandbox/pull/745 and by @Pangjiping in https://github.com/alibaba/OpenSandbox/pull/787 * Extend Python sandbox model support for new platform and storage options. The SDK now recognizes Windows platform OS values and syncs PVC auto-provisioning fields across the Python models and converters, keeping request payloads aligned with the updated lifecycle contract. by @Pangjiping in https://github.com/alibaba/OpenSandbox/pull/785 and https://github.com/alibaba/OpenSandbox/pull/749 ### 🐛 Bug Fixes * Preserve API error detail from sandbox creation failures. FastAPI-style wrapped error responses are now parsed by the Python exception conversion path so callers keep the original server context instead of receiving a flattened fallback error. by @Gujiassh in https://github.com/alibaba/OpenSandbox/pull/824 * Preserve `timeout=None` for manual-cleanup sandbox creation. The Python SDK now serializes an explicit `None` timeout as JSON `null` instead of omitting the field, so manual cleanup intent is retained while keeping the existing public `timeout: timedelta | None` API. by @Gujiassh in https://github.com/alibaba/OpenSandbox/pull/760 * Harden command streaming error parsing for mixed deployments. The Python SDK now tolerates `traceback: null` in SSE command-start failures while execd normalizes foreground command error payloads to match the API contract. by @Aboysky in https://github.com/alibaba/OpenSandbox/pull/701 ### 📦 Misc * Regenerate Python lifecycle client code for updated snapshot routes, including snapshot creation and deletion endpoint changes. by @ninan-nn in https://github.com/alibaba/OpenSandbox/pull/840 * Refresh Python sandbox SDK development dependencies: `pygments` 2.20.0 and `pytest` 9.0.3. by @dependabot in https://github.com/alibaba/OpenSandbox/pull/671 and https://github.com/alibaba/OpenSandbox/pull/720 ## 👥 Contributors Thanks to these contributors ❤️ @ninan-nn @Pangjiping @Gujiassh @Aboysky