From 918594f322294d2a1d513521ff77be4badbfa243 Mon Sep 17 00:00:00 2001 From: dentinyhao Date: Fri, 7 Aug 2026 17:36:56 -0700 Subject: [PATCH] Upgrade all packages --- .github/ISSUE_TEMPLATE/bug_report.yml | 4 +++- .github/workflows/release.yml | 10 +++++----- CHANGELOG.md | 3 +++ CONTRIBUTING.md | 4 ++-- README.md | 23 ++++++++++++----------- backend/constraints-0.36.0.txt | 4 ++++ backend/pyproject.toml | 13 +++++++------ backend/requirements.txt | 4 ++-- docker/Dockerfile | 4 ++-- 9 files changed, 40 insertions(+), 29 deletions(-) create mode 100644 backend/constraints-0.36.0.txt diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 206f3ed..33695c2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -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" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1ab73f3..18c04fc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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 @@ -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 @@ -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 diff --git a/CHANGELOG.md b/CHANGELOG.md index 244bde9..fce00d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7c620cc..7f6b756 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 diff --git a/README.md b/README.md index ee8248d..bea0d4f 100644 --- a/README.md +++ b/README.md @@ -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) @@ -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)** @@ -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** @@ -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 | @@ -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 @@ -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: @@ -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`) | @@ -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 @@ -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 ``` @@ -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 diff --git a/backend/constraints-0.36.0.txt b/backend/constraints-0.36.0.txt new file mode 100644 index 0000000..0163dc2 --- /dev/null +++ b/backend/constraints-0.36.0.txt @@ -0,0 +1,4 @@ +# Constraints for lancedb 0.36.0 +lancedb==0.36.0 +numpy>=2,<3 +pyarrow>=25,<26 diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 107b80d..9b8fd7b 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -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" \ No newline at end of file +requires = ["setuptools>=83.0.0", "wheel>=0.47.0"] +build-backend = "setuptools.build_meta" diff --git a/backend/requirements.txt b/backend/requirements.txt index b45ea64..2107e43 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -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 \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index db06ce4..1660fa9 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -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 @@ -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"