New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support protobuf 5.26.0 #36142
Comments
I suggest to remove the artificial upper bound limit on future versions of protobuf. As noted in this post:
|
protobuf 5.26.0 contains backwards-incompatible changes, we need to keep Python protobuf 4.x for C++ protobuf 4.x. grpcio has still not been updated to support protobuf 5.x: grpc/grpc#36142 d8ff602d21fdc9769e6c8dc501f0177e554028e5
This is especially confusing when I tried to update using |
Looks like the upper bound was changed from |
+1 |
On our macOS dev machines, core C++ |
@Anton3 my gut feeling is that the grpcio package is not really incompatible with the new protobuf package, but it just claims to not be. If you are really blocked you might be able to trick your pip installation to bypass the claimed conflicts by calling A bit off topic, but I strongly recommend to NOT use HomeBrew to manage python and your python dependencies if you do any Python development. We switched to |
@sodul We use C++ Edit: One way out is to build and install C++ |
@Anton3, interesting. In our case, because of brew changing versions based on other unrelated binaries that our devs might want to experiment with, we wrote our own internal installer for third party binaries such as protoc. We are currently installing protoc 26.0 from https://github.com/protocolbuffers/protobuf/releases On the python side we install grpcio==1.62.1, grpcio-tools==1.62.1 and protobuf==4.25.3. We are not a C++ shop but we use GoLang, Python and Protobuf extensively and we are not experiencing any issues other than having to pin to It is very much possible that you are using some different protobuf features that we do and get different results. Overall if things are broken with the brew installed version of protoc, as a temporary workaround you could tell your devs to install the older |
Reportedly, the new grpcio 1.63.0 does not complain about Protobuf 5.26.x |
Was fixed in another issue |
Hi all, thanks for chiming in on this issue. It's clear that this caused a lot of friction for a lot of people and we're dedicated to making it better. For starters, the first version that was originally planned to include Protobuf 5.X support was 1.64, around 6 weeks from now. We backported the update to 1.63 to get a solution out faster, which is now available as 1.63.0. But that's not enough. There have now been two major version bumps of the protobuf Python generated code API since gRPC hit 1.0 and both times the jump has caused gRPC users a lot of heartache. We've been working closely with the Protobuf team to institute a new policy where any new major version of the Protobuf Python package must also support the generated code API of the previous major version. This will turn the hard installation errors or runtime errors that you're currently seeing with new major versions into deprecation warnings with a timeline of some number of months (TBD) to regenerate your |
Is your feature request related to a problem? Please describe.
Currently cannot update to protobuf 5.26.0 due to grpcio-tools dependencies.
Describe the solution you'd like
grpcio-tools requirement for protobuf to be relaxed to protobuf>=4.21.3,<6.0dev
Not sure if any other changes are needed to support protobuf v26.0. The changes there don't look too drastic so I am guessing nothing (or not much).
Describe alternatives you've considered
None - am currently sitting at protobuf v25.3 because of this
Additional context
Poetry output from
poetry lock
:The text was updated successfully, but these errors were encountered: