d86368a11e
Reconciles divergences found while auditing the sync and async Python SDK trees, keeping behavior equivalent across both. - **Parameter ordering:** aligned `_create` and `Commands._start` signatures to the public API and to each other, and reordered the `Commands.connect` rpc args (`headers` before `timeout`) to match the `_start` convention. - **`pause` return:** the public `pause()` / `beta_pause()` are now annotated `-> str` and actually return the sandbox ID (matching `_cls_pause` and the class-method form, which already returned it) instead of `-> None`; the `:return:` docstrings are restored. - **Exceptions:** the internal "Body of the request is None" guard in `sandbox_api` now consistently raises a bare `Exception` (matching the volume client) instead of mixing `Exception`/`SandboxException` between sync and async. - **Misc:** async `Filesystem.write` now passes keyword args; the async constructor reuses the cached `envd_api_url` property instead of recomputing the sandbox URL; async pty `resize` gains a `-> None` annotation. - **Docstrings:** aligned the deprecation marker and `get_metrics`/`write_files`/`kill` wording across sync/async, and fixed a `**seconds**s` typo. These are alignment/consistency fixes only; the deeper architectural async-vs-sync splits (streaming-vs-polling `watch_dir`, pty `on_data`, command output callbacks) are intentional and left untouched. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
605 B
605 B
@e2b/python-sdk
| @e2b/python-sdk |
|---|
| minor |
Align the sync and async Python SDK implementations: consistent parameter ordering (_create, Commands._start), matching docstrings, keyword arguments in Filesystem.write, and a consistent bare Exception for the internal "Body of the request is None" guard (matching the volume client).
Sandbox.pause() / AsyncSandbox.pause() (and beta_pause) now return a bool — True if the sandbox got paused, False if it was already paused — matching the JS SDK. Previously the instance method returned None and the class-method form returned the sandbox ID.