Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/code-interpreter-e2b-floor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@e2b/code-interpreter-python': patch
---

Require `e2b>=2.55.1`, the first release with `get_sandbox_url(..., port=)`. 2.10.4 failed with `TypeError: ... unexpected keyword argument 'port'` when installed with e2b 2.55.0.
5 changes: 5 additions & 0 deletions .changeset/e2b-sandbox-url-port.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@e2b/python-sdk': patch
---

`ConnectionConfig.get_sandbox_url` / `get_sandbox_direct_url` take an optional `port` (defaults to the envd port).
2 changes: 1 addition & 1 deletion packages/code-interpreter-python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ requires-python = ">=3.10"
dependencies = [
"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.

]

[project.urls]
Expand Down
Loading