---
title: "Pixeltable May/June 2026 Release Highlights"
date: "2026-06-13"
author: "Pixeltable Team"
tags:
  - Release
  - Pixeltable
  - Changelog
  - CLI
  - Dashboard
  - vLLM
  - Iceberg
  - Gemini
  - Production AI
description: "Highlights from Pixeltable's May and June release cycle through v0.6.5: operate and inspect multimodal pipelines from the CLI and local dashboard, harden production serving, run vLLM locally, and export curated tables to Apache Iceberg."
url: "https://pixeltable.com/blog/pixeltable-may-june-2026-release-highlights"
---

# Pixeltable May/June 2026 Release Highlights

We're happy to share the May and June Pixeltable release cycle, covering v0.6.1 through v0.6.5. Pixeltable lets developers build multimodal AI apps in Python with tables that store data, run model calls, transform media, and index embeddings.

 
You can upgrade with:

 
```bash
pip install -U pixeltable
```

 
May and June brought 84 merged PRs across 5 releases, continuing the pace of 2026 so far.

 
This post pulls out the highlights from that cycle. For May and June, we focused those highlights around operating and inspecting multimodal pipelines: the point where you need to debug failed computed columns, browse lineage visually, serve endpoints under concurrent load, run self-hosted models at throughput, and hand curated results to an analytics stack.

 
The release adds more ways to keep that work visible and reliable: a first-class CLI and local dashboard, production hardening for threaded serving, vLLM integration, Iceberg export, and clearer typed metadata on media columns.

 
You can see a full list of changes in the [Pixeltable changelog](https://docs.pixeltable.com/changelog/changelog) or the [GitHub compare view](https://github.com/pixeltable/pixeltable/compare/v0.6.0...v0.6.5).

 
## Agent-friendly CLI and local dashboard

 
April introduced the initial `pxt` CLI. May and June made it the primary way to operate a catalog day to day—and paired it with a local web dashboard served by the same daemon.

 
From the terminal, you can list directories, inspect schemas, peek at rows, find computation errors, roll back versions, and emit machine-readable JSON for scripts and coding agents. See our dedicated [CLI guide](/blog/pixeltable-cli-operate-catalog-from-terminal) for the full walkthrough.

 
```bash
pxt ls
pxt describe myapp/documents
pxt head myapp/documents --limit 5
pxt errors myapp/documents --json
pxt dashboard
```

 
`pxt dashboard` opens a read-only inspector at `http://localhost:22089`. Browse the catalog tree, filter to error rows only, preview images and video inline, explore column lineage, and download CSV—all without writing a custom admin UI. Mutations still happen through the Python SDK or CLI; the dashboard is for visual debugging and sharing pipeline state with teammates.

 
Sources: [CLI docs](https://docs.pixeltable.com/platform/cli) · [Dashboard docs](https://docs.pixeltable.com/platform/dashboard) · [Operate your catalog from the terminal](/blog/pixeltable-cli-operate-catalog-from-terminal) · [Local dashboard tutorial](/blog/pixeltable-local-dashboard-browse-debug-pipelines) · [#1333](https://github.com/pixeltable/pixeltable/pull/1333) · [#1224](https://github.com/pixeltable/pixeltable/pull/1224)

 
## Production serving hardening

 
Multimodal apps often expose tables through HTTP—insert endpoints, retrieval queries, or both. May and June focused on making that path safe under concurrent load.

 
`Table` is now thread-safe, the catalog supports parameterized `@pxt.query` functions with plan caching, and the database layer switched to read-committed isolation. Together these changes help FastAPI services handle parallel requests without duplicate route registration or stale query plans.

 
```python
import pixeltable as pxt

@pxt.query
def search(query: str, limit: int = 10):
 chunks = pxt.get_table('rag.chunks')
 sim = chunks.text.similarity(string=query)
 return chunks.order_by(sim, asc=False).limit(limit)
```

 
For local HTTP, declare `FastAPIRouter` routes in `app.py` and run them with `pxt service update`. In this release window, `FastAPIRouter` gained duplicate-route guards and additional lifecycle methods.

 
Sources: [HTTP Serving guide](https://docs.pixeltable.com/howto/deployment/serving) · [@pxt.query patterns](/blog/reusable-query-patterns-pxt-query) · [#1328](https://github.com/pixeltable/pixeltable/pull/1328) · [#1372](https://github.com/pixeltable/pixeltable/pull/1372) · [#1335](https://github.com/pixeltable/pixeltable/pull/1335) · [#1371](https://github.com/pixeltable/pixeltable/pull/1371)

 
## vLLM integration and Iceberg export

 
Two May/June additions extend where Pixeltable fits in a larger stack: self-hosted inference on one side, lakehouse analytics on the other.

 
**vLLM** brings high-throughput local LLM inference into computed columns. Point a column at a HuggingFace model identifier and vLLM handles batching and GPU utilization—useful when cloud API costs or data residency rules push inference on-prem. See our [vLLM integration guide](/blog/vllm-high-throughput-local-inference-pixeltable) for setup and when to choose vLLM over Ollama or cloud providers.

 
```python
from pixeltable.functions.vllm import chat_completions

t.add_computed_column(
 result=chat_completions(
 t.messages,
 model='Qwen/Qwen2.5-0.5B-Instruct',
 sampling_params={'max_tokens': 256, 'temperature': 0.7},
 )
)
```

 
**`export_iceberg()`** streams a table or query result into an Apache Iceberg table via PyArrow batches. Process multimodal data in Pixeltable, then export curated tabular columns to Spark, DuckDB, Snowflake, or any Iceberg-compatible engine. Our [Iceberg export guide](/blog/export-iceberg-lakehouse-bridge-pixeltable) walks through the pattern; a dedicated cookbook is on the way.

 
Sources: [vLLM SDK docs](https://docs.pixeltable.com/sdk/latest/vllm) · [I/O SDK docs](https://docs.pixeltable.com/sdk/latest/io) · [#1385](https://github.com/pixeltable/pixeltable/pull/1385) · [#1301](https://github.com/pixeltable/pixeltable/pull/1301)

 
## Gemini updates and typed media metadata

 
Google discontinued Gemini 2.0 models in this cycle. Pixeltable examples and tests now target Gemini 2.5; if you still reference `gemini-2.0-flash` in computed columns, update model strings and re-run affected rows. Our [Gemini integration guide](/blog/working-with-gemini) covers current model names.

 
May also added Nano Banana image generation support in the Gemini integration, giving another path for image creation inside table-based workflows.

 
On the typing side, `image.get_metadata()`, `audio.get_metadata()`, and `video.get_metadata()` now return structured TypedDict schemas, and OpenAI image, audio, and moderation UDFs return typed JSON. That makes IDE autocomplete and validation work on duration, codec, and EXIF fields you used to parse by hand.

 
```python
from pixeltable.functions.gemini import transcribe

audio.add_computed_column(
 transcript=transcribe(
 audio.file,
 model='gemini-2.5-flash',
 )
)
```

 
Sources: [Gemini SDK docs](https://docs.pixeltable.com/sdk/latest/gemini) · [Working with Gemini](/blog/working-with-gemini) · [#1332](https://github.com/pixeltable/pixeltable/pull/1332) · [#1312](https://github.com/pixeltable/pixeltable/pull/1312) · [#1393](https://github.com/pixeltable/pixeltable/pull/1393) · [#1368](https://github.com/pixeltable/pixeltable/pull/1368) · [#1295](https://github.com/pixeltable/pixeltable/pull/1295)

 
## Smaller fixes that show up in real apps

 
Some May and June fixes are less visible than a new UDF, but they show up quickly once you rerun the same workflow:

 

 - Cloudflare R2 can serve as your home bucket for computed media destinations.

 - TwelveLabs async file uploads speed up large video embedding workflows.

 - Ollama and LanceDB integrations received compatibility updates.

 - UDFs defined in modules with `from __future__ import annotations` now import correctly.

 - `create_table(..., versioned=False)` adds unversioned tables for high-churn scratch data that does not need time travel.

 

 
Sources: [#1213](https://github.com/pixeltable/pixeltable/pull/1213) · [#1358](https://github.com/pixeltable/pixeltable/pull/1358) · [#1386](https://github.com/pixeltable/pixeltable/pull/1386) · [#1387](https://github.com/pixeltable/pixeltable/pull/1387) · [#1344](https://github.com/pixeltable/pixeltable/pull/1344) · [#1233](https://github.com/pixeltable/pixeltable/pull/1233)

 
## What's next?

 
We published dedicated tutorials for the [local dashboard](/blog/pixeltable-local-dashboard-browse-debug-pipelines), [vLLM integration](/blog/vllm-high-throughput-local-inference-pixeltable), and [Iceberg export](/blog/export-iceberg-lakehouse-bridge-pixeltable). Follow us on [LinkedIn](https://www.linkedin.com/company/pixeltablehq/) and join our [Discord](https://discord.com/invite/QPyqFYx2UN) for cookbook updates and release news.

 
## Acknowledgements

 
A big thank you to everyone who contributed PRs, reviews, tests, docs, and release work for this cycle—including first-time contributor @elfrost.