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!
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.
robotframework-browser/Browser/requirements.txt
Line 1 in 103a3fd
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 thinkgrpcio-toolscan 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.19has 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!