1 个不稳定版本
0.1.0 | 2024年5月17日 |
---|
#170 在 科学 类别
1MB
16K SLoC
Flyteidl
这是 Flyte 的核心仓库之一。它包含使用 protobuf 消息的 Flyte 语言规范、gRPC 和 Swagger REST 的后端 API 规范。仓库包含多种语言生成的客户端和协议消息结构。除了生成的代码,该仓库还包含 Flyte 后端 API 的 Go 客户端(在 FlyteAdmin 下组织的服务)。
为 Flyteidl 贡献
Flyteidl 工具集
- 运行
make download_tooling
以安装生成器依赖项。
make download_tooling
- 确保本地已安装 Docker。
- 运行
make generate
以生成 FlyteAdmin 服务的所有代码、模拟客户端和文档。
make generate
- 要为文档生成添加新依赖项,修改
doc-requirements.in
并运行
make doc-requirements.txt
文档结构
在 docs
文件夹下,protos 的索引.rst 文件平行排列。所有的 proto 定义都在 protos/flyteidl
,其相应的文档在 protos/docs
。
docs
├── admin
│ ├── admin.rst
│ └── index.rst
├── core
│ ├── core.rst
│ └── index.rst
├── datacatalog
│ ├── datacatalog.rst
│ └── index.rst
├── event
│ ├── event.rst
│ └── index.rst
├── plugins
│ ├── index.rst
│ └── plugins.rst
├── service
│ ├── index.rst
│ └── service.rst
每个在 protos 中的模块在 docs 中都有一个同名的模块。例如:protos/flyteidl/core
在 docs
文件夹下有一个名为 protos/docs/core
的模块,该模块包含相应的索引和文档文件。
生成文档
- 如果需要引入新的模块,请参考
generate_protos.sh
文件中核心文件的结构,该文件有助于从其 proto 文件生成核心文档。
core_proto_files=`ls protos/flyteidl/core/*.proto |xargs`
# Remove any currently generated file
ls -d protos/docs/core/* | grep -v index.rst | xargs rm
protoc --doc_out=protos/docs/core --doc_opt=restructuredtext,core.rst -I=protos `echo $core_proto_files`
-
make generate
生成修改后的 rst 文件。 -
make html
从使用修改后的 rst 文件的 docs 文件夹生成 Sphinx 文档。
依赖关系
~4-6MB
~100K SLoC