Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 36 additions & 15 deletions mlserver/grpc/converters.py
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ def from_types(
class RepositoryIndexRequestConverter:
@classmethod
def to_types(
cls, pb_object: mr_pb.RepositoryIndexRequest
cls, pb_object: Union[pb.RepositoryIndexRequest, mr_pb.RepositoryIndexRequest]
) -> types.RepositoryIndexRequest:
return types.RepositoryIndexRequest(
ready=pb_object.ready,
Expand All @@ -366,46 +366,67 @@ def to_types(
@classmethod
def from_types(
cls, type_object: types.RepositoryIndexRequest
) -> mr_pb.RepositoryIndexRequest:
) -> Union[pb.RepositoryIndexRequest, mr_pb.RepositoryIndexRequest]:
raise NotImplementedError("Implement me")


class RepositoryIndexResponseConverter:
@classmethod
def to_types(
cls, pb_object: mr_pb.RepositoryIndexResponse
cls, pb_object: Union[pb.RepositoryIndexResponse, mr_pb.RepositoryIndexResponse]
) -> types.RepositoryIndexResponse:
raise NotImplementedError("Implement me")

@classmethod
def from_types(
cls, type_object: types.RepositoryIndexResponse
) -> mr_pb.RepositoryIndexResponse:
return mr_pb.RepositoryIndexResponse(
models=[
RepositoryIndexResponseItemConverter.from_types(model)
for model in type_object
]
)
cls,
type_object: types.RepositoryIndexResponse,
use_model_repository: bool = False,
) -> Union[pb.RepositoryIndexResponse, mr_pb.RepositoryIndexResponse]:
models = [
RepositoryIndexResponseItemConverter.from_types(
model, use_model_repository=use_model_repository
)
for model in type_object
]
if use_model_repository:
return mr_pb.RepositoryIndexResponse(models=models) # type: ignore

return pb.RepositoryIndexResponse(models=models) # type: ignore


class RepositoryIndexResponseItemConverter:
@classmethod
def to_types(
cls, pb_object: mr_pb.RepositoryIndexResponse.ModelIndex
cls,
pb_object: Union[
pb.RepositoryIndexResponse.ModelIndex,
mr_pb.RepositoryIndexResponse.ModelIndex,
],
) -> types.RepositoryIndexResponseItem:
raise NotImplementedError("Implement me")

@classmethod
def from_types(
cls, type_object: types.RepositoryIndexResponseItem
) -> mr_pb.RepositoryIndexResponse.ModelIndex:
model_index = mr_pb.RepositoryIndexResponse.ModelIndex(
cls,
type_object: types.RepositoryIndexResponseItem,
use_model_repository: bool = False,
) -> Union[
pb.RepositoryIndexResponse.ModelIndex, mr_pb.RepositoryIndexResponse.ModelIndex
]:
model_index = pb.RepositoryIndexResponse.ModelIndex(
name=type_object.name,
state=type_object.state.value,
reason=type_object.reason,
)

if use_model_repository:
model_index = mr_pb.RepositoryIndexResponse.ModelIndex( # type: ignore
name=type_object.name,
state=type_object.state.value,
reason=type_object.reason,
)

if type_object.version is not None:
model_index.version = type_object.version

Expand Down
161 changes: 158 additions & 3 deletions mlserver/grpc/dataplane_pb2.py

Large diffs are not rendered by default.

Loading