Skip to content

grpcio and protobuf are pinned to fixed versions, conflicting with existing env #3615

@iwanb

Description

@iwanb

Is your feature request related to a problem? Please describe.
I would like to install robotframework-browser within an existing project which already depends on grpcio and protobuf. We use and need a specific version of grpcio and protobuf, but robotframework-browser pins to versions which are not compatible.

Describe the solution you'd like
The version constraint of grpcio and protobuf should be relaxed, and only pinned at build time (e.g. in requirements-dev.txt). I also think grpcio-tools can be a build-time dependency rather than runtime, but I might have missed something.

Protobuf is unfortunately not very clear on what's the compatibility guarantees on compiled protobuf file, but it looks like protobuf >= 3.19 has good backwards compatibility:
protocolbuffers/protobuf#11123

A possibly more robust but more complicated solution is to compile the protobuf at install time, in setup.py.

Describe alternatives you've considered
I'm looking into rebuilding it myself against a different grpcio and protobuf version.

I've had my share of headaches with protobuf compatibility so I can certainly understand if you don't want to support multiple versions!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions