Contributing to Lance Namespace¶
Repository structure¶
| Component | Language | Path | Description |
|---|---|---|---|
| spec | docs/src/spec | Lance Namespace Specification | |
| Rust Reqwest Client | Rust | rust/lance-namespace-reqwest-client | Generated Rust reqwest client for Lance REST Namespace |
| Python UrlLib3 Client | Python | python/lance_namespace_urllib3_client | Generated Python urllib3 client for Lance REST Namespace |
| Python Lance Namespace Core | Python | python/lance_namespace | Lance Namespace Python Core SDK |
| Java Apache Client | Java | java/lance-namespace-apache-client | Generated Java Apache HTTP client for Lance REST Namespace |
| Java Springboot Server | Java | java/lance-namespace-springboot-server | Generated Java SpringBoot server for Lance REST Namespace |
| Java Lance Namespace Core | Java | java/lance-namespace-core | Lance Namespace Java Core SDK |
| Java Lance Namespace Adapter | Java | java/lance-namespace-adaptor | Lance Namespace adapter server implementation |
| Java Lance Namespace Hive | Java | java/lance-namespace-hive | Java Lance Namespace Apache Hive Metastore Implementation |
| Java Lance Namespace Glue | Java | java/lance-namespace-glue | Java Lance Namespace AWS Glue Data Catalog Implementation |
| Java Lance Namespace LanceDB | Java | java/lance-namespace-lancedb | Java Utilities to use Lance Namespace SDK with LanceDB Cloud & Enterprise |
Install uv¶
We use uv for development. Make sure it is installed, and run:
Lint¶
To ensure the OpenAPI definition is valid, you can use the lint command to check it.
Build¶
There are 3 commands that is available at top level as well as inside each language folder:
make clean: remove all codegen modulesmake gen: codegen and lint all modules (depends onclean)make build: build all modules (depends ongen)
You can also run make <command>-<language> to only run the command in the specific language, for example:
make gen-python: codegen and lint all Python modulesmake build-rust: build all Rust modules
You can also run make <command>-<language>-<module> inside a language folder to run the command against a specific module, for example:
make gen-rust-reqwest-client: codegen and lint the Rust reqwest client modulemake build-java-springboot-server: build the Java Spring Boot server module