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

import btrdb.grpcinterface.btrdb_pb2 as btrdb__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.RawValues = channel.unary_stream(
                '/v5api.BTrDB/RawValues',
                request_serializer=btrdb__pb2.RawValuesParams.SerializeToString,
                response_deserializer=btrdb__pb2.RawValuesResponse.FromString,
                )
        self.ArrowRawValues = channel.unary_stream(
                '/v5api.BTrDB/ArrowRawValues',
                request_serializer=btrdb__pb2.ArrowRawValuesParams.SerializeToString,
                response_deserializer=btrdb__pb2.ArrowRawValuesResponse.FromString,
                )
        self.ArrowMultiValues = channel.unary_stream(
                '/v5api.BTrDB/ArrowMultiValues',
                request_serializer=btrdb__pb2.ArrowMultiValuesParams.SerializeToString,
                response_deserializer=btrdb__pb2.ArrowMultiValuesResponse.FromString,
                )
        self.AlignedWindows = channel.unary_stream(
                '/v5api.BTrDB/AlignedWindows',
                request_serializer=btrdb__pb2.AlignedWindowsParams.SerializeToString,
                response_deserializer=btrdb__pb2.AlignedWindowsResponse.FromString,
                )
        self.ArrowAlignedWindows = channel.unary_stream(
                '/v5api.BTrDB/ArrowAlignedWindows',
                request_serializer=btrdb__pb2.AlignedWindowsParams.SerializeToString,
                response_deserializer=btrdb__pb2.ArrowAlignedWindowsResponse.FromString,
                )
        self.Windows = channel.unary_stream(
                '/v5api.BTrDB/Windows',
                request_serializer=btrdb__pb2.WindowsParams.SerializeToString,
                response_deserializer=btrdb__pb2.WindowsResponse.FromString,
                )
        self.ArrowWindows = channel.unary_stream(
                '/v5api.BTrDB/ArrowWindows',
                request_serializer=btrdb__pb2.WindowsParams.SerializeToString,
                response_deserializer=btrdb__pb2.ArrowWindowsResponse.FromString,
                )
        self.StreamInfo = channel.unary_unary(
                '/v5api.BTrDB/StreamInfo',
                request_serializer=btrdb__pb2.StreamInfoParams.SerializeToString,
                response_deserializer=btrdb__pb2.StreamInfoResponse.FromString,
                )
        self.SetStreamAnnotations = channel.unary_unary(
                '/v5api.BTrDB/SetStreamAnnotations',
                request_serializer=btrdb__pb2.SetStreamAnnotationsParams.SerializeToString,
                response_deserializer=btrdb__pb2.SetStreamAnnotationsResponse.FromString,
                )
        self.SetStreamTags = channel.unary_unary(
                '/v5api.BTrDB/SetStreamTags',
                request_serializer=btrdb__pb2.SetStreamTagsParams.SerializeToString,
                response_deserializer=btrdb__pb2.SetStreamTagsResponse.FromString,
                )
        self.Create = channel.unary_unary(
                '/v5api.BTrDB/Create',
                request_serializer=btrdb__pb2.CreateParams.SerializeToString,
                response_deserializer=btrdb__pb2.CreateResponse.FromString,
                )
        self.ListCollections = channel.unary_stream(
                '/v5api.BTrDB/ListCollections',
                request_serializer=btrdb__pb2.ListCollectionsParams.SerializeToString,
                response_deserializer=btrdb__pb2.ListCollectionsResponse.FromString,
                )
        self.LookupStreams = channel.unary_stream(
                '/v5api.BTrDB/LookupStreams',
                request_serializer=btrdb__pb2.LookupStreamsParams.SerializeToString,
                response_deserializer=btrdb__pb2.LookupStreamsResponse.FromString,
                )
        self.Nearest = channel.unary_unary(
                '/v5api.BTrDB/Nearest',
                request_serializer=btrdb__pb2.NearestParams.SerializeToString,
                response_deserializer=btrdb__pb2.NearestResponse.FromString,
                )
        self.Changes = channel.unary_stream(
                '/v5api.BTrDB/Changes',
                request_serializer=btrdb__pb2.ChangesParams.SerializeToString,
                response_deserializer=btrdb__pb2.ChangesResponse.FromString,
                )
        self.Insert = channel.unary_unary(
                '/v5api.BTrDB/Insert',
                request_serializer=btrdb__pb2.InsertParams.SerializeToString,
                response_deserializer=btrdb__pb2.InsertResponse.FromString,
                )
        self.ArrowInsert = channel.unary_unary(
                '/v5api.BTrDB/ArrowInsert',
                request_serializer=btrdb__pb2.ArrowInsertParams.SerializeToString,
                response_deserializer=btrdb__pb2.InsertResponse.FromString,
                )
        self.Delete = channel.unary_unary(
                '/v5api.BTrDB/Delete',
                request_serializer=btrdb__pb2.DeleteParams.SerializeToString,
                response_deserializer=btrdb__pb2.DeleteResponse.FromString,
                )
        self.Info = channel.unary_unary(
                '/v5api.BTrDB/Info',
                request_serializer=btrdb__pb2.InfoParams.SerializeToString,
                response_deserializer=btrdb__pb2.InfoResponse.FromString,
                )
        self.FaultInject = channel.unary_unary(
                '/v5api.BTrDB/FaultInject',
                request_serializer=btrdb__pb2.FaultInjectParams.SerializeToString,
                response_deserializer=btrdb__pb2.FaultInjectResponse.FromString,
                )
        self.Flush = channel.unary_unary(
                '/v5api.BTrDB/Flush',
                request_serializer=btrdb__pb2.FlushParams.SerializeToString,
                response_deserializer=btrdb__pb2.FlushResponse.FromString,
                )
        self.Obliterate = channel.unary_unary(
                '/v5api.BTrDB/Obliterate',
                request_serializer=btrdb__pb2.ObliterateParams.SerializeToString,
                response_deserializer=btrdb__pb2.ObliterateResponse.FromString,
                )
        self.GetMetadataUsage = channel.unary_unary(
                '/v5api.BTrDB/GetMetadataUsage',
                request_serializer=btrdb__pb2.MetadataUsageParams.SerializeToString,
                response_deserializer=btrdb__pb2.MetadataUsageResponse.FromString,
                )
        self.GenerateCSV = channel.unary_stream(
                '/v5api.BTrDB/GenerateCSV',
                request_serializer=btrdb__pb2.GenerateCSVParams.SerializeToString,
                response_deserializer=btrdb__pb2.GenerateCSVResponse.FromString,
                )
        self.SQLQuery = channel.unary_stream(
                '/v5api.BTrDB/SQLQuery',
                request_serializer=btrdb__pb2.SQLQueryParams.SerializeToString,
                response_deserializer=btrdb__pb2.SQLQueryResponse.FromString,
                )
        self.Subscribe = channel.stream_stream(
                '/v5api.BTrDB/Subscribe',
                request_serializer=btrdb__pb2.SubscriptionUpdate.SerializeToString,
                response_deserializer=btrdb__pb2.SubscriptionResp.FromString,
                )


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

    def RawValues(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 ArrowRawValues(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 ArrowMultiValues(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 AlignedWindows(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 ArrowAlignedWindows(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 Windows(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 ArrowWindows(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 StreamInfo(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 SetStreamAnnotations(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 SetStreamTags(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 Create(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 ListCollections(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 LookupStreams(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 Nearest(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 Changes(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 Insert(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 ArrowInsert(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 Delete(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 Info(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 FaultInject(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 Flush(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 Obliterate(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 GetMetadataUsage(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 GenerateCSV(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 SQLQuery(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 Subscribe(self, request_iterator, context):
        """rpc SetCompactionConfig(SetCompactionConfigParams) returns (SetCompactionConfigResponse);
        rpc GetCompactionConfig(GetCompactionConfigParams) returns (GetCompactionConfigResponse);
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_BTrDBServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'RawValues': grpc.unary_stream_rpc_method_handler(
                    servicer.RawValues,
                    request_deserializer=btrdb__pb2.RawValuesParams.FromString,
                    response_serializer=btrdb__pb2.RawValuesResponse.SerializeToString,
            ),
            'ArrowRawValues': grpc.unary_stream_rpc_method_handler(
                    servicer.ArrowRawValues,
                    request_deserializer=btrdb__pb2.ArrowRawValuesParams.FromString,
                    response_serializer=btrdb__pb2.ArrowRawValuesResponse.SerializeToString,
            ),
            'ArrowMultiValues': grpc.unary_stream_rpc_method_handler(
                    servicer.ArrowMultiValues,
                    request_deserializer=btrdb__pb2.ArrowMultiValuesParams.FromString,
                    response_serializer=btrdb__pb2.ArrowMultiValuesResponse.SerializeToString,
            ),
            'AlignedWindows': grpc.unary_stream_rpc_method_handler(
                    servicer.AlignedWindows,
                    request_deserializer=btrdb__pb2.AlignedWindowsParams.FromString,
                    response_serializer=btrdb__pb2.AlignedWindowsResponse.SerializeToString,
            ),
            'ArrowAlignedWindows': grpc.unary_stream_rpc_method_handler(
                    servicer.ArrowAlignedWindows,
                    request_deserializer=btrdb__pb2.AlignedWindowsParams.FromString,
                    response_serializer=btrdb__pb2.ArrowAlignedWindowsResponse.SerializeToString,
            ),
            'Windows': grpc.unary_stream_rpc_method_handler(
                    servicer.Windows,
                    request_deserializer=btrdb__pb2.WindowsParams.FromString,
                    response_serializer=btrdb__pb2.WindowsResponse.SerializeToString,
            ),
            'ArrowWindows': grpc.unary_stream_rpc_method_handler(
                    servicer.ArrowWindows,
                    request_deserializer=btrdb__pb2.WindowsParams.FromString,
                    response_serializer=btrdb__pb2.ArrowWindowsResponse.SerializeToString,
            ),
            'StreamInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.StreamInfo,
                    request_deserializer=btrdb__pb2.StreamInfoParams.FromString,
                    response_serializer=btrdb__pb2.StreamInfoResponse.SerializeToString,
            ),
            'SetStreamAnnotations': grpc.unary_unary_rpc_method_handler(
                    servicer.SetStreamAnnotations,
                    request_deserializer=btrdb__pb2.SetStreamAnnotationsParams.FromString,
                    response_serializer=btrdb__pb2.SetStreamAnnotationsResponse.SerializeToString,
            ),
            'SetStreamTags': grpc.unary_unary_rpc_method_handler(
                    servicer.SetStreamTags,
                    request_deserializer=btrdb__pb2.SetStreamTagsParams.FromString,
                    response_serializer=btrdb__pb2.SetStreamTagsResponse.SerializeToString,
            ),
            'Create': grpc.unary_unary_rpc_method_handler(
                    servicer.Create,
                    request_deserializer=btrdb__pb2.CreateParams.FromString,
                    response_serializer=btrdb__pb2.CreateResponse.SerializeToString,
            ),
            'ListCollections': grpc.unary_stream_rpc_method_handler(
                    servicer.ListCollections,
                    request_deserializer=btrdb__pb2.ListCollectionsParams.FromString,
                    response_serializer=btrdb__pb2.ListCollectionsResponse.SerializeToString,
            ),
            'LookupStreams': grpc.unary_stream_rpc_method_handler(
                    servicer.LookupStreams,
                    request_deserializer=btrdb__pb2.LookupStreamsParams.FromString,
                    response_serializer=btrdb__pb2.LookupStreamsResponse.SerializeToString,
            ),
            'Nearest': grpc.unary_unary_rpc_method_handler(
                    servicer.Nearest,
                    request_deserializer=btrdb__pb2.NearestParams.FromString,
                    response_serializer=btrdb__pb2.NearestResponse.SerializeToString,
            ),
            'Changes': grpc.unary_stream_rpc_method_handler(
                    servicer.Changes,
                    request_deserializer=btrdb__pb2.ChangesParams.FromString,
                    response_serializer=btrdb__pb2.ChangesResponse.SerializeToString,
            ),
            'Insert': grpc.unary_unary_rpc_method_handler(
                    servicer.Insert,
                    request_deserializer=btrdb__pb2.InsertParams.FromString,
                    response_serializer=btrdb__pb2.InsertResponse.SerializeToString,
            ),
            'ArrowInsert': grpc.unary_unary_rpc_method_handler(
                    servicer.ArrowInsert,
                    request_deserializer=btrdb__pb2.ArrowInsertParams.FromString,
                    response_serializer=btrdb__pb2.InsertResponse.SerializeToString,
            ),
            'Delete': grpc.unary_unary_rpc_method_handler(
                    servicer.Delete,
                    request_deserializer=btrdb__pb2.DeleteParams.FromString,
                    response_serializer=btrdb__pb2.DeleteResponse.SerializeToString,
            ),
            'Info': grpc.unary_unary_rpc_method_handler(
                    servicer.Info,
                    request_deserializer=btrdb__pb2.InfoParams.FromString,
                    response_serializer=btrdb__pb2.InfoResponse.SerializeToString,
            ),
            'FaultInject': grpc.unary_unary_rpc_method_handler(
                    servicer.FaultInject,
                    request_deserializer=btrdb__pb2.FaultInjectParams.FromString,
                    response_serializer=btrdb__pb2.FaultInjectResponse.SerializeToString,
            ),
            'Flush': grpc.unary_unary_rpc_method_handler(
                    servicer.Flush,
                    request_deserializer=btrdb__pb2.FlushParams.FromString,
                    response_serializer=btrdb__pb2.FlushResponse.SerializeToString,
            ),
            'Obliterate': grpc.unary_unary_rpc_method_handler(
                    servicer.Obliterate,
                    request_deserializer=btrdb__pb2.ObliterateParams.FromString,
                    response_serializer=btrdb__pb2.ObliterateResponse.SerializeToString,
            ),
            'GetMetadataUsage': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMetadataUsage,
                    request_deserializer=btrdb__pb2.MetadataUsageParams.FromString,
                    response_serializer=btrdb__pb2.MetadataUsageResponse.SerializeToString,
            ),
            'GenerateCSV': grpc.unary_stream_rpc_method_handler(
                    servicer.GenerateCSV,
                    request_deserializer=btrdb__pb2.GenerateCSVParams.FromString,
                    response_serializer=btrdb__pb2.GenerateCSVResponse.SerializeToString,
            ),
            'SQLQuery': grpc.unary_stream_rpc_method_handler(
                    servicer.SQLQuery,
                    request_deserializer=btrdb__pb2.SQLQueryParams.FromString,
                    response_serializer=btrdb__pb2.SQLQueryResponse.SerializeToString,
            ),
            'Subscribe': grpc.stream_stream_rpc_method_handler(
                    servicer.Subscribe,
                    request_deserializer=btrdb__pb2.SubscriptionUpdate.FromString,
                    response_serializer=btrdb__pb2.SubscriptionResp.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'v5api.BTrDB', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def RawValues(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, '/v5api.BTrDB/RawValues',
            btrdb__pb2.RawValuesParams.SerializeToString,
            btrdb__pb2.RawValuesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ArrowRawValues(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, '/v5api.BTrDB/ArrowRawValues',
            btrdb__pb2.ArrowRawValuesParams.SerializeToString,
            btrdb__pb2.ArrowRawValuesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ArrowMultiValues(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, '/v5api.BTrDB/ArrowMultiValues',
            btrdb__pb2.ArrowMultiValuesParams.SerializeToString,
            btrdb__pb2.ArrowMultiValuesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AlignedWindows(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, '/v5api.BTrDB/AlignedWindows',
            btrdb__pb2.AlignedWindowsParams.SerializeToString,
            btrdb__pb2.AlignedWindowsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ArrowAlignedWindows(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, '/v5api.BTrDB/ArrowAlignedWindows',
            btrdb__pb2.AlignedWindowsParams.SerializeToString,
            btrdb__pb2.ArrowAlignedWindowsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Windows(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, '/v5api.BTrDB/Windows',
            btrdb__pb2.WindowsParams.SerializeToString,
            btrdb__pb2.WindowsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ArrowWindows(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, '/v5api.BTrDB/ArrowWindows',
            btrdb__pb2.WindowsParams.SerializeToString,
            btrdb__pb2.ArrowWindowsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamInfo(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, '/v5api.BTrDB/StreamInfo',
            btrdb__pb2.StreamInfoParams.SerializeToString,
            btrdb__pb2.StreamInfoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetStreamAnnotations(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, '/v5api.BTrDB/SetStreamAnnotations',
            btrdb__pb2.SetStreamAnnotationsParams.SerializeToString,
            btrdb__pb2.SetStreamAnnotationsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetStreamTags(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, '/v5api.BTrDB/SetStreamTags',
            btrdb__pb2.SetStreamTagsParams.SerializeToString,
            btrdb__pb2.SetStreamTagsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Create(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, '/v5api.BTrDB/Create',
            btrdb__pb2.CreateParams.SerializeToString,
            btrdb__pb2.CreateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListCollections(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, '/v5api.BTrDB/ListCollections',
            btrdb__pb2.ListCollectionsParams.SerializeToString,
            btrdb__pb2.ListCollectionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LookupStreams(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, '/v5api.BTrDB/LookupStreams',
            btrdb__pb2.LookupStreamsParams.SerializeToString,
            btrdb__pb2.LookupStreamsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Nearest(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, '/v5api.BTrDB/Nearest',
            btrdb__pb2.NearestParams.SerializeToString,
            btrdb__pb2.NearestResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Changes(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, '/v5api.BTrDB/Changes',
            btrdb__pb2.ChangesParams.SerializeToString,
            btrdb__pb2.ChangesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Insert(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, '/v5api.BTrDB/Insert',
            btrdb__pb2.InsertParams.SerializeToString,
            btrdb__pb2.InsertResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ArrowInsert(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, '/v5api.BTrDB/ArrowInsert',
            btrdb__pb2.ArrowInsertParams.SerializeToString,
            btrdb__pb2.InsertResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Delete(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, '/v5api.BTrDB/Delete',
            btrdb__pb2.DeleteParams.SerializeToString,
            btrdb__pb2.DeleteResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Info(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, '/v5api.BTrDB/Info',
            btrdb__pb2.InfoParams.SerializeToString,
            btrdb__pb2.InfoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FaultInject(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, '/v5api.BTrDB/FaultInject',
            btrdb__pb2.FaultInjectParams.SerializeToString,
            btrdb__pb2.FaultInjectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Flush(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, '/v5api.BTrDB/Flush',
            btrdb__pb2.FlushParams.SerializeToString,
            btrdb__pb2.FlushResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Obliterate(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, '/v5api.BTrDB/Obliterate',
            btrdb__pb2.ObliterateParams.SerializeToString,
            btrdb__pb2.ObliterateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMetadataUsage(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, '/v5api.BTrDB/GetMetadataUsage',
            btrdb__pb2.MetadataUsageParams.SerializeToString,
            btrdb__pb2.MetadataUsageResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GenerateCSV(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, '/v5api.BTrDB/GenerateCSV',
            btrdb__pb2.GenerateCSVParams.SerializeToString,
            btrdb__pb2.GenerateCSVResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SQLQuery(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, '/v5api.BTrDB/SQLQuery',
            btrdb__pb2.SQLQueryParams.SerializeToString,
            btrdb__pb2.SQLQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Subscribe(request_iterator,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.stream_stream(request_iterator, target, '/v5api.BTrDB/Subscribe',
            btrdb__pb2.SubscriptionUpdate.SerializeToString,
            btrdb__pb2.SubscriptionResp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
