Repository navigation
chore(python-sdk): bump protobuf-py to 0.6.0 and connectrpc to 0.12.1 - #2000
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: 67d6016 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 |
Package ArtifactsBuilt from e266add. Download artifacts from this workflow run. JS SDK ( npm install ./e2b-dockerfile-utils-0.1.2-devin-1792497009-bump-protobuf-py.0.tgz ./e2b-2.56.1-devin-1792497009-bump-protobuf-py.0.tgzCLI ( npm install ./e2b-cli-2.22.1-devin-1792497009-bump-protobuf-py.0.tgzCode Interpreter JS SDK ( npm install ./e2b-code-interpreter-2.9.1-devin-1792497009-bump-protobuf-py.0.tgzDesktop JS SDK ( npm install ./e2b-desktop-2.5.1-devin-1792497009-bump-protobuf-py.0.tgzPython SDK ( pip install ./e2b_dockerfile_utils-0.1.1+devin.1792497009.bump.protobuf.py-py3-none-any.whl ./e2b-2.56.0+devin.1792497009.bump.protobuf.py-py3-none-any.whlCode Interpreter Python SDK ( pip install ./e2b_code_interpreter-2.11.0+devin.1792497009.bump.protobuf.py-py3-none-any.whlDesktop Python SDK ( pip install ./e2b_desktop-2.7.0+devin.1792497009.bump.protobuf.py-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. |
There was a problem hiding this comment.
Devin Review found 1 potential issue.
⚠️ 1 issue in files not directly in the diff
⚠️ Large requests rejected by generated servers
When users omit read_max_bytes, generated ASGI and WSGI servers reject requests above the new 4 MB default. Previously, their None default accepted those requests.
1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
There was a problem hiding this comment.
I reviewed this PR and found no new bugs. It moves the SDK's runtime protobuf and Connect dependency ranges, and every path is covered by CODEOWNERS, so a human look is still worthwhile.
What was reviewed:
- The codegen pins match between
pyproject.tomlandcodegen.Dockerfile(protoc-gen-py==0.6.0,protoc-gen-connectrpc==0.12.1). - The regenerated stubs are generator output only: new WKT import paths, positional-only server Protocol params, docstrings,
desc(). The client call paths are unchanged. - The new
read_max_bytes=DEFAULT_READ_MAX_BYTESdefault only affects the generated ASGI/WSGI server classes. The SDK doesn't use them; it only uses the clients. - Some hand-written code still uses
from protobuf.wkt import Timestamp(e2b/sandbox/filesystem/filesystem.py,tests/test_filesystem_models.py). By the PR description that path still works in 0.6 and is only dropped in 0.7, which the new<0.7cap excludes.
Extended reasoning...
The change bumps protobuf-py from 0.1 to 0.6 and connectrpc from 0.11 to 0.12 for the Python SDK. It also relocks three uv.lock files and regenerates the envd filesystem/process stubs. No auth, crypto or data-exposure code is touched; the risk is runtime compatibility with the new native protobuf-py-ext. The repo's CODEOWNERS assigns all paths to a single owner, so approving automatically isn't appropriate.
Summary
Bumps the native
protobuf-py-ext0.1.1 → 0.6.0.protobuf-pypinsprotobuf-py-extto its own version, andconnectrpc/protoc-gen-connectrpc0.11.1 pinprotobuf-py==0.1.1, so the whole stack has to move together:protobuf-py>=0.6.0,<0.7,connectrpc>=0.12.1,<0.13, codegenprotoc-gen-py==0.6.0,protoc-gen-connectrpc==0.12.1(pyproject +codegen.Dockerfile)protobuf.wkt.google.protobuf.timestamp_pb), which 0.7 will require. The Connect stubs pick up generator changes (positional-only server params,desc(), proto docstrings, serverDEFAULT_READ_MAX_BYTES)connectrpc 0.12 breaking changes don't affect the SDK: the new 4MB read limit only applies to servers (the client
read_max_bytesdefault is stillNone), and the JSON unknown-fields change doesn't apply because envd uses our own_ProtoJSONCodec.Note: the stream-deadline cancellation fix (connectrpc/connect-py#380) is still unreleased, so it isn't in 0.12.1.
Tests: ruff +
ty checkpass, 233 offline envd/RPC tests pass, and sync+async commands/filesystem integration tests against a real sandbox give 166 passed. The 2 symlinkFileTypefailures also fail onmain.Link to Devin session: https://app.devin.ai/sessions/fe9081991121446e9142758681ebf049
Open in Devin Desktop: https://app.devin.ai/desktop/session/fe9081991121446e9142758681ebf049?variant=devin
Requested by: @mishushakov