Repository navigation
fix(code-interpreter-python): release e2b get_sandbox_url port and require e2b>=2.55.1 - #1967
Conversation
…quire e2b>=2.55.1 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: e8503e2 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 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: complies — no violations. The PR only adds two changesets and raises the e2b floor in packages/code-interpreter-python/pyproject.toml; it changes no public SDK API surface, so the API-shape, parity, error, timeout, config, and docstring rules (T-1–T-74) have nothing to apply to.
Package ArtifactsBuilt from 7ba4c3d. Download artifacts from this workflow run. JS SDK ( npm install ./e2b-dockerfile-utils-0.1.1-devin-1791555262-hotfix-ci-e2b-floor.0.tgz ./e2b-2.55.1-devin-1791555262-hotfix-ci-e2b-floor.0.tgzCLI ( npm install ./e2b-cli-2.21.3-devin-1791555262-hotfix-ci-e2b-floor.0.tgzCode Interpreter JS SDK ( npm install ./e2b-code-interpreter-2.8.4-devin-1791555262-hotfix-ci-e2b-floor.0.tgzDesktop JS SDK ( npm install ./e2b-desktop-2.4.1-devin-1791555262-hotfix-ci-e2b-floor.0.tgzPython SDK ( pip install ./e2b_dockerfile_utils-0.1.0+devin.1791555262.hotfix.ci.e2b.floor-py3-none-any.whl ./e2b-2.55.0+devin.1791555262.hotfix.ci.e2b.floor-py3-none-any.whlCode Interpreter Python SDK ( pip install ./e2b_code_interpreter-2.10.4+devin.1791555262.hotfix.ci.e2b.floor-py3-none-any.whlDesktop Python SDK ( pip install ./e2b_desktop-2.6.1+devin.1791555262.hotfix.ci.e2b.floor-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. |
| "httpx>=0.20.0,<1.0.0", | ||
| "attrs>=21.3.0", | ||
| "e2b>=2.55.0,<3.0.0", | ||
| "e2b>=2.55.1,<3.0.0", |
There was a problem hiding this comment.
🟡 (optional) PyPI users can get an e2b-code-interpreter 2.10.5 that cannot be installed if the e2b 2.55.1 upload in the same release fails or lands later. The release runs pnpm run -r postPublish, and code-interpreter-python's package.json declares no dependency on @ e2b/python-sdk. pnpm therefore does not make it wait for the e2b upload. Fix: make sure e2b 2.55.1 is on PyPI before 2.10.5 is uploaded. One way is adding "@ e2b/python-sdk": "workspace:*" to packages/code-interpreter-python/package.json dependencies, as python-sdk already does for dockerfile-utils-python.
Why this was flagged
The trigger is the Release run this PR asks for. The publish script in root package.json is pnpm run -r postPublish, and each Python package's postPublish runs uv build && uv publish. pnpm -r orders packages only by package.json dependencies. packages/code-interpreter-python/package.json has no dependencies, so its upload runs in the first concurrent batch, before python-sdk's. Line 12 now requires e2b>=2.55.1, a version only this same run creates. On base, the floor >=2.55.0 was already on PyPI, so upload order did not matter. If the e2b upload fails or is delayed, 2.10.5 stays on PyPI requiring a missing e2b, and the version cannot be re-uploaded. Then pip install e2b-code-interpreter==2.10.5 fails to resolve, and unpinned installs fall back to the broken 2.10.4. uv publish --check-url only skips identical files and does not order uploads.
Verification: nit. pyproject.toml line 12 now requires e2b>=2.55.1,<3.0.0, and that version only exists once this same run uploads it. packages/code-interpreter-python/package.json declares no dependencies, so its uv build && uv publish ... runs in the first batch, before or alongside python-sdk's upload. So 2.10.5 can land on PyPI before e2b 2.55.1 exists.
Summary
Hotfix:
e2b-code-interpreter2.10.4 on PyPI is broken. It requirese2b>=2.55.0and callsconnection_config.get_sandbox_url(..., port=JUPYTER_PORT), but theportargument from #1963 isn't in the published e2b 2.55.0. e2b 2.55.0 shipped at 09:34, and #1963 merged after that without a python-sdk changeset. Reproduced on a clean install against prod:The release then failed while trying to republish e2b 2.55.0 from the changed source: PyPI rejected it because
Local file and index file do not match(run).This PR:
@e2b/python-sdkpatch changeset, soget_sandbox_url(..., port=)ships as e2b 2.55.1@e2b/code-interpreter-pythonpatch changeset and raises its floor toe2b>=2.55.1, sopip install -U e2b-code-interpretercan't keep e2b 2.55.0 (2.10.5)uv lockinpackages/code-interpreter-pythonproduces no diff because uv ignores the specifier on workspace sources.After merging, run Release. Consider yanking
e2b-code-interpreter2.10.4 on PyPI.Link to Devin session: https://app.devin.ai/sessions/936595cc854a4ee092ec502d52ec48ab
Open in Devin Desktop: https://app.devin.ai/desktop/session/936595cc854a4ee092ec502d52ec48ab?variant=devin
Requested by: @mishushakov