为 Lance Namespace 贡献¶
Lance Namespace 代码库位于 lancedb/lance-namespace。
仓库结构¶
组件 | 语言 | 路径 | 描述 |
---|---|---|---|
规范 | docs/src/spec | Lance Namespace 规范 | |
Rust Reqwest 客户端 | Rust | rust/lance-namespace-reqwest-client | 为 Lance REST Namespace 生成的 Rust reqwest 客户端 |
Rust Lance Namespace 核心 | Rust | rust/lance-namespace | Lance Namespace Rust 核心 SDK |
Python UrlLib3 客户端 | Python | python/lance_namespace_urllib3_client | 为 Lance REST Namespace 生成的 Python urllib3 客户端 |
Python Lance Namespace 核心 | Python | python/lance_namespace | Lance Namespace Python 核心 SDK |
Java Apache 客户端 | Java | java/lance-namespace-apache-client | 为 Lance REST Namespace 生成的 Java Apache HTTP 客户端 |
Java Springboot 服务器 | Java | java/lance-namespace-springboot-server | 为 Lance REST Namespace 生成的 Java SpringBoot 服务器 |
Java Lance Namespace 核心 | Java | java/lance-namespace-core | Lance Namespace Java 核心 SDK |
Java Lance Namespace 适配器 | Java | java/lance-namespace-adaptor | Lance Namespace 适配器服务器实现 |
Java Lance Namespace Hive | Java | java/lance-namespace-hive | Java Lance Namespace Apache Hive Metastore 实现 |
Java Lance Namespace Glue | Java | java/lance-namespace-glue | Java Lance Namespace AWS Glue Data Catalog 实现 |
Java Lance Namespace LanceDB | Java | java/lance-namespace-lancedb | 与 LanceDB Cloud & Enterprise 一起使用 Lance Namespace SDK 的 Java 工具 |
安装 uv¶
我们使用 uv 进行开发。确保已安装,然后运行
代码检查¶
为确保 OpenAPI 定义有效,您可以使用 lint 命令进行检查。
构建¶
顶级和每个语言文件夹中都有 3 个可用命令
make clean
: 删除所有代码生成模块make gen
: 生成并检查所有模块(取决于clean
)make build
: 构建所有模块(取决于gen
)
您还可以运行 make <command>-<language>
,只在特定语言中运行命令,例如
make gen-python
: 生成并检查所有 Python 模块make build-rust
: 构建所有 Rust 模块
您还可以在语言文件夹中运行 make <command>-<language>-<module>
,针对特定模块运行命令,例如
make gen-rust-reqwest-client
: 生成并检查 Rust reqwest 客户端模块make build-java-springboot-server
: 构建 Java Spring Boot 服务器模块
文档¶
设置¶
文档网站使用 mkdocs-material 构建。启动服务器:
从 OpenAPI 规范生成文档¶
docs/src/rest.yaml
中的 OpenAPI 规范经过消化并生成 Markdown 文档,以提高可读性。生成最新文档:
了解构建过程¶
lance-namespace/docs
中的内容是为了方便贡献者编辑和预览。代码合并后,内容在 Lance 文档 CI 构建期间添加到 主 Lance 文档,并在 Lance 网站的 Lance Namespace 规范下展示。
CONTRIBUTING.md 文档会自动构建到 Lance 贡献指南
发布流程¶
本节描述了用于自动化版本管理、发布和发布的 CI/CD 工作流程。
版本方案¶
- 稳定版本:
X.Y.Z
(例如,1.2.3) - 预览版本:
X.Y.Z-beta.N
(例如,1.2.3-beta.1)
创建发布¶
- 创建发布草稿
- 转到 Actions → "Create Release"
- 选择参数
- 发布类型 (major/minor/patch)
- 发布渠道 (stable/preview)
- 空运行 (不推送地测试)
-
运行工作流程 (创建草稿发布)
-
审查和发布
- 转到发布页面审查草稿
- 根据需要编辑发布说明
- 点击 "Publish release" 以
- 对于稳定版本:触发 Java、Python、Rust 的自动发布
- 对于预览版本:创建测试版发布(未发布)