{"id":28665529,"url":"https://github.com/lancedb/lance-namespace","last_synced_at":"2025-06-13T13:39:46.974Z","repository":{"id":285024046,"uuid":"956834799","full_name":"lancedb/lance-namespace","owner":"lancedb","description":"Lance Namespace Specification is an open specification on top of the storage-based Lance data format to standardize access to a collection of Lance tables","archived":false,"fork":false,"pushed_at":"2025-05-21T08:10:23.000Z","size":501,"stargazers_count":14,"open_issues_count":13,"forks_count":3,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-21T09:30:58.373Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lancedb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-29T00:13:29.000Z","updated_at":"2025-05-21T08:10:27.000Z","dependencies_parsed_at":"2025-04-17T16:54:48.420Z","dependency_job_id":"460193f7-3dde-4779-9688-b4e2c4ffe2d0","html_url":"https://github.com/lancedb/lance-namespace","commit_stats":null,"previous_names":["lancedb/lancedb-catalog","lancedb/lance-catalog","lancedb/lance-namespace"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lancedb/lance-namespace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lancedb%2Flance-namespace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lancedb%2Flance-namespace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lancedb%2Flance-namespace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lancedb%2Flance-namespace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lancedb","download_url":"https://codeload.github.com/lancedb/lance-namespace/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lancedb%2Flance-namespace/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259654495,"owners_count":22891029,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-13T13:38:44.726Z","updated_at":"2025-06-13T13:39:46.963Z","avatar_url":"https://github.com/lancedb.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lance Namespace Specification\n\n**Lance Namespace Specification** is an open specification on top of the storage-based Lance data format\nto standardize access to a collection of Lance tables (a.k.a. Lance datasets).\nIt describes how a metadata service like Apache Hive MetaStore (HMS), Apache Gravitino, Unity Catalog, etc.\nshould store and use Lance tables, as well as how ML/AI tools and analytics compute engines should integrate with Lance tables.\n\n## Repository structure\n\n| Directory                                                                          | Description                                                |\n|------------------------------------------------------------------------------------|------------------------------------------------------------|\n| [spec](./spec)                                                                     | Lance Namespace Specification                              |\n| [rust/lance-namespace-reqwest-client](./rust/lance-namespace-reqwest-client)       | Generated Rust reqwest client for Lance REST Namespace     |\n| [python/lance_namespace_urllib3_client](./python/lance_namespace_urllib3_client)   | Generated Python urllib3 client for Lance REST Namespace   |\n| [java/lance-namespace-apache-client](./java/lance-namespace-apache-client)         | Generated Java Apache HTTP client for Lance REST Namespace |\n| [java/lance-namespace-springboot-server](./java/lance-namespace-springboot-server) | Generated Java SpringBoot server for Lance REST Namespace  |\n\n## Development Guide\n\n### Install OpenAPI Generator\n\nWe use [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator)\nto generate various clients and servers for the namespace specification.\nWe recommend installing the tool through [pip](https://pypi.org/project/openapi-generator-cli/)\nfor consistent experience across platforms.\nFirst time setup of virtual environment and installation:\n\n```bash\npython3 -m venv .env\nsource .env/bin/activate\npip install -r requirements.txt\n```\n\n### Install Poetry for Python\n\nIf you want to build the entire project, or develop python specifically,\nyou need to install [poetry](https://python-poetry.org/).\nTo quickly install it in your virtual environment:\n\n```bash\npip install -r python/requirements.txt\n```\n\n### Lint\nTo ensure the OpenAPI definition is valid, you can use the lint command to check it.\n\n```bash\nmake lint\n```\n\n### Build\n\nThere are 3 commands that is available at top level as well as inside each language folder:\n\n- `make clean`: remove all codegen modules\n- `make gen`: codegen and lint all modules (depends on `clean`)\n- `make build`: build all modules (depends on `gen`)\n\nYou can also run `make \u003ccommand\u003e-\u003clanguage\u003e` to only run the command in the specific language, for example:\n\n- `make gen-python`: codegen and lint all Python modules\n- `make build-rust`: build all Rust modules\n\nYou can also run `make \u003ccommand\u003e-\u003clanguage\u003e-\u003cmodule\u003e` inside a language folder to run the command against a specific module, for example:\n\n- `make gen-rust-reqwest-client`: codegen and lint the Rust reqwest client module\n- `make build-java-springboot-server`: build the Java Spring Boot server module\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flancedb%2Flance-namespace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flancedb%2Flance-namespace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flancedb%2Flance-namespace/lists"}