Skip to content

fix(code-interpreter-python): release e2b get_sandbox_url port and require e2b>=2.55.1 - #1967

Merged
mishushakov merged 1 commit into
mainfrom
devin/1791555262-hotfix-ci-e2b-floor
Oct 9, 2026
Merged

mishushakov merged 1 commit into
mainfrom
devin/1791555262-hotfix-ci-e2b-floor

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Hotfix: e2b-code-interpreter 2.10.4 on PyPI is broken. It requires e2b>=2.55.0 and calls connection_config.get_sandbox_url(..., port=JUPYTER_PORT), but the port argument 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:

pip install e2b-code-interpreter==2.10.4   # resolves e2b 2.55.0
Sandbox.create().run_code("print(1)")
# TypeError: ConnectionConfig.get_sandbox_url() got an unexpected keyword argument 'port'

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:

  • adds a @e2b/python-sdk patch changeset, so get_sandbox_url(..., port=) ships as e2b 2.55.1
  • adds a @e2b/code-interpreter-python patch changeset and raises its floor to e2b>=2.55.1, so pip install -U e2b-code-interpreter can't keep e2b 2.55.0 (2.10.5)

uv lock in packages/code-interpreter-python produces no diff because uv ignores the specifier on workspace sources.

After merging, run Release. Consider yanking e2b-code-interpreter 2.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

…quire e2b>=2.55.1

Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@cla-bot cla-bot Bot added the cla-signed label Oct 9, 2026
@changeset-bot

changeset-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: e8503e2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@e2b/code-interpreter-python Patch
@e2b/python-sdk Patch

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

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Written by Devin

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Package Artifacts

Built from 7ba4c3d. Download artifacts from this workflow run.

JS SDK (e2b@2.55.1-devin-1791555262-hotfix-ci-e2b-floor.0, with @e2b/dockerfile-utils@0.1.1-devin-1791555262-hotfix-ci-e2b-floor.0):

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.tgz

CLI (@e2b/cli@2.21.3-devin-1791555262-hotfix-ci-e2b-floor.0):

npm install ./e2b-cli-2.21.3-devin-1791555262-hotfix-ci-e2b-floor.0.tgz

Code Interpreter JS SDK (@e2b/code-interpreter@2.8.4-devin-1791555262-hotfix-ci-e2b-floor.0):

npm install ./e2b-code-interpreter-2.8.4-devin-1791555262-hotfix-ci-e2b-floor.0.tgz

Desktop JS SDK (@e2b/desktop@2.4.1-devin-1791555262-hotfix-ci-e2b-floor.0):

npm install ./e2b-desktop-2.4.1-devin-1791555262-hotfix-ci-e2b-floor.0.tgz

Python SDK (e2b==2.55.0+devin.1791555262.hotfix.ci.e2b.floor, with e2b-dockerfile-utils==0.1.0+devin.1791555262.hotfix.ci.e2b.floor):

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.whl

Code Interpreter Python SDK (e2b-code-interpreter==2.10.4+devin.1791555262.hotfix.ci.e2b.floor):

pip install ./e2b_code_interpreter-2.10.4+devin.1791555262.hotfix.ci.e2b.floor-py3-none-any.whl

Desktop Python SDK (e2b-desktop==2.6.1+devin.1791555262.hotfix.ci.e2b.floor):

pip install ./e2b_desktop-2.6.1+devin.1791555262.hotfix.ci.e2b.floor-py3-none-any.whl

@mishushakov mishushakov reopened this Oct 9, 2026
@mishushakov
mishushakov marked this pull request as ready for review October 9, 2026 14:17
@mishushakov
mishushakov enabled auto-merge (squash) October 9, 2026 14:17
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T14:19:52.354989Z e8503e2 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@mishushakov
mishushakov merged commit 29064bc into main Oct 9, 2026
56 of 58 checks passed
@mishushakov
mishushakov deleted the devin/1791555262-hotfix-ci-e2b-floor branch October 9, 2026 14:20

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing blocking. The comments below are optional suggestions. There is no need to push a fix for them before merging.

"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",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 (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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant