Before raising this MR, consider whether the following are required, and complete if so:
If not required, please explain in brief why not.
This PR recompiles all the protos using libprotoc
version 3.21.12, which seems to be the version installed via grpc_tools
. Versions from 3.20.0 onward generate backwards incompatible code with earlier versions, so I've also added that constraint in requirements/requirements.in
.
An unfortunate side effect of protos generated via the newer versions of protoc is that pylint
appears to not work correctly and fails with numerous (no-name-in-module)
errors. See https://github.com/protocolbuffers/protobuf/issues/10372 for the upstream issue on the protobuf side and https://github.com/pylint-dev/pylint/issues/4987 on the pylint side for not supporting .pyi
files.
I'm not sure exactly how best to proceed with that. We could require a version of protoc
less than 3.20.0 but I couldn't figure out a way to express that in our requirements.in
, as I was getting 3.21.12
no matter what I tried. Another way we could go is to silence this warning, although I kind of hoped it would be silenced via ignored-modules
but that doesn't appear to work.
libprotoc
3.21.12
protobuf>=3.20.0
constraint.