feat: configurable asset preview for columns referencing external URLs/paths
@gordonmurray is already working on this.
Since Apr 6, 2026.
Assessment
This issue has not been assessed yet.
Description
Lance tables often contain references to external assets (image paths, S3 keys, document URLs), but the viewer displays them as plain text. Adding inline previews would make the viewer much more useful for ML/CV workflows where datasets reference images or documents.
Proposed approach: URL template via environment variables
PREVIEW_URL_TEMPLATE=http://minio:9000/my-bucket/{image_key}
PREVIEW_COLUMNS=image_key
PREVIEW_TYPE=image # image | link | iframe
The viewer constructs URLs at render time by substituting {column_name} placeholders with row values, then renders an <img>, <a>, or <iframe> tag.
Why a URL template (not S3 integration):
- Works with any HTTP-accessible storage (MinIO, Nginx, CDN, pre-signed URLs)
- No credentials or SDK dependencies in the viewer
- The viewer stays read-only and stateless
- Extensible to documents, audio, video by changing
PREVIEW_TYPE
Implementation outline:
- Backend: 3 env vars + a
/configendpoint so the frontend knows the preview settings - Frontend: cell renderer checks if column is in
preview_columns, constructs URL, renders preview element withloading="lazy"and thumbnail CSS
This is the largest proposed change so I wanted to get input on the approach before implementing.
- 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 4/5 3-5 days Newbie friendliness 68/100
-
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
All issues in lance-format/lance-data-viewer
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
zach-blumenfeld/aip#13 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
nathanmarlor/foxess_modbus#1287 ·
Maintainers usually reply within 4 days
-
bug good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
OpenLakeForge/openlakeforge#498 ·
Maintainers usually reply within 1 day
-
good first issue hacktoberfest help wanted python
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
pollen-robotics/reachy_mini#1493 ·
Maintainers usually reply within 1 day