Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ body:
label: Container tag
description: Which Lance Data Viewer container are you running?
options:
- "lancedb-0.29.2 (recommended)"
- "lancedb-0.36.0 (recommended)"
- "lancedb-0.33.0"
- "lancedb-0.29.2"
- "lancedb-0.24.3"
- "lancedb-0.16.0"
- "lancedb-0.5"
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
packages: write
strategy:
matrix:
lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3", "0.29.2", "0.33.0"]
lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3", "0.29.2", "0.33.0", "0.36.0"]

steps:
- name: Checkout repository
Expand Down Expand Up @@ -51,10 +51,10 @@ jobs:
type=ref,event=branch,suffix=-lancedb-${{ matrix.lancedb }}
type=ref,event=pr,suffix=-lancedb-${{ matrix.lancedb }}
type=semver,pattern=app-{{version}}_lancedb-${{ matrix.lancedb }}
type=semver,pattern=v{{version}},enable=${{ matrix.lancedb == '0.33.0' && startsWith(github.ref, 'refs/tags/') }}
type=semver,pattern=v{{version}},enable=${{ matrix.lancedb == '0.36.0' && startsWith(github.ref, 'refs/tags/') }}
type=raw,value=lancedb-${{ matrix.lancedb }}
type=raw,value=latest,enable=${{ matrix.lancedb == '0.33.0' && github.ref == 'refs/heads/main' }}
type=raw,value=stable,enable=${{ matrix.lancedb == '0.33.0' && startsWith(github.ref, 'refs/tags/') }}
type=raw,value=latest,enable=${{ matrix.lancedb == '0.36.0' && github.ref == 'refs/heads/main' }}
type=raw,value=stable,enable=${{ matrix.lancedb == '0.36.0' && startsWith(github.ref, 'refs/tags/') }}

# Build the amd64 image and run it before anything is published. The test
# job only exercises the source tree, so this is the first thing that
Expand Down Expand Up @@ -141,7 +141,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3", "0.29.2", "0.33.0"]
lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3", "0.29.2", "0.33.0", "0.36.0"]
steps:
- name: Checkout repository
uses: actions/checkout@v5
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- FastAPI startup logging moved from the deprecated `on_event` decorator to a lifespan context manager (#77).
- Dataset loading now fetches combined schema and column metadata in parallel with row data, reducing four sequential I/O operations to two concurrent requests (#75).
- FastAPI raised from 0.104.1 to 0.141.1, and the test suite moved from httpx to httpx2. The old FastAPI brought starlette 0.27, which passed an argument that httpx had deprecated, so the test instructions had to hold httpx below 0.28. Test runs are now free of deprecation warnings (#81).
- LanceDB 0.36.0 and PyArrow 25 are now supported and recommended. The `latest`, `stable`, and app-version container tags now use this dependency set.
- Uvicorn raised from 0.24.0 to 0.52.1 and python-multipart from 0.0.6 to 0.0.32.
- Python package builds now require setuptools 83 or newer and wheel 0.47 or newer.

### Fixed
- `docker build` no longer fails with "the destination must be a directory and end with a /". `COPY backend/*.py .` needs a trailing slash when it copies more than one file. The classic builder rejected it, the BuildKit builder did not (#62).
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ for new contributors:
## Development Workflow

```bash
# Build with a specific Lance version (default: 0.29.2)
# Build with a specific Lance version (default: 0.36.0)
docker build -f docker/Dockerfile \
--build-arg LANCEDB_VERSION=0.29.2 \
--build-arg LANCEDB_VERSION=0.36.0 \
-t lance-data-viewer:dev .

# Run with your data
Expand Down
23 changes: 12 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Browse Lance tables from your local machine in a simple web UI. No database to set up. Mount a folder and go.

Images are published for seven LanceDB versions, so you can pick the one that matches your data format.
Images are published for eight LanceDB versions, so you can pick the one that matches your data format.

![Lance Data Viewer Screenshot](lance_data_viewer_screenshot.png)

Expand All @@ -12,7 +12,7 @@ Images are published for seven LanceDB versions, so you can pick the one that ma

```bash
# Modern stable version (recommended for new projects)
docker pull ghcr.io/lance-format/lance-data-viewer:lancedb-0.33.0
docker pull ghcr.io/lance-format/lance-data-viewer:lancedb-0.36.0
```

2. **Make your data readable (required)**
Expand All @@ -27,7 +27,7 @@ chmod -R o+rx /path/to/your/lance
```bash
docker run --rm -p 8080:8080 \
-v /path/to/your/lance:/data:ro \
ghcr.io/lance-format/lance-data-viewer:lancedb-0.33.0
ghcr.io/lance-format/lance-data-viewer:lancedb-0.36.0
```

4. **Open the UI**
Expand All @@ -48,7 +48,8 @@ Choose the container that matches your Lance data format:

| Container Tag | Lance Version | PyArrow | Use Case |
|--------------|---------------|---------|----------|
| `lancedb-0.33.0` | 0.33.0 | >=16, <25 | **Recommended** - Latest stable version |
| `lancedb-0.36.0` | 0.36.0 | >=25, <26 | **Recommended** - Latest stable version |
| `lancedb-0.33.0` | 0.33.0 | >=16, <25 | Modern stable version |
| `lancedb-0.29.2` | 0.29.2 | >=16, <22 | Modern stable version |
| `lancedb-0.24.3` | 0.24.3 | >=16, <22 | Modern stable version |
| `lancedb-0.16.0` | 0.16.0 | 16.1.0 | Anchor stable for older datasets |
Expand All @@ -72,7 +73,7 @@ docker run --rm -p 8080:8080 \
ghcr.io/lance-format/lance-data-viewer:lancedb-0.3.4
```

**Tip**: If you're unsure which version to use, start with `lancedb-0.33.0` and if you get compatibility errors, try progressively older versions.
**Tip**: If you're unsure which version to use, start with `lancedb-0.36.0` and if you get compatibility errors, try progressively older versions.

### Features

Expand Down Expand Up @@ -100,7 +101,7 @@ For pipelines or multi-container setups where lance-data-viewer shares a data vo
```yaml
services:
lance-viewer:
image: ghcr.io/lance-format/lance-data-viewer:lancedb-0.33.0
image: ghcr.io/lance-format/lance-data-viewer:lancedb-0.36.0
environment:
DATA_PATH: /data
volumes:
Expand All @@ -117,7 +118,7 @@ All images are on the GitHub Container Registry: `ghcr.io/lance-format/lance-dat

| Tag | Meaning |
|-----|---------|
| `lancedb-{version}` | Latest build for that Lance version (e.g. `lancedb-0.33.0`) |
| `lancedb-{version}` | Latest build for that Lance version (e.g. `lancedb-0.36.0`) |
| `latest` | Latest main-branch build of the recommended Lance version |
| `stable` | Most recent tagged release, recommended Lance version |
| `v{app version}` | Pin to an app release (e.g. `v0.2.0`) |
Expand All @@ -126,9 +127,9 @@ All images are on the GitHub Container Registry: `ghcr.io/lance-format/lance-dat
### Build and test locally

```bash
# Build with specific Lance version (default: 0.33.0)
# Build with specific Lance version (default: 0.36.0)
docker build -f docker/Dockerfile \
--build-arg LANCEDB_VERSION=0.33.0 \
--build-arg LANCEDB_VERSION=0.36.0 \
-t lance-data-viewer:dev .

# Build multiple versions for testing
Expand Down Expand Up @@ -156,7 +157,7 @@ curl "http://localhost:8080/datasets/your-dataset/rows?limit=5"
The API tests run without Docker. With Python 3.11:

```bash
pip install -c backend/constraints-0.33.0.txt -r backend/requirements.txt
pip install -c backend/constraints-0.36.0.txt -r backend/requirements.txt
pip install pytest httpx2
cd backend && python -m pytest tests/ -v
```
Expand All @@ -172,7 +173,7 @@ docker ps -q | xargs docker stop

# Rebuild after code changes (with specific Lance version)
docker build -f docker/Dockerfile \
--build-arg LANCEDB_VERSION=0.33.0 \
--build-arg LANCEDB_VERSION=0.36.0 \
-t lance-data-viewer:dev .

# Run in background
Expand Down
4 changes: 4 additions & 0 deletions backend/constraints-0.36.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Constraints for lancedb 0.36.0
lancedb==0.36.0
numpy>=2,<3
pyarrow>=25,<26
13 changes: 7 additions & 6 deletions backend/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ license = {text = "MIT"}
requires-python = ">=3.11"
dependencies = [
"fastapi==0.141.1",
"uvicorn[standard]==0.24.0",
"lancedb==0.3.4",
"pyarrow==14.0.1",
"python-multipart==0.0.6",
"uvicorn[standard]==0.52.1",
"lancedb==0.36.0",
"numpy==2.4.6",
"pyarrow==25.0.0",
"python-multipart==0.0.32",
]

[build-system]
requires = ["setuptools>=45", "wheel"]
build-backend = "setuptools.build_meta"
requires = ["setuptools>=83.0.0", "wheel>=0.47.0"]
build-backend = "setuptools.build_meta"
4 changes: 2 additions & 2 deletions backend/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
fastapi==0.141.1
uvicorn[standard]==0.24.0
python-multipart==0.0.6
uvicorn[standard]==0.52.1
python-multipart==0.0.32
numpy
lancedb
pyarrow
4 changes: 2 additions & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FROM python:3.11-slim-bookworm AS builder

# Build arguments for Lance version
ARG LANCEDB_VERSION=0.33.0
ARG LANCEDB_VERSION=0.36.0

WORKDIR /build

Expand Down Expand Up @@ -42,7 +42,7 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD curl -fsS http://localhost:${PORT}/healthz || exit 1

# Build arguments for labels (redeclare after FROM)
ARG LANCEDB_VERSION=0.33.0
ARG LANCEDB_VERSION=0.36.0
ARG APP_VERSION=0.0.0-dev

LABEL org.opencontainers.image.title="Lance Data Viewer"
Expand Down