# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc

from . import core_pb2 as core__pb2
from . import data_ext_pb2 as data__ext__pb2


class DataExtStub(object):
  # missing associated documentation comment in .proto file
  pass

  def __init__(self, channel):
    """Constructor.

    Args:
      channel: A grpc.Channel.
    """
    self.AddFeatures = channel.unary_unary(
        '/DataExt/AddFeatures',
        request_serializer=data__ext__pb2.AddFeaturesRequest.SerializeToString,
        response_deserializer=core__pb2.Response.FromString,
        )
    self.RemoveFeatures = channel.unary_unary(
        '/DataExt/RemoveFeatures',
        request_serializer=data__ext__pb2.RemoveFeaturesRequest.SerializeToString,
        response_deserializer=core__pb2.Response.FromString,
        )
    self.AddSamples = channel.unary_unary(
        '/DataExt/AddSamples',
        request_serializer=data__ext__pb2.AddSamplesRequest.SerializeToString,
        response_deserializer=core__pb2.Response.FromString,
        )
    self.RemoveSamples = channel.unary_unary(
        '/DataExt/RemoveSamples',
        request_serializer=data__ext__pb2.RemoveSamplesRequest.SerializeToString,
        response_deserializer=core__pb2.Response.FromString,
        )
    self.ReplaceData = channel.unary_unary(
        '/DataExt/ReplaceData',
        request_serializer=data__ext__pb2.ReplaceDataRequest.SerializeToString,
        response_deserializer=core__pb2.Response.FromString,
        )
    self.Materialize = channel.unary_unary(
        '/DataExt/Materialize',
        request_serializer=data__ext__pb2.MaterializeRequest.SerializeToString,
        response_deserializer=core__pb2.Response.FromString,
        )
    self.TrainValidationSplit = channel.unary_unary(
        '/DataExt/TrainValidationSplit',
        request_serializer=data__ext__pb2.TrainValidationSplitRequest.SerializeToString,
        response_deserializer=core__pb2.Response.FromString,
        )
    self.Revert = channel.unary_unary(
        '/DataExt/Revert',
        request_serializer=data__ext__pb2.RevertRequest.SerializeToString,
        response_deserializer=core__pb2.Response.FromString,
        )


class DataExtServicer(object):
  # missing associated documentation comment in .proto file
  pass

  def AddFeatures(self, request, context):
    """Add and remove features to/from datasets
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def RemoveFeatures(self, request, context):
    # missing associated documentation comment in .proto file
    pass
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def AddSamples(self, request, context):
    """Add and remove records (rows) to/from datasets
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def RemoveSamples(self, request, context):
    # missing associated documentation comment in .proto file
    pass
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def ReplaceData(self, request, context):
    """Replace individual data points in a set
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def Materialize(self, request, context):
    """Persist the dataset with modifications applied for future use
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def TrainValidationSplit(self, request, context):
    """Deterministic split of a dataset into training a validation
    Filters out all but validation records or training records depending on is_validation
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def Revert(self, request, context):
    """Revert the dataset to the original state
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')


def add_DataExtServicer_to_server(servicer, server):
  rpc_method_handlers = {
      'AddFeatures': grpc.unary_unary_rpc_method_handler(
          servicer.AddFeatures,
          request_deserializer=data__ext__pb2.AddFeaturesRequest.FromString,
          response_serializer=core__pb2.Response.SerializeToString,
      ),
      'RemoveFeatures': grpc.unary_unary_rpc_method_handler(
          servicer.RemoveFeatures,
          request_deserializer=data__ext__pb2.RemoveFeaturesRequest.FromString,
          response_serializer=core__pb2.Response.SerializeToString,
      ),
      'AddSamples': grpc.unary_unary_rpc_method_handler(
          servicer.AddSamples,
          request_deserializer=data__ext__pb2.AddSamplesRequest.FromString,
          response_serializer=core__pb2.Response.SerializeToString,
      ),
      'RemoveSamples': grpc.unary_unary_rpc_method_handler(
          servicer.RemoveSamples,
          request_deserializer=data__ext__pb2.RemoveSamplesRequest.FromString,
          response_serializer=core__pb2.Response.SerializeToString,
      ),
      'ReplaceData': grpc.unary_unary_rpc_method_handler(
          servicer.ReplaceData,
          request_deserializer=data__ext__pb2.ReplaceDataRequest.FromString,
          response_serializer=core__pb2.Response.SerializeToString,
      ),
      'Materialize': grpc.unary_unary_rpc_method_handler(
          servicer.Materialize,
          request_deserializer=data__ext__pb2.MaterializeRequest.FromString,
          response_serializer=core__pb2.Response.SerializeToString,
      ),
      'TrainValidationSplit': grpc.unary_unary_rpc_method_handler(
          servicer.TrainValidationSplit,
          request_deserializer=data__ext__pb2.TrainValidationSplitRequest.FromString,
          response_serializer=core__pb2.Response.SerializeToString,
      ),
      'Revert': grpc.unary_unary_rpc_method_handler(
          servicer.Revert,
          request_deserializer=data__ext__pb2.RevertRequest.FromString,
          response_serializer=core__pb2.Response.SerializeToString,
      ),
  }
  generic_handler = grpc.method_handlers_generic_handler(
      'DataExt', rpc_method_handlers)
  server.add_generic_rpc_handlers((generic_handler,))
