Files
flatbuffers/tests/MyGame/Example/ArrayStruct.pyi
Anton Bobukh 3b27f5396e [Python] Generate .pyi stub files when --python-typing is on. (#8312)
* [Python] Generate `.pyi` stub files when `--python-typing` is on.

To support this change, the following modifications were made:

-  added a new option to disable `numpy` helpers generation;
-  added a new flag to control the target Python version:

   `--python-version` can be one of the following:

   - `0.x.x` – compatible with any Python version;
   - `2.x.x` – compatible with Python 2;
   - `3.x.x` – compatible with Python 3.
-  added codegen utilities for Python;
-  added a note that the generated .py file is empty.

* [Python] Update Bazel build rules.

* [Python] Update Bazel build rules.

* [Python] Run buildifier on BUILD.bazel files.

---------

Co-authored-by: Derek Bailey <derekbailey@google.com>
2024-05-29 12:47:29 -07:00

51 lines
1.7 KiB
Python

from __future__ import annotations
import flatbuffers
import numpy as np
import flatbuffers
import typing
from MyGame.Example.ArrayStruct import ArrayStruct
from MyGame.Example.NestedStruct import NestedStruct, NestedStructT
from MyGame.Example.TestEnum import TestEnum
uoffset: typing.TypeAlias = flatbuffers.number_types.UOffsetTFlags.py_type
class ArrayStruct(object):
@classmethod
def SizeOf(cls) -> int: ...
def Init(self, buf: bytes, pos: int) -> None: ...
def A(self) -> float: ...
def B(self, i: int) -> typing.List[int]: ...
def BAsNumpy(self) -> np.ndarray: ...
def BLength(self) -> int: ...
def BIsNone(self) -> bool: ...
def C(self) -> int: ...
def D(self, i: int) -> NestedStruct | None: ...
def DLength(self) -> int: ...
def DIsNone(self) -> bool: ...
def E(self) -> int: ...
def F(self, i: int) -> typing.List[int]: ...
def FAsNumpy(self) -> np.ndarray: ...
def FLength(self) -> int: ...
def FIsNone(self) -> bool: ...
class ArrayStructT(object):
a: float
b: typing.List[int]
c: int
d: typing.List[NestedStructT]
e: int
f: typing.List[int]
@classmethod
def InitFromBuf(cls, buf: bytes, pos: int) -> ArrayStructT: ...
@classmethod
def InitFromPackedBuf(cls, buf: bytes, pos: int = 0) -> ArrayStructT: ...
@classmethod
def InitFromObj(cls, arrayStruct: ArrayStruct) -> ArrayStructT: ...
def _UnPack(self, arrayStruct: ArrayStruct) -> None: ...
def Pack(self, builder: flatbuffers.Builder) -> None: ...
def CreateArrayStruct(builder: flatbuffers.Builder, a: float, b: int, c: int, d_a: int, d_b: typing.Literal[TestEnum.A, TestEnum.B, TestEnum.C], d_c: typing.Literal[TestEnum.A, TestEnum.B, TestEnum.C], d_d: int, e: int, f: int) -> uoffset: ...