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
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
packages: write
strategy:
matrix:
lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3", "0.29.2"]
lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3", "0.29.2", "0.33.0"]

steps:
- name: Checkout repository
Expand Down Expand Up @@ -50,10 +50,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.29.2' && startsWith(github.ref, 'refs/tags/') }}
type=semver,pattern=v{{version}},enable=${{ matrix.lancedb == '0.33.0' && startsWith(github.ref, 'refs/tags/') }}
type=raw,value=lancedb-${{ matrix.lancedb }}
type=raw,value=latest,enable=${{ matrix.lancedb == '0.29.2' && github.ref == 'refs/heads/main' }}
type=raw,value=stable,enable=${{ matrix.lancedb == '0.29.2' && startsWith(github.ref, 'refs/tags/') }}
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/') }}

- name: Build and push Docker image
uses: docker/build-push-action@v5
Expand All @@ -74,7 +74,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"]
lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3", "0.29.2", "0.33.0"]
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### Added
- LanceDB 0.33.0 support with a matching container image tag. 0.33.0 is now the recommended version and carries the `latest`, `stable`, and `v{version}` tags (#53).
- API endpoint test suite (pytest + FastAPI TestClient) covering all six endpoints, pagination, column filtering, value serialization, and corrupted-dataset handling. The CI test job now runs it against every supported Lance version (#28).

### Fixed
Expand Down
27 changes: 14 additions & 13 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 six LanceDB versions, so you can pick the one that matches your data format.
Images are published for seven 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 six LanceDB versions, so you can pick the one that matc

```bash
# Modern stable version (recommended for new projects)
docker pull ghcr.io/lance-format/lance-data-viewer:lancedb-0.29.2
docker pull ghcr.io/lance-format/lance-data-viewer:lancedb-0.33.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.29.2
ghcr.io/lance-format/lance-data-viewer:lancedb-0.33.0
```

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

| Container Tag | Lance Version | PyArrow | Use Case |
|--------------|---------------|---------|----------|
| `lancedb-0.29.2` | 0.29.2 | >=16, <22 | **Recommended** - Latest stable version |
| `lancedb-0.24.3` | 0.24.3 | 21.0.0 | Modern stable version |
| `lancedb-0.33.0` | 0.33.0 | >=16, <25 | **Recommended** - Latest 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 |
| `lancedb-0.5` | 0.5.0 | 14.0.1 | Legacy support |
| `lancedb-0.3.4` | 0.3.4 | 14.0.1 | Legacy support |
Expand All @@ -71,7 +72,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.29.2` and if you get compatibility errors, try progressively older versions.
**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.

### Features

Expand Down Expand Up @@ -99,7 +100,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.29.2
image: ghcr.io/lance-format/lance-data-viewer:lancedb-0.33.0
environment:
DATA_PATH: /data
volumes:
Expand All @@ -116,7 +117,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.29.2`) |
| `lancedb-{version}` | Latest build for that Lance version (e.g. `lancedb-0.33.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 @@ -125,9 +126,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.29.2)
# Build with specific Lance version (default: 0.33.0)
docker build -f docker/Dockerfile \
--build-arg LANCEDB_VERSION=0.29.2 \
--build-arg LANCEDB_VERSION=0.33.0 \
-t lance-data-viewer:dev .

# Build multiple versions for testing
Expand Down Expand Up @@ -155,13 +156,13 @@ 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.29.2.txt -r backend/requirements.txt
pip install -c backend/constraints-0.33.0.txt -r backend/requirements.txt
pip install pytest "httpx<0.28"
cd backend && python -m pytest tests/ -v
```

Swap the constraints file to test against a different Lance version. CI runs
the suite against all six.
the suite against every supported version.

### Development workflow

Expand All @@ -171,7 +172,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.29.2 \
--build-arg LANCEDB_VERSION=0.33.0 \
-t lance-data-viewer:dev .

# Run in background
Expand Down
3 changes: 3 additions & 0 deletions backend/constraints-0.33.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Constraints for lancedb 0.33.0
lancedb==0.33.0
pyarrow>=16,<25
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.29.2
ARG LANCEDB_VERSION=0.33.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.29.2
ARG LANCEDB_VERSION=0.33.0
ARG APP_VERSION=0.0.0-dev

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