Repository navigation
chore(python-sdk): drop Python 3.10 compatibility shims - #2004
Conversation
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
🦋 Changeset detectedLatest commit: 2fb3e8e The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
TASTE.md review: compliant. 0 violations. This PR only changes imports (typing_extensions to typing), the asyncio.TimeoutError to TimeoutError alias, and the internal first_event cancellation check. It leaves the public SDK surface alone and keeps parity across sync, async and JS (T-1, T-2). Timeout and error behavior (T-45, T-48, T-64) is unchanged.
Package ArtifactsBuilt from 2c719ad. Download artifacts from this workflow run. JS SDK ( npm install ./e2b-dockerfile-utils-0.1.2-devin-1792508774-py311-cleanup.0.tgz ./e2b-2.57.1-devin-1792508774-py311-cleanup.0.tgzCLI ( npm install ./e2b-cli-2.22.3-devin-1792508774-py311-cleanup.0.tgzCode Interpreter JS SDK ( npm install ./e2b-code-interpreter-2.9.1-devin-1792508774-py311-cleanup.0.tgzDesktop JS SDK ( npm install ./e2b-desktop-2.5.1-devin-1792508774-py311-cleanup.0.tgzPython SDK ( pip install ./e2b_dockerfile_utils-0.1.1+devin.1792508774.py311.cleanup-py3-none-any.whl ./e2b-2.57.0+devin.1792508774.py311.cleanup-py3-none-any.whlCode Interpreter Python SDK ( pip install ./e2b_code_interpreter-2.11.1+devin.1792508774.py311.cleanup-py3-none-any.whlDesktop Python SDK ( pip install ./e2b_desktop-2.7.0+devin.1792508774.py311.cleanup-py3-none-any.whl |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
…ntry value Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Summary
Follow-up cleanup for SDK-288. The
requires-python >=3.11bump already shipped in #1974; this PR removes the workarounds it made unnecessary and fixes one edge case.first_event(e2b/envd/client_async): removed thegetattr(task, "cancelling", None)fallback. It also now reads the task's cancellation count beforewait_forand compares against that entry value instead of0:ConnectError(CANCELED)instead of the request timeout when the caller's task already had a cancel pending that it had swallowed. The new regression testtest_timeout_with_preexisting_pending_cancellationfails with the old== 0check.asyncio.TimeoutError→ built-inTimeoutError(the same class since 3.11) infirst_event,AsyncVolumeand both filesystem watchers.typing_extensionsnow come fromtyping(Self,Unpack,NotRequired,Literal,TypedDict) in python-sdk, code-interpreter-python and desktop-python.Kept on purpose: the generated
e2b/sandbox/mcp.pystill importsTypedDictfromtyping_extensionsbecause it usesclosed=True(PEP 728, which stdlibtypingdoesn't support before 3.15). So thetyping-extensionsdependency stays, and the lockfiles are unchanged.Link to Devin session: https://app.devin.ai/sessions/b2a09b10bdc54fe1b59931165138c6b8
Open in Devin Desktop: https://app.devin.ai/desktop/session/b2a09b10bdc54fe1b59931165138c6b8?variant=devin
Requested by: @mishushakov