This month we added new AI provider integrations, extended video support across the board, and shipped a batch of quality-of-life improvements for querying, metadata, and deployment. Here's what landed across 54 merged PRs and 4 releases. You can find the details in the full changelog.
New integrations#
We added Jina AI for embeddings and reranking, bringing another strong option for semantic search and retrieval pipelines. Set your API key and point an embedding index at a Jina model. Everything else works the same way.
We also added a Microsoft Fabric integration with fabric.chat_completions() and fabric.embeddings(). If you work inside Fabric notebooks, Pixeltable auto-discovers your Azure OpenAI endpoints and handles token auth automatically, no API keys needed.
AWS Bedrock picked up API key authentication alongside IAM, so getting started is simpler in more environments.
Jina AI docs · Fabric docs · Bedrock docs · #1029 · #1109 · #1146
Video support for Gemini and VoyageAI#
Gemini's generate_content now accepts video inputs alongside text and images, and VoyageAI embeddings gained video support for multimodal search. We also added a crop() function for videos that trims to a bounding box region, useful for focusing on detected objects or areas of interest.
Pagination#
Queries now support an offset parameter alongside limit(), so you can page through results naturally. This makes it straightforward to build "load more" or paginated interfaces on top of Pixeltable queries.
Column metadata and discoverability#
Columns can now carry a comment and arbitrary custom_metadata. When you run t.describe(), you'll also see a new "source" field showing where each column comes from: base table, computed, iterator, or view. Together these make larger tables much easier to navigate and document.
Load data from anywhere#
You can now create tables directly from JSON, Parquet, or CSV files at HTTP URLs or blob store URIs (S3, GCS, Azure). No need to download files locally first. On the export side, export_parquet() now handles ragged arrays (where each row can have a different-length list), so you can round-trip more data shapes without workarounds.
FastAPI-compatible deployment#
Pixeltable now supports multi-threaded API calls via a thread pool, enabling concurrent interactions from multiple threads simultaneously. We also added compatibility with uvloop, the high-performance event loop FastAPI uses by default, making it straightforward to deploy Pixeltable behind a FastAPI service and handle concurrent requests. We updated the deployment docs with practical guidance on thread safety, sync endpoints, and serving with FastAPI.
Deployment cheatsheet · #1155 · #1164
Agentic patterns cookbook#
A new cookbook walks through implementing common agent patterns: prompt chaining, routing, parallelization, tool use, evaluator-optimizer, and orchestrator-worker, with all agent state and history living in Pixeltable tables.
Agentic patterns cookbook · #1141
Easier custom iterators and more#
Defining custom iterators is easier than ever with the new @pxt.iterator decorator, which replaces the older ComponentIterator base class with a cleaner interface. We also added a json_dump() UDF for serializing data to JSON strings, fixed video splitter edge cases, and shipped compatibility updates for Pandas 3.0 and Transformers 5.
Iterator docs · #1111 · #1145 · #1131 · #1133 · #1112 · #1113
For the complete version-by-version breakdown, check out the docs changelog or GitHub compare view.
You can also:
- Browse the full changelog
- Explore public datasets
- Join our Discord community
- Watch tutorials on YouTube
Happy building!
— The Pixeltable Team
