Repository navigation
chore(code-interpreter-python): add @e2b/python-sdk workspace dependency - #1968
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)".
|
|
There was a problem hiding this comment.
TASTE.md review: complies, with 0 violations. The PR only adds an @e2b/python-sdk workspace dependency to the private packages/code-interpreter-python/package.json (plus the lockfile entry). It changes no public SDK API, so none of T-1–T-74 apply; T-54 and T-56 (package structure, SDK version) were checked and are not affected.
| @@ -2,6 +2,9 @@ | |||
| "name": "@e2b/code-interpreter-python", | |||
| "private": true, | |||
| "version": "2.10.4", | |||
There was a problem hiding this comment.
is the version actually needed here?
There was a problem hiding this comment.
The version field was already there (not added by this PR). It's used by the postVersion script below, which syncs it into pyproject.toml via uv version on release — same pattern as packages/python-sdk. Only the dependencies block is new.
Package ArtifactsBuilt from b34329d. Download artifacts from this workflow run. JS SDK ( npm install ./e2b-dockerfile-utils-0.1.1-devin-1791555980-ci-python-sdk-dep.0.tgz ./e2b-2.55.1-devin-1791555980-ci-python-sdk-dep.0.tgzCLI ( npm install ./e2b-cli-2.21.3-devin-1791555980-ci-python-sdk-dep.0.tgzCode Interpreter JS SDK ( npm install ./e2b-code-interpreter-2.8.4-devin-1791555980-ci-python-sdk-dep.0.tgzDesktop JS SDK ( npm install ./e2b-desktop-2.4.1-devin-1791555980-ci-python-sdk-dep.0.tgzPython SDK ( pip install ./e2b_dockerfile_utils-0.1.0+devin.1791555980.ci.python.sdk.dep-py3-none-any.whl ./e2b-2.55.0+devin.1791555980.ci.python.sdk.dep-py3-none-any.whlCode Interpreter Python SDK ( pip install ./e2b_code_interpreter-2.10.4+devin.1791555980.ci.python.sdk.dep-py3-none-any.whlDesktop Python SDK ( pip install ./e2b_desktop-2.6.1+devin.1791555980.ci.python.sdk.dep-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. |
| "private": true, | ||
| "version": "2.10.4", | ||
| "dependencies": { | ||
| "@e2b/python-sdk": "workspace:*" |
There was a problem hiding this comment.
🔴 After merging, a release with only a python-sdk changeset also publishes a new e2b-code-interpreter to PyPI, and its test suite is skipped. Changesets reads workspace:* as an exact pin, so with updateInternalDependencies: "patch" the dependent gets a patch bump. The test gate in release.yml:110 only looks at raw changeset files, which never name the dependent. Fix: base the per-package release outputs on the computed plan (pnpm changeset status --output, the same source publish_command.cjs reads), so every package that gets bumped also has its tests run.
Why this was flagged
Trigger: a changeset that bumps only @ e2b/python-sdk, then the Release workflow. Changesets resolves the dependent range workspace:* to the dependency's old version. Combined with updateInternalDependencies: "patch" (.changeset/config.json:10) and privatePackages.version: true, this adds a patch release of @ e2b/code-interpreter-python to the plan. pnpm run version bumps it, and postVersion/uv version rewrites pyproject. pnpm run publish then runs its postPublish (uv build && uv publish), which uploads a new e2b-code-interpreter to PyPI. The preflight step at release.yml:106-111 calls is_release_for_package.sh, and that script (line 13) only checks @ changesets/read changeset files for the package name. So code_interpreter_python is false, and code-interpreter-python-tests (release.yml:185-190) is skipped. On the base branch the importer had no dependency, so no bump, publish or skipped gate happened. Nothing else stops it: the publish job only requires that no needed job failed, and skipped jobs pass that check.
Verification: The diff adds "@ e2b/python-sdk": "workspace:*" in packages/code-interpreter-python/package.json:5-7, so any python-sdk bump gives the dependent a patch release. release.yml:110 runs is_release_for_package.sh, which reads only the raw changeset files, so it outputs false. The code-interpreter-python-tests job (release.yml:185-190) is skipped, and publish (release.yml:231) still runs.
Summary
Adds
"@e2b/python-sdk": "workspace:*"topackages/code-interpreter-python/package.jsondependencies, mirroring howpackages/python-sdkalready declares@e2b/dockerfile-utils-python. This makes the workspace dependency between the two packages explicit to pnpm.Link to Devin session: https://app.devin.ai/sessions/9c37382c8dd54739be84213ee4743cf0
Open in Devin Desktop: https://app.devin.ai/desktop/session/9c37382c8dd54739be84213ee4743cf0?variant=devin
Requested by: @mishushakov