Files
flatbuffers-bigfoot/tests/MyGame/Example/NestedStruct.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

47 lines
1.7 KiB
Python

from __future__ import annotations
import flatbuffers
import numpy as np
import flatbuffers
import typing
from MyGame.Example.NestedStruct import NestedStruct
from MyGame.Example.TestEnum import TestEnum
uoffset: typing.TypeAlias = flatbuffers.number_types.UOffsetTFlags.py_type
class NestedStruct(object):
@classmethod
def SizeOf(cls) -> int: ...
def Init(self, buf: bytes, pos: int) -> None: ...
def A(self, i: int) -> typing.List[int]: ...
def AAsNumpy(self) -> np.ndarray: ...
def ALength(self) -> int: ...
def AIsNone(self) -> bool: ...
def B(self) -> typing.Literal[TestEnum.A, TestEnum.B, TestEnum.C]: ...
def C(self, i: int) -> typing.Literal[TestEnum.A, TestEnum.B, TestEnum.C]: ...
def CAsNumpy(self) -> np.ndarray: ...
def CLength(self) -> int: ...
def CIsNone(self) -> bool: ...
def D(self, i: int) -> typing.List[int]: ...
def DAsNumpy(self) -> np.ndarray: ...
def DLength(self) -> int: ...
def DIsNone(self) -> bool: ...
class NestedStructT(object):
a: typing.List[int]
b: typing.Literal[TestEnum.A, TestEnum.B, TestEnum.C]
c: typing.List[typing.Literal[TestEnum.A, TestEnum.B, TestEnum.C]]
d: typing.List[int]
@classmethod
def InitFromBuf(cls, buf: bytes, pos: int) -> NestedStructT: ...
@classmethod
def InitFromPackedBuf(cls, buf: bytes, pos: int = 0) -> NestedStructT: ...
@classmethod
def InitFromObj(cls, nestedStruct: NestedStruct) -> NestedStructT: ...
def _UnPack(self, nestedStruct: NestedStruct) -> None: ...
def Pack(self, builder: flatbuffers.Builder) -> None: ...
def CreateNestedStruct(builder: flatbuffers.Builder, a: int, b: typing.Literal[TestEnum.A, TestEnum.B, TestEnum.C], c: typing.Literal[TestEnum.A, TestEnum.B, TestEnum.C], d: int) -> uoffset: ...