# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc
import warnings

from . import simulator_pb2 as simulator__pb2

GRPC_GENERATED_VERSION = '1.76.0'
GRPC_VERSION = grpc.__version__
_version_not_supported = False

try:
    from grpc._utilities import first_version_is_lower
    _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
    _version_not_supported = True

if _version_not_supported:
    raise RuntimeError(
        f'The grpc package installed is at version {GRPC_VERSION},'
        + ' but the generated code in simulator_pb2_grpc.py depends on'
        + f' grpcio>={GRPC_GENERATED_VERSION}.'
        + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
        + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
    )


class SimulatorServiceStub(object):
    """Missing associated documentation comment in .proto file."""

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

        Args:
            channel: A grpc.Channel.
        """
        self.HealthCheck = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/HealthCheck',
                request_serializer=simulator__pb2.HealthCheckRequest.SerializeToString,
                response_deserializer=simulator__pb2.HealthCheckResponse.FromString,
                _registered_method=True)
        self.CreateSession = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/CreateSession',
                request_serializer=simulator__pb2.CreateSessionRequest.SerializeToString,
                response_deserializer=simulator__pb2.CreateSessionResponse.FromString,
                _registered_method=True)
        self.ListSessions = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/ListSessions',
                request_serializer=simulator__pb2.ListSessionsRequest.SerializeToString,
                response_deserializer=simulator__pb2.ListSessionsResponse.FromString,
                _registered_method=True)
        self.GetSession = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/GetSession',
                request_serializer=simulator__pb2.GetSessionRequest.SerializeToString,
                response_deserializer=simulator__pb2.GetSessionResponse.FromString,
                _registered_method=True)
        self.StartSimulation = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/StartSimulation',
                request_serializer=simulator__pb2.StartSimulationRequest.SerializeToString,
                response_deserializer=simulator__pb2.StartSimulationResponse.FromString,
                _registered_method=True)
        self.PauseSimulation = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/PauseSimulation',
                request_serializer=simulator__pb2.PauseSimulationRequest.SerializeToString,
                response_deserializer=simulator__pb2.PauseSimulationResponse.FromString,
                _registered_method=True)
        self.ResumeSimulation = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/ResumeSimulation',
                request_serializer=simulator__pb2.ResumeSimulationRequest.SerializeToString,
                response_deserializer=simulator__pb2.ResumeSimulationResponse.FromString,
                _registered_method=True)
        self.StopSimulation = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/StopSimulation',
                request_serializer=simulator__pb2.StopSimulationRequest.SerializeToString,
                response_deserializer=simulator__pb2.StopSimulationResponse.FromString,
                _registered_method=True)
        self.StreamWaveforms = channel.unary_stream(
                '/pulsim.api.v1.SimulatorService/StreamWaveforms',
                request_serializer=simulator__pb2.StreamWaveformsRequest.SerializeToString,
                response_deserializer=simulator__pb2.WaveformStreamResponse.FromString,
                _registered_method=True)
        self.GetResult = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/GetResult',
                request_serializer=simulator__pb2.GetResultRequest.SerializeToString,
                response_deserializer=simulator__pb2.GetResultResponse.FromString,
                _registered_method=True)
        self.DownloadResult = channel.unary_stream(
                '/pulsim.api.v1.SimulatorService/DownloadResult',
                request_serializer=simulator__pb2.DownloadResultRequest.SerializeToString,
                response_deserializer=simulator__pb2.DownloadResultResponse.FromString,
                _registered_method=True)
        self.UploadModel = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/UploadModel',
                request_serializer=simulator__pb2.UploadModelRequest.SerializeToString,
                response_deserializer=simulator__pb2.UploadModelResponse.FromString,
                _registered_method=True)
        self.ListModels = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/ListModels',
                request_serializer=simulator__pb2.ListModelsRequest.SerializeToString,
                response_deserializer=simulator__pb2.ListModelsResponse.FromString,
                _registered_method=True)
        self.GetModel = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/GetModel',
                request_serializer=simulator__pb2.GetModelRequest.SerializeToString,
                response_deserializer=simulator__pb2.GetModelResponse.FromString,
                _registered_method=True)
        self.DeleteModel = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/DeleteModel',
                request_serializer=simulator__pb2.DeleteModelRequest.SerializeToString,
                response_deserializer=simulator__pb2.DeleteModelResponse.FromString,
                _registered_method=True)
        self.CreateSweep = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/CreateSweep',
                request_serializer=simulator__pb2.CreateSweepRequest.SerializeToString,
                response_deserializer=simulator__pb2.CreateSweepResponse.FromString,
                _registered_method=True)
        self.RunSweep = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/RunSweep',
                request_serializer=simulator__pb2.RunSweepRequest.SerializeToString,
                response_deserializer=simulator__pb2.RunSweepResponse.FromString,
                _registered_method=True)
        self.GetSweepResults = channel.unary_unary(
                '/pulsim.api.v1.SimulatorService/GetSweepResults',
                request_serializer=simulator__pb2.GetSweepResultsRequest.SerializeToString,
                response_deserializer=simulator__pb2.GetSweepResultsResponse.FromString,
                _registered_method=True)


class SimulatorServiceServicer(object):
    """Missing associated documentation comment in .proto file."""

    def HealthCheck(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSession(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListSessions(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSession(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StartSimulation(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PauseSimulation(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ResumeSimulation(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StopSimulation(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamWaveforms(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetResult(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DownloadResult(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UploadModel(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListModels(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetModel(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteModel(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSweep(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RunSweep(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSweepResults(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_SimulatorServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'HealthCheck': grpc.unary_unary_rpc_method_handler(
                    servicer.HealthCheck,
                    request_deserializer=simulator__pb2.HealthCheckRequest.FromString,
                    response_serializer=simulator__pb2.HealthCheckResponse.SerializeToString,
            ),
            'CreateSession': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSession,
                    request_deserializer=simulator__pb2.CreateSessionRequest.FromString,
                    response_serializer=simulator__pb2.CreateSessionResponse.SerializeToString,
            ),
            'ListSessions': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSessions,
                    request_deserializer=simulator__pb2.ListSessionsRequest.FromString,
                    response_serializer=simulator__pb2.ListSessionsResponse.SerializeToString,
            ),
            'GetSession': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSession,
                    request_deserializer=simulator__pb2.GetSessionRequest.FromString,
                    response_serializer=simulator__pb2.GetSessionResponse.SerializeToString,
            ),
            'StartSimulation': grpc.unary_unary_rpc_method_handler(
                    servicer.StartSimulation,
                    request_deserializer=simulator__pb2.StartSimulationRequest.FromString,
                    response_serializer=simulator__pb2.StartSimulationResponse.SerializeToString,
            ),
            'PauseSimulation': grpc.unary_unary_rpc_method_handler(
                    servicer.PauseSimulation,
                    request_deserializer=simulator__pb2.PauseSimulationRequest.FromString,
                    response_serializer=simulator__pb2.PauseSimulationResponse.SerializeToString,
            ),
            'ResumeSimulation': grpc.unary_unary_rpc_method_handler(
                    servicer.ResumeSimulation,
                    request_deserializer=simulator__pb2.ResumeSimulationRequest.FromString,
                    response_serializer=simulator__pb2.ResumeSimulationResponse.SerializeToString,
            ),
            'StopSimulation': grpc.unary_unary_rpc_method_handler(
                    servicer.StopSimulation,
                    request_deserializer=simulator__pb2.StopSimulationRequest.FromString,
                    response_serializer=simulator__pb2.StopSimulationResponse.SerializeToString,
            ),
            'StreamWaveforms': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamWaveforms,
                    request_deserializer=simulator__pb2.StreamWaveformsRequest.FromString,
                    response_serializer=simulator__pb2.WaveformStreamResponse.SerializeToString,
            ),
            'GetResult': grpc.unary_unary_rpc_method_handler(
                    servicer.GetResult,
                    request_deserializer=simulator__pb2.GetResultRequest.FromString,
                    response_serializer=simulator__pb2.GetResultResponse.SerializeToString,
            ),
            'DownloadResult': grpc.unary_stream_rpc_method_handler(
                    servicer.DownloadResult,
                    request_deserializer=simulator__pb2.DownloadResultRequest.FromString,
                    response_serializer=simulator__pb2.DownloadResultResponse.SerializeToString,
            ),
            'UploadModel': grpc.unary_unary_rpc_method_handler(
                    servicer.UploadModel,
                    request_deserializer=simulator__pb2.UploadModelRequest.FromString,
                    response_serializer=simulator__pb2.UploadModelResponse.SerializeToString,
            ),
            'ListModels': grpc.unary_unary_rpc_method_handler(
                    servicer.ListModels,
                    request_deserializer=simulator__pb2.ListModelsRequest.FromString,
                    response_serializer=simulator__pb2.ListModelsResponse.SerializeToString,
            ),
            'GetModel': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModel,
                    request_deserializer=simulator__pb2.GetModelRequest.FromString,
                    response_serializer=simulator__pb2.GetModelResponse.SerializeToString,
            ),
            'DeleteModel': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteModel,
                    request_deserializer=simulator__pb2.DeleteModelRequest.FromString,
                    response_serializer=simulator__pb2.DeleteModelResponse.SerializeToString,
            ),
            'CreateSweep': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSweep,
                    request_deserializer=simulator__pb2.CreateSweepRequest.FromString,
                    response_serializer=simulator__pb2.CreateSweepResponse.SerializeToString,
            ),
            'RunSweep': grpc.unary_unary_rpc_method_handler(
                    servicer.RunSweep,
                    request_deserializer=simulator__pb2.RunSweepRequest.FromString,
                    response_serializer=simulator__pb2.RunSweepResponse.SerializeToString,
            ),
            'GetSweepResults': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSweepResults,
                    request_deserializer=simulator__pb2.GetSweepResultsRequest.FromString,
                    response_serializer=simulator__pb2.GetSweepResultsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'pulsim.api.v1.SimulatorService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('pulsim.api.v1.SimulatorService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class SimulatorService(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def HealthCheck(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/HealthCheck',
            simulator__pb2.HealthCheckRequest.SerializeToString,
            simulator__pb2.HealthCheckResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CreateSession(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/CreateSession',
            simulator__pb2.CreateSessionRequest.SerializeToString,
            simulator__pb2.CreateSessionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListSessions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/ListSessions',
            simulator__pb2.ListSessionsRequest.SerializeToString,
            simulator__pb2.ListSessionsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetSession(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/GetSession',
            simulator__pb2.GetSessionRequest.SerializeToString,
            simulator__pb2.GetSessionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StartSimulation(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/StartSimulation',
            simulator__pb2.StartSimulationRequest.SerializeToString,
            simulator__pb2.StartSimulationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PauseSimulation(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/PauseSimulation',
            simulator__pb2.PauseSimulationRequest.SerializeToString,
            simulator__pb2.PauseSimulationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ResumeSimulation(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/ResumeSimulation',
            simulator__pb2.ResumeSimulationRequest.SerializeToString,
            simulator__pb2.ResumeSimulationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StopSimulation(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/StopSimulation',
            simulator__pb2.StopSimulationRequest.SerializeToString,
            simulator__pb2.StopSimulationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StreamWaveforms(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/StreamWaveforms',
            simulator__pb2.StreamWaveformsRequest.SerializeToString,
            simulator__pb2.WaveformStreamResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetResult(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/GetResult',
            simulator__pb2.GetResultRequest.SerializeToString,
            simulator__pb2.GetResultResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DownloadResult(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/DownloadResult',
            simulator__pb2.DownloadResultRequest.SerializeToString,
            simulator__pb2.DownloadResultResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def UploadModel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/UploadModel',
            simulator__pb2.UploadModelRequest.SerializeToString,
            simulator__pb2.UploadModelResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListModels(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/ListModels',
            simulator__pb2.ListModelsRequest.SerializeToString,
            simulator__pb2.ListModelsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetModel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/GetModel',
            simulator__pb2.GetModelRequest.SerializeToString,
            simulator__pb2.GetModelResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DeleteModel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/DeleteModel',
            simulator__pb2.DeleteModelRequest.SerializeToString,
            simulator__pb2.DeleteModelResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CreateSweep(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/CreateSweep',
            simulator__pb2.CreateSweepRequest.SerializeToString,
            simulator__pb2.CreateSweepResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def RunSweep(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/RunSweep',
            simulator__pb2.RunSweepRequest.SerializeToString,
            simulator__pb2.RunSweepResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetSweepResults(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/pulsim.api.v1.SimulatorService/GetSweepResults',
            simulator__pb2.GetSweepResultsRequest.SerializeToString,
            simulator__pb2.GetSweepResultsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
