Traceback (most recent call last):
File "/opt/app/.venv/bin/mlserver", line 5, in <module>
from mlserver.cli import main
File "/opt/app/.venv/lib/python3.10/site-packages/mlserver/__init__.py", line 2, in <module>
from .server import MLServer
File "/opt/app/.venv/lib/python3.10/site-packages/mlserver/server.py", line 17, in <module>
from .grpc import GRPCServer
File "/opt/app/.venv/lib/python3.10/site-packages/mlserver/grpc/__init__.py", line 1, in <module>
from .server import GRPCServer
File "/opt/app/.venv/lib/python3.10/site-packages/mlserver/grpc/server.py", line 9, in <module>
from .servicers import InferenceServicer
File "/opt/app/.venv/lib/python3.10/site-packages/mlserver/grpc/servicers.py", line 3, in <module>
from . import dataplane_pb2 as pb
File "/opt/app/.venv/lib/python3.10/site-packages/mlserver/grpc/dataplane_pb2.py", line 9, in <module>
from google.protobuf import runtime_version as _runtime_version
ImportError: cannot import name 'runtime_version' from 'google.protobuf' (/opt/app/.venv/lib/python3.10/site-packages/google/protobuf/__init__.py)
My venv contains protobuf 4.25.7. This is compatible with the current constraints of MLserver, as there aren't any. However, the import introduced in this PR is only compatible with protobuf>5.27. Let me know if I missed anything. I confirmed this issue disappears when installing protobuf 5.27.2 instead (overruling dependency conflicts). With protobuf 5.27.0, the error is slightly different
Details
```
File "/Users/manu.compen/Library/Caches/pypoetry/virtualenvs/test-repo-4LTXvItg-py3.10/lib/python3.10/site-packages/mlserver/grpc/servicers.py", line 3, in
from . import dataplane_pb2 as pb
File "/Users/manu.compen/Library/Caches/pypoetry/virtualenvs/test-repo-4LTXvItg-py3.10/lib/python3.10/site-packages/mlserver/grpc/dataplane_pb2.py", line 13, in
_runtime_version.ValidateProtobufRuntimeVersion(
File "/Users/manu.compen/Library/Caches/pypoetry/virtualenvs/test-repo-4LTXvItg-py3.10/lib/python3.10/site-packages/google/protobuf/runtime_version.py", line 86, in ValidateProtobufRuntimeVersion
raise VersionError(
google.protobuf.runtime_version.VersionError: Detected incompatible Protobuf Gencode/Runtime versions when loading dataplane.proto: gencode 5.27.2 runtime 5.27.0. Runtime version cannot be older than the linked gencode version. See Protobuf version guarantees at https://protobuf.dev/support/cross-version-runtime-guarantee.
```
Protobuf<5.0 is still required by packages such as kfp. Any chance a patch could be released?
My venv contains protobuf 4.25.7. This is compatible with the current constraints of MLserver, as there aren't any. However, the import introduced in this PR is only compatible with protobuf>5.27. Let me know if I missed anything. I confirmed this issue disappears when installing protobuf 5.27.2 instead (overruling dependency conflicts). With protobuf 5.27.0, the error is slightly different
Details
``` File "/Users/manu.compen/Library/Caches/pypoetry/virtualenvs/test-repo-4LTXvItg-py3.10/lib/python3.10/site-packages/mlserver/grpc/servicers.py", line 3, in from . import dataplane_pb2 as pb File "/Users/manu.compen/Library/Caches/pypoetry/virtualenvs/test-repo-4LTXvItg-py3.10/lib/python3.10/site-packages/mlserver/grpc/dataplane_pb2.py", line 13, in _runtime_version.ValidateProtobufRuntimeVersion( File "/Users/manu.compen/Library/Caches/pypoetry/virtualenvs/test-repo-4LTXvItg-py3.10/lib/python3.10/site-packages/google/protobuf/runtime_version.py", line 86, in ValidateProtobufRuntimeVersion raise VersionError( google.protobuf.runtime_version.VersionError: Detected incompatible Protobuf Gencode/Runtime versions when loading dataplane.proto: gencode 5.27.2 runtime 5.27.0. Runtime version cannot be older than the linked gencode version. See Protobuf version guarantees at https://protobuf.dev/support/cross-version-runtime-guarantee. ```Protobuf<5.0 is still required by packages such as kfp. Any chance a patch could be released?