# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: io/qualang/api/v1/info_service.proto
# plugin: python-betterproto
from dataclasses import dataclass
from typing import List

import betterproto
import grpclib


@dataclass
class GetInfoRequest(betterproto.Message):
    pass


@dataclass
class GetInfoResponse(betterproto.Message):
    implementation: "ImplementationDetails" = betterproto.message_field(1)
    capabilities: List[str] = betterproto.string_field(2)


@dataclass
class ImplementationDetails(betterproto.Message):
    name: str = betterproto.string_field(1)
    version: str = betterproto.string_field(2)
    url: str = betterproto.string_field(3)


class InfoServiceStub(betterproto.ServiceStub):
    async def get_info(self) -> GetInfoResponse:
        request = GetInfoRequest()

        return await self._unary_unary(
            "/io.qualang.api.v1.InfoService/GetInfo",
            request,
            GetInfoResponse,
        )
