[gRPC] Update the code generator for Python to produce typed handlers (#8326)

* Move `namer.h` and `idl_namer.h` to `include/codegen` so they can be reused from `grpc` dirqectory.

* [gRPC] Update the Python generator to produce typed handlers and Python stubs if requested.

* [gRPC] Document the newly added compiler flags.
This commit is contained in:
Anton Bobukh
2024-06-18 16:02:57 -07:00
committed by GitHub
parent dafd2f1f29
commit fb9afbafc7
22 changed files with 1177 additions and 665 deletions

View File

@@ -0,0 +1,26 @@
from __future__ import annotations
import flatbuffers
import flatbuffers
import typing
uoffset: typing.TypeAlias = flatbuffers.number_types.UOffsetTFlags.py_type
class HelloRequest(object):
@classmethod
def GetRootAs(cls, buf: bytes, offset: int) -> HelloRequest: ...
@classmethod
def GetRootAsHelloRequest(cls, buf: bytes, offset: int) -> HelloRequest: ...
def Init(self, buf: bytes, pos: int) -> None: ...
def HelloRequestStart(builder: flatbuffers.Builder) -> None: ...
def HelloRequestEnd(builder: flatbuffers.Builder) -> uoffset: ...
class HelloResponse(object):
@classmethod
def GetRootAs(cls, buf: bytes, offset: int) -> HelloResponse: ...
@classmethod
def GetRootAsHelloResponse(cls, buf: bytes, offset: int) -> HelloResponse: ...
def Init(self, buf: bytes, pos: int) -> None: ...
def HelloResponseStart(builder: flatbuffers.Builder) -> None: ...
def HelloResponseEnd(builder: flatbuffers.Builder) -> uoffset: ...