Support opening a single .lance dataset URI
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 68/100
Research direction
Trace the existing opt-in DATA_PATH location flow, including lancedb.connect and the /datasets result handling. Start with the current database-root behavior, then run or add coverage for local direct .lance paths, object-store URI parsing, invalid and nonexistent locations, unchanged database roots, and the supported LanceDB version matrix; done means a direct dataset returns one table with existing metadata, rows, serialization, errors, and reference support.
Written by the indexing model from the issue text.
Description
Summary
The opt-in location flow added by #84 accepts a LanceDB database root and then lists the tables beneath it. It does not open a URI that points directly at one .lance dataset.
For example, this works as a database location:
s3://bucket/path
└── table.lance
But entering the direct dataset URI below connects at the wrong level and produces an empty table list:
s3://bucket/path/table.lance
PR #71 supported the direct form through a separate pylance API, but that branch was superseded by the current connection flow.
Proposed approach
Extend the existing opt-in location flow instead of adding another API surface:
- Detect when the supplied location identifies a single
.lancedataset. - Split it into the parent LanceDB location and table name.
- Open it with the existing
lancedb.connect(parent)and table-opening code. - Return the identified table as the single
/datasetsresult. - Reuse the existing metadata, rows, serialization, error handling, and main/version/tag/branch reference support.
- Do not add a direct
pylancedependency or separate/dataset/*endpoints. - Keep the location field opt-in through the existing
DATA_PATH=configuration.
Tests
- Local direct
.lancepath. - Object-store URI parsing without rewriting the scheme.
- Database-root behavior remains unchanged.
- Invalid and nonexistent direct locations.
- Full supported LanceDB version matrix.
An object-store integration smoke test against MinIO for the canonical image would be useful if it can remain lightweight.
Related: #12, #71, #84.
- Dominant language
- Python
- Stars
- 65
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lance-format/lance-data-viewer
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
lance-format/lance-data-viewer#89 · 2 comments ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 38/100
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 38/100
All issues in lance-format/lance-data-viewer
Similar issues
-
Use mhctools predictor_required=False for saved-result rescoringPossibly taken @iskandr claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
521xueweihan/HelloGitHub#4051 · 1 comment ·
-
bug documentation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
awslabs/visual-asset-management-system#514 ·
Maintainers usually reply within 1 day
-
backend bug spec:REQ-053
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
nolte/kamerplanter#2547 ·
Maintainers usually reply within 1 day