freshcrate
Skin:/
Home > Databases > pixeltable

pixeltable

Data Infrastructure providing a declarative, incremental approach for multimodal AI workloads.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Data Infrastructure providing a declarative, incremental approach for multimodal AI workloads.

README

Pixeltable Logo

The only open source Python library providing declarative, transactional data infrastructure for building multimodal AI applications — with incremental storage, transformation, indexing, retrieval, and orchestration of data, all with full operational integrity.

License PyPI Package Python tests status nightly status stress-tests status Discord

Quick Start | Documentation | API Reference | Starter Kit | AI Coding Skill | Pixeltable Cloud


Installation

pip install pixeltable

Pixeltable bundles its own transactional database, orchestration engine, and local dashboard. No Docker, no external services — pip install is all you need. All data is managed in ~/.pixeltable and accessed through the Python SDK. See Working with External Files and Storage Architecture for details.

Quick Start

Define your data processing and AI workflow declaratively using computed columns on tables. Focus on your logic, not the data plumbing.

pip install pixeltable google-genai torch transformers scenedetect

Set your Gemini API key via environment variable or ~/.pixeltable/config.toml. See Configuration for all provider keys and options.

import pixeltable as pxt
from pixeltable.functions import gemini, huggingface

# 1. Store — structured data + media references, versioned and materialized automatically
videos = pxt.create_table('video_search', {'video': pxt.Video, 'title': pxt.String})

# 2. Orchestrate — computed columns are nodes in the table's DAG; the table is the pipeline
videos.add_computed_column(scenes=videos.video.scene_detect_adaptive())

# 3. AI integration — external API calls with rate limiting, retry, and async parallelism
videos.add_computed_column(
    response=gemini.generate_content(
        [videos.video, 'Describe this video in detail.'], model='gemini-3-flash-preview'
    )
)

# 4. JSON path expressions — extract nested fields with just-in-time typing
videos.add_computed_column(
    description=videos.response.candidates[0].content.parts[0].text
)

# 5. Incremental index maintenance — embedding indexes stay in sync, no ETL pipeline needed
videos.add_embedding_index('video', embedding=gemini.embed_content.using(model='gemini-embedding-2-preview'))

# Insert data — triggers the full pipeline automatically
base_url = 'https://raw.githubusercontent.com/pixeltable/pixeltable/release/docs/resources'
videos.insert([
    {'video': f'{base_url}/bangkok.mp4', 'title': 'Bangkok Street Tour'},
    {'video': f'{base_url}/The-Pursuit-of-Happiness-Video-Extract.mp4', 'title': 'The Pursuit of Happiness'},
])

# 6. Retrieve — structured + unstructured data side by side, with on-the-fly transforms
videos.select(
    videos.video,
    videos.title,
    videos.description,
    detections=huggingface.detr_for_object_detection(
        videos.video.extract_frame(timestamp=2.0),
        model_id='facebook/detr-resnet-50',
    ),
).collect()

# 7. Cross-modal search — find similar videos using a reference image, with filters
sim = videos.video.similarity(image=f'{base_url}/The-Pursuit-of-Happiness-Screenshot.png')
videos.where(videos.description != None).order_by(sim, asc=False).limit(5).collect()

What Pixeltable Does

You Write Pixeltable Does
pxt.Image, pxt.Video, pxt.Document columns Stores media, handles formats, caches from URLs
add_computed_column(fn(...)) Runs incrementally, caches results, retries failures
add_embedding_index(column) Manages vector storage, keeps index in sync
@pxt.udf / @pxt.query Creates reusable functions with dependency tracking
table.insert(...) Triggers all dependent computations automatically
t.sample(5).select(t.text, summary=udf(t.text)) Experiment on a sample — nothing stored, calls parallelized and cached
table.select(...).collect() Returns structured + unstructured data together
(nothing — it's automatic) Versions all data and schema changes for time-travel

That single workflow replaces most of the typical AI stack:

Instead of ... Pixeltable gives you ...
PostgreSQL / MySQL pxt.create_table() — schema is Python, versioned automatically
pgAdmin / Retool.. Built-in local dashboard — auto-launches, zero config
Pinecone / Weaviate / Qdrant add_embedding_index() — one line, stays in sync
S3 / boto3 / blob storage pxt.Image / Video / Audio / Document types with caching; destination='s3://...'
Airflow / Prefect / Celery Computed columns trigger on insert — no orchestrator needed
LangChain / LlamaIndex (RAG) @pxt.query + .similarity() + computed column chaining
pandas / polars (multimodal) .sample(), ephemeral UDFs, then add_computed_column()
DVC / MLflow / W&B Built-in history(), revert(), time travel (table:N), snapshots
Custom retry / rate-limit / caching Built into every AI integration; results cached, only new rows recomputed
Custom ETL / glue code Declarative schema — Pixeltable handles execution, caching, incremental updates

On top of these, Pixeltable ships with built-in functions for media processing (FFmpeg, Pillow, spaCy), embeddings (sentence-transformers, CLIP), and 30+ AI providers (OpenAI, Anthropic, Gemini, Ollama, and more). For anything domain-specific, wrap your own logic with @pxt.udf. You still write the application layer (FastAPI, React, Docker).

Deployment options: Pixeltable can serve as your full backend (managing media locally or syncing with S3/GCS/Azure, plus built-in vector search and orchestration) or as an orchestration layer alongside your existing infrastructure.

Demo

See Pixeltable in action — table creation, computed columns, multimodal processing, and querying in a single workflow:

Pixeltable.2-min.Overview.mp4

Core Capabilities

Store: Unified Multimodal Interface

pxt.Image, pxt.Video, pxt.Audio, pxt.Document, pxt.Json – manage diverse data consistently.

t = pxt.create_table(
    'media',
    {
        'img': pxt.Image,
        'video': pxt.Video,
        'audio': pxt.Audio,
        'document': pxt.Document,
        'metadata': pxt.Json,
    },
)

Type System · Tables & Data

Orchestrate: Declarative Computed Columns

Define processing steps once; they run automatically on new/updated data. Supports API calls (OpenAI, Anthropic, Gemini), local inference (Hugging Face, YOLOX, Whisper), vision models, and any Python logic.

# LLM API call
t.add_computed_column(
    summary=openai.chat_completions(
        messages=[{'role': 'user', 'content': t.text}], model='gpt-4o-mini'
    )
)

# Local model inference
t.add_computed_column(
    classification=huggingface.vit_for_image_classification(t.image)
)

# Vision analysis (multimodal)
t.add_computed_column(
    description=openai.chat_completions(
        messages=[{'role': 'user', 'content': [
            {'type': 'text', 'text': 'Describe this image'},
            {'type': 'image_url', 'image_url': t.image},
        ]}],
        model='gpt-4o-mini'
    )
)

Computed Columns · AI Integrations · Sample App: Prompt Studio

Iterate: Explode & Process Media

Create views with iterators to explode one row into many (video→frames, doc→chunks, audio→segments).

from pixeltable.functions.video import frame_iterator
from pixeltable.functions.document import document_splitter

# Document chunking with overlap & metadata
chunks = pxt.create_view(
    'chunks', docs,
    iterator=document_splitter(
        document=docs.doc,
        separators='sentence,token_limit',
        overlap=50, limit=500
    )
)

# Video frame extraction
frames = pxt.create_view(
    'frames', videos,
    iterator=frame_iterator(video=videos.video, fps=0.5)
)

Views · Iterators · RAG Pipeline

Index: Built-in Vector Search

Add embedding indexes and perform similarity searches directly on tables/views.

t.add_embedding_index(
    'img',
    embedding=clip.using(model_id='openai/clip-vit-base-patch32')
)

sim = t.img.similarity(string='cat playing with yarn')
results = t.order_by(sim, asc=False).limit(10).collect()

Embedding Indexes · Semantic Search · Image Search App

Extend: Bring Your Own Code

Extend Pixeltable with UDFs, reusable queries, batch processing, and custom aggregators.

@pxt.udf
def format_prompt(context: list, question: str) -> str:
    return f'Context: {context}\nQuestion: {question}'

@pxt.query
def search_by_topic(topic: str):
    return t.where(t.category == topic).select(t.title, t.summary)

UDFs Guide · Custom Aggregates

Agents & Tools: Tool Calling & MCP Integration

Register @pxt.udf, @pxt.query functions, or MCP servers as callable tools. LLMs decide which tool to invoke; Pixeltable executes and stores results.

# Load tools from MCP server, UDFs, and query functions
mcp_tools = pxt.mcp_udfs('http://localhost:8000/mcp')
tools = pxt.tools(get_weather_udf, search_context_query, *mcp_tools)

# LLM decides which tool to call; Pixeltable executes it
t.add_computed_column(
    tool_output=invoke_tools(tools, t.llm_tool_choice)
)

Tool Calling Cookbook · Agents & MCP · Pixelbot · Pixelagent

Query & Experiment: The Best Path from Prototype to Production

Unlike pandas/polars, Pixeltable persists everything, parallelizes API calls automatically, caches results, and turns your experiment into production with one line change. No separate notebook → pipeline handoff:

# Explore with a familiar DSL — filter, sample, apply UDFs ephemerally
results = (
    t.where(t.score > 0.8)
    .order_by(t.timestamp)
    .select(t.image, score=t.score)
    .limit(10)
    .collect()
)

# Sample 5 rows and test a UDF — nothing stored, API calls parallelized and cached
t.sample(5).select(t.text, summary=summarize(t.text)).collect()

# Happy? One line to commit — runs on full dataset, skips already-cached rows
t.add_computed_column(summary=summarize(t.text))

Queries & Expressions · Iterative Workflow · Version Control

Version: Data Persistence & Time Travel

All data is automatically stored and versioned. Query any prior version.

t = pxt.get_table('my_table')  # Get a handle to an existing table
t.revert()  # Undo the last modification

t.history()  # Display all prior versions
old_version = pxt.get_table('my_table:472')  # Query a specific version

Version Control · Data Sharing

Inspect: Local Dashboard

Pixeltable ships with a built-in local dashboard that launches automatically when you start a session. Browse tables, inspect schemas, view media with lightbox navigation, visualize your full data pipeline as a DAG, and track computation errors — all from your browser.

import pixeltable as pxt

# Dashboard launches automatically at http://localhost:22089
pxt.init()

# Disable if needed
pxt.init(config_overrides={'start_dashboard': False})
# Or set environment variable: PIXELTABLE_START_DASHBOARD=false

Highlights: Table browser with sorting & filtering · Media preview (images, video, audio) · Column lineage visualization · Pipeline graph · Per-column error tracking · CSV export · Auto-refresh

No extra dependencies. No setup. It's just there.

Import/Export: I/O & Integration

Import from any source and export to ML formats.

# Import from files, URLs, S3, Hugging Face
t.insert(pxt.io.import_csv('data.csv'))
t.insert(pxt.io.import_huggingface_dataset(dataset))

# Export to analytics/ML formats
pxt.io.export_parquet(table, 'data.parquet')
pytorch_ds = table.to_pytorch_dataset('pt')  # → PyTorch DataLoader ready
coco_path = table.to_coco_dataset()          # → COCO annotations

# ML tool integrations
pxt.create_label_studio_project(table, label_config)  # Annotation
pxt.export_images_as_fo_dataset(table, table.image)   # FiftyOne

Data Import · PyTorch Export · Label Studio · Data Wrangling for ML

Tutorials & Cookbooks

Fundamentals Cookbooks Providers Sample Apps
Colab Colab OpenAI GitHub
Colab Colab Anthropic GitHub
Colab Colab Gemini GitHub
Colab Colab Ollama GitHub
Colab Colab DeepSeek Discord
All → All → All providers → All →

External Storage and Pixeltable Cloud

S3 GCS Azure R2 B2 Tigris

Store computed media using the destination parameter on columns, or set defaults globally via PIXELTABLE_OUTPUT_MEDIA_DEST and PIXELTABLE_INPUT_MEDIA_DEST. See Configuration.

Data Sharing: Publish datasets to Pixeltable Cloud for team collaboration or public sharing. Replicate public datasets instantly—no account needed for replication.

import pixeltable as pxt

# Replicate a public dataset (no account required)
coco = pxt.replicate(
    remote_uri='pxt://pixeltable:fiftyone/coco_mini_2017',
    local_path='coco-copy'
)

# Publish your own dataset (requires free account)
pxt.publish(source='my-table', destination_uri='pxt://myorg/my-dataset')

# Store computed media in external cloud storage
t.add_computed_column(
    thumbnail=t.image.resize((256, 256)),
    destination='s3://my-bucket/thumbnails/'
)

Data Sharing Guide | Cloud Storage | Public Datasets

Built with Pixeltable

Project Description
Starter Kit Production-ready FastAPI + React app with deployment configs for Docker, Helm, Terraform (EKS/GKE/AKS), and AWS CDK
Pixelbot Multimodal AI agent, an interactive data studio with on-demand ML inference, media generation, and a database explore
Pixelagent Lightweight agent framework with built-in memory and tool orchestration
Pixelmemory Persistent memory layer for AI applications
Skill AI coding skill for Cursor, Claude Code, Copilot, Windsurf, and other AI IDEs — reduces hallucination and generates accurate Pixeltable code
MCP Server Model Context Protocol server for Claude, Cursor, and other AI IDEs

Contributing

We love contributions! Whether it's reporting bugs, suggesting features, improving documentation, or submitting code changes, please check out our Contributing Guide and join the Discussions or our Discord Server.

License

Pixeltable is licensed under the Apache 2.0 License.

Release History

VersionChangesUrgencyDate
v0.6.4## What's Changed * [PXT-1158][PXT-1162] Fix retargeting to stop creating ghost columns by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1345 * Catalog bug: create view failed to mark base table as modified by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1370 * Rename one of two 'test_uuid.py's by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1369 * Fix an error in test_finalize_pending_ops_non_retriable_error that oc… by @sergeyHigh6/3/2026
v0.6.3## What's Changed * [PXT-1160] skip working-with-fireworks.ipynb in ci by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1350 * docs: relocate submodules, README updates, and nav fixes by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/1348 * [PXT-1159] simplify GroqTest::test_tool_invocations to make it more reliable by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1346 * Improve run_tool_invocations_test by @sergey-mkhitaryan in httpsHigh5/22/2026
v0.6.2## What's Changed * Update 'notebook' dependency to address security vulnerability by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1311 * Add missing skip_test directives to inlined objects tests by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1315 * Disable MPS for CLIP embeddings on Apple Silicon by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1314 * [PXT-1130] fix a pendingtableops corruption bug in catalog by @sergey-mkhitaryan in htHigh5/15/2026
v0.6.1## What's Changed * Update and fix insert docstring by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1307 * PXT-1054 Allow R2 Home Bucket as Destination Blob Storage by @amithadke in https://github.com/pixeltable/pixeltable/pull/1213 * Explicitly install pip in all conda environments in CI by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1309 * fixes for make install with python 3.12+ by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1303 * High5/6/2026
v0.6.0## What's Changed * CI Updates by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1281 * video.py:pan() as an expr_udf by @mkornacker in https://github.com/pixeltable/pixeltable/pull/1284 * [PXT-1072] Drop num_retained_versions by @christopherpestano in https://github.com/pixeltable/pixeltable/pull/1277 * Quality: Module resolution can mask real import errors by @tomaioo in https://github.com/pixeltable/pixeltable/pull/1265 * Upgrade actions/checkout and actions/setup-python to v6High5/1/2026
v0.5.28## What's Changed * [PXT-970 + PXT-1074] Gemini video reference images, TTS, and transcription by @christopherpestano in https://github.com/pixeltable/pixeltable/pull/1221 * Update Mintlify version and fix sidebar ordering in style.css by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1263 * Add `timm` dependency to notebooks by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1266 * Update README: dashboard, skill repo, restructured Quick Start by @pierrebrunelle iHigh4/17/2026
v0.5.27## What's Changed * Don't use 'no_timm' as default revision for detr models by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1256 * Updates for WhisperX 3.8 compatibility by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1255 * Cookbook: Create video slideshow from images by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/1243 * Documentation cleanup: deprecate openai.vision, add missing SDK entries, new provider notebooks by @pierrebrunelle in hHigh4/11/2026
v0.5.26## What's Changed * Fix release bundle specs in pyproject.toml by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1254 **Full Changelog**: https://github.com/pixeltable/pixeltable/compare/v0.5.25...v0.5.26High4/9/2026
v0.5.25## What's Changed * Local UI by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1224 * [PXT-1088] Fix RateLimitsScheduler over-scheduling causing 429 cascades by @christopherpestano in https://github.com/pixeltable/pixeltable/pull/1176 * [PXT-1002] Catalog refactoring in begin_xact by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1225 * get rid of the corrupts_db marker -- we've fixed all issues, and it's… by @sergey-mkhitaryan in https://github.com/pixeltablMedium4/9/2026
v0.5.24## What's Changed * Remove a duplicate select query from Catalog.get_tbl_version by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1214 * PXT-767 Support Array Column as input to add_embedding_index by @amithadke in https://github.com/pixeltable/pixeltable/pull/1096 * Update release script for admin repo by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1220 * [PXT-565] Llama CPP tool call invocation integration by @sergey-mkhitaryan in https://github.com/pixMedium4/2/2026
v0.5.23## What's Changed * Make _runtime_ctx an optional UDF parameter by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1208 * PXT-968: More bounding box udfs by @mkornacker in https://github.com/pixeltable/pixeltable/pull/1204 * PXT-947 Add OpenAI gpt-image-* support and image editing functions by @amithadke in https://github.com/pixeltable/pixeltable/pull/1202 * resize(video: pxt.Video) udf by @mkornacker in https://github.com/pixeltable/pixeltable/pull/1210 * Python 3.14 compatibiliMedium3/23/2026
v0.5.22## What's Changed * fix: add missing _runtime_ctx to embed_content multimodal overloads by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/1207 **Full Changelog**: https://github.com/pixeltable/pixeltable/compare/v0.5.21...v0.5.22Low3/16/2026
v0.5.21## What's Changed * [PXT-1002] Do not convert SQL errors when loading a table version for… by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1170 * Enable cockroach tests by @amithadke in https://github.com/pixeltable/pixeltable/pull/1118 * [PXT-1002] RandomTableOps should ignore the error when creating a vie… by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1172 * Random-ops should exit with a non-zero code on KeyboardInterrupt by @sergey-mkhitaryan inLow3/15/2026
v0.5.20## What's Changed * Perftest to log if it thinks that it's running in CI by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1163 * [PXT-1002] re-enable force replace view in random ops by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1166 * [PXT-1002] Fix table md caching when an insert finalizes view creation by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1138 * Add missing %pip install to custom-iterators.ipynb by @aaron-siegel Low3/3/2026
v0.5.19## What's Changed * Add local docs serving instructions to contributing guide by @apreshill in https://github.com/pixeltable/pixeltable/pull/1054 * TableOp refactoring so that TableVersion is not required for some ops by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1153 * @pxt.iterator decorator by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1111 * Docs: add missing integrations, SDK entries, and cookbook updates for v0.5.11–v0.5.18 by @pierrebrunelle inLow3/1/2026
v0.5.18## What's Changed * misc improvements in the code by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1072 * [PXT-995] improve test migration coverage of literals of various types by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1128 * Twelvelabs notebook update by @apreshill in https://github.com/pixeltable/pixeltable/pull/1117 * [PXT-1040] Temporarily disable twelvelabs nb test by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1140 Low2/24/2026
v0.5.17## What's Changed * Standardize names for runner configs by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1122 * Add Jina AI integration for embeddings and reranking by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/1029 * Add Microsoft Fabric Integration for Azure OpenAI by @pawarbi in https://github.com/pixeltable/pixeltable/pull/1109 * Switch away from gemini-2.0 models by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1115 * PXT-985 AddLow2/10/2026
v0.5.16## What's Changed * PXT-898 Allow Pixeltable API key to change in the environment mid-stream in a Python session by @amithadke in https://github.com/pixeltable/pixeltable/pull/1060 * various runwayml followups by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1095 * Ensure progress bar stops on empty results and plan exit by @amithadke in https://github.com/pixeltable/pixeltable/pull/1097 * Fix exception handling in catalog by @sergey-mkhitaryan in https://github.com/pixeltaLow2/4/2026
v0.5.15## What's Changed * docs: update overview description and callout/footer styling by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/1086 * Fix HF datasets rotten_tomatoes references in tests & notebook by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1089 * Gemini UDFs to use "rate limits" scheduler by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1092 * Allow dict/list config params to be specified as environment variables by @aaron-siegelLow1/29/2026
v0.5.14## What's Changed * Add RunwayML integration with UDFs for image and video generation by @tiennguyentony in https://github.com/pixeltable/pixeltable/pull/1019 * Deployment and Use Cases Docs by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/1043 * Transaction rollback by @mkornacker in https://github.com/pixeltable/pixeltable/pull/1075 * [PXT-972] Bugfix: FrameIterator.set_pos() on videos with start_time > 0 by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1082Low1/24/2026
v0.5.13## What's Changed * rename reset_db fixture to uses_db by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1067 * Use '/' as path delimiter by @amithadke in https://github.com/pixeltable/pixeltable/pull/1055 * Temporarily disable progress reporting when verbosity < 2 by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1079 * Follow up fixes for Path delimiter change by @amithadke in https://github.com/pixeltable/pixeltable/pull/1076 **Full Changelog**: https://Low1/22/2026
v0.5.12## What's Changed * Lint markdown in notebooks by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1033 * Adjust down max connections on OpenAI client by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1058 * [PXT-915] Gemini embedding UDFs by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/986 * PXT-866 Add validation for version in pixeltable uri by @amithadke in https://github.com/pixeltable/pixeltable/pull/1048 * uuid7() udf by @mkorLow1/17/2026
v0.5.11## What's Changed * [PXT-916] Store embedding indexes as halfvecs by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1007 * Add a "read only random ops" stress-tests job by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1047 * Streamline dev installation by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1046 * Add reruns by default to all cockroach test failures by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1053 * PXT-938: eLow1/13/2026
v0.5.10## What's Changed * Adding ipywidgets to dev dependencies by @mkornacker in https://github.com/pixeltable/pixeltable/pull/1027 * Add a seed to TestSample.test_sample_basic_f by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1040 * Twelvelabs notebook by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/1013 * Readme Updates by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/1041 * Proper configurability for spaCy models by @aaron-siegel in httLow1/10/2026
v0.5.9## What's Changed * Bedrock invoke_model() udf by @mkornacker in https://github.com/pixeltable/pixeltable/pull/1018 * [PXT-765] Support for Office Formats as part of Document Type through MarkdownIT by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/960 * HF DetrForSegmentation by @mkornacker in https://github.com/pixeltable/pixeltable/pull/1020 * Image2Image: Updated HF.py to use AutoPipelineForImage2Image and Cookbook by @pierrebrunelle in https://github.com/pixeltable/pixeltaLow12/30/2025
v0.5.8## What's Changed * Use high performance endpoint for Tigris by @apreshill in https://github.com/pixeltable/pixeltable/pull/1011 * Merge Table.add_embedding_index examples by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/1014 * Notebook fixes & some cleanup by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/1010 * Progress tracker by @mkornacker in https://github.com/pixeltable/pixeltable/pull/956 * [PXT-925] Fix spurious exception when `if_not_exists='ignoreLow12/20/2025
v0.5.7## What's Changed * Fix a bug in rag-demo.ipynb by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/996 * Fixes the errant `/datastore/` url in the Reve docstrings by @apreshill in https://github.com/pixeltable/pixeltable/pull/999 * Remove custom-iterators.ipynb from docs for now, and clean up docs.json by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/997 * [PXT-921] Skip test_create_video_table on cockroachdb by @sergey-mkhitaryan in https://github.com/pixeltLow12/18/2025
v0.5.6## What's Changed * [PXT-892] Support variable framerate in FrameIterator by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/961 * [PXT-875] Define GRAFANA_INSTANCE_ID for the perf job by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/989 * [PXT-399] Remove pymupdf as a dependency by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/981 * Docs Cleanup + Cookbooks + Versioning/Lineage + Production for Workshop by @pierrebrunelle in https://gitLow12/15/2025
v0.5.5## What's Changed * Multimodal support for Gemini `generate_content()` by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/983 * PXT-903 Add UUID in pixeltable types by @amithadke in https://github.com/pixeltable/pixeltable/pull/979 * PXT-905/907: clean up handling of Huggingface datasets by @mkornacker in https://github.com/pixeltable/pixeltable/pull/984 * Twelve Labs multimodal embeddings support by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/987 **Full ChanLow12/11/2025
v0.5.4## What's Changed * [PXT-645] Support more numpy dtypes for Array by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/940 * Add working-with-voyageai tutorial notebook by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/978 * StringSplitter docstring fix plus test by @mkornacker in https://github.com/pixeltable/pixeltable/pull/980 * [PXT-875] performance test for openai endpoints by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/963 * RestrLow12/9/2025
v0.5.3## What's Changed * PXT-872 Support count() with sample and group by clause. by @amithadke in https://github.com/pixeltable/pixeltable/pull/955 * Add VOYAGE_API_KEY to CI and configuration.mdx; update uv.lock doctools reference by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/976 * Fal.ai Integration by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/959 **Full Changelog**: https://github.com/pixeltable/pixeltable/compare/v0.5.2...v0.5.3Low12/4/2025
v0.5.2## What's Changed * Use database schemas and search_path for test isolation in parallel runs by @amithadke in https://github.com/pixeltable/pixeltable/pull/953 * Working CI for Cockroach by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/906 * Fix internal documentation links by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/954 * [PXT-886] Fix a bug in RateLimitsScheduler's error handling by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/951 *Low12/3/2025
v0.5.1## What's Changed * Add TableVersionMd.from_dict and update publish to use objects instead of dicts by @amithadke in https://github.com/pixeltable/pixeltable/pull/944 * Publishing existing version returns 201, 204 does not allow any content to be sent back in body. by @amithadke in https://github.com/pixeltable/pixeltable/pull/948 * Replace StorageDestination with StorageTarget by @amithadke in https://github.com/pixeltable/pixeltable/pull/947 * Missing converter for schema change in PR 932 by @Low11/19/2025
v0.5.0## What's Changed * Data sharing docs by @apreshill in https://github.com/pixeltable/pixeltable/pull/931 * Numerous documentation fixes by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/933 * PXT-846: FrameIterator(keyframes_only: bool) by @mkornacker in https://github.com/pixeltable/pixeltable/pull/934 * [PXT-809] Improve OpenAI rate limiting by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/912 * Multi-phase drop_table() by @mkornacker in https://github.comLow11/18/2025
v0.4.24## What's Changed * Update imagen model in tests and docs (3.0 is deprecated) by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/929 * Allow hyphens in table and dir names by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/926 * Skip download when replicating the same version of a table a second time by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/927 * Several fixes and improvements for data sharing by @aaron-siegel in https://github.com/pixeltablLow11/12/2025
v0.4.23## What's Changed * Add PIXELTABLE_API_KEY to CI environment by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/914 * `create_store_tbls: bool` option in Catalog.create_replica() by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/916 * [PXT-380] Remove NamedFunction object and related code in named_function.py by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/911 * Switch to new random ops script in CI by @aaron-siegel in https://github.com/pixeLow11/11/2025
v0.4.22## What's Changed * Manage `additional_md` from Catalog, rather than TableVersion by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/913 **Full Changelog**: https://github.com/pixeltable/pixeltable/compare/v0.4.21...v0.4.22Low11/4/2025
v0.4.21## What's Changed * Hotfix for bug when publishing older versions of a table by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/910 **Full Changelog**: https://github.com/pixeltable/pixeltable/compare/v0.4.20...v0.4.21Low11/3/2025
v0.4.20## What's Changed * pyscenedetect udfs by @mkornacker in https://github.com/pixeltable/pixeltable/pull/899 * CockroachDB fixes + CI target by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/900 * Add protocol for replica operations. by @amithadke in https://github.com/pixeltable/pixeltable/pull/819 * [PXT-822, PXT-674] Fix for querying snapshots of tables with unstored columns by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/895 * Switch to using random_tbl_ops_2 Low11/3/2025
v0.4.19## What's Changed * Add image recipes to cookbook by @apreshill in https://github.com/pixeltable/pixeltable/pull/857 * Add display-name to CI matrix (prep for testing global media destination) by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/879 * Enable all media destinations in CI by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/876 * [PXT-814] UDF to encode a numpy array to an audio file by @sergey-mkhitaryan in https://github.com/pixeltable/pixeltable/pull/8Low10/29/2025
v0.4.18## What's Changed * Updates to nightly.yml by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/866 * Streamline CI configs on PRs by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/858 * Update WhisperX to >=3.7 and enable for Python 3.13 by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/860 * elements parameter for DocSplitter by @mkornacker in https://github.com/pixeltable/pixeltable/pull/865 * Fix examples docstring for add_embedding_index() by @aaLow10/22/2025
v0.4.17## What's Changed * Update model used by Together AI tests by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/846 * Fix broken links at the bottom of basics notebook by @apreshill in https://github.com/pixeltable/pixeltable/pull/844 * Retry failed notebook tests once in CI by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/830 * feat(storage): add Backblaze B2 S3-compatible integration and tests by @jeronimodeleon in https://github.com/pixeltable/pixeltable/pull/840Low10/16/2025
v0.4.16## What's Changed * Openrouter Integration by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/825 * Concurrency fixes & random_tbl_ops v2 by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/814 * Images and arrays in json structures, plus improved storage of array columns by @mkornacker in https://github.com/pixeltable/pixeltable/pull/812 * Minimal edits to docstrings. by @goodlux in https://github.com/pixeltable/pixeltable/pull/813 * Add SDK documentation for MintliLow10/8/2025
v0.4.15## What's Changed * Add a spot for the cookbook in docs/ by @apreshill in https://github.com/pixeltable/pixeltable/pull/815 * Fixes for notebook tests resource cleanup by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/827 * Adding export_lancedb() to API reference by @mkornacker in https://github.com/pixeltable/pixeltable/pull/824 * Replace `create_replica()` with separate `publish()` and `replicate()` methods by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/816 Low10/1/2025
v0.4.14## What's Changed * Proper implementation of package/restore for non-snapshot replicas by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/797 * Set up pydoclint by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/805 * upgrade mint.json -> docs.json by @goodlux in https://github.com/pixeltable/pixeltable/pull/809 * Enable a destination parameter on stored computed columns. by @jpeterson-pxt in https://github.com/pixeltable/pixeltable/pull/766 * Add support for runninLow9/23/2025
v0.4.13## What's Changed * Added pxt.io.export_lancedb() by @mkornacker in https://github.com/pixeltable/pixeltable/pull/795 * Update README.md by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/801 * Use raw.githubusercontent.com instead of raw.github.com in tests by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/806 * Simplify & generalize TableDataSource types by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/804 * Short Sample App: CLI Media Toolkit Low9/19/2025
v0.4.12## What's Changed * Update model used by groq tests and examples by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/790 * Clear TempStore, MediaStore, and HF cache after each test in CI by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/792 * Explicitly install pixeltable in run-isolated-nb-tests.sh by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/794 * Handle incomplete rate limit headers better by @mkornacker in https://github.com/pixeltable/pixelLow9/5/2025
v0.4.11## What's Changed * missing .md for VideoSplitter by @mkornacker in https://github.com/pixeltable/pixeltable/pull/784 * CI & dev environment enhancements by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/785 **Full Changelog**: https://github.com/pixeltable/pixeltable/compare/v0.4.10...v0.4.11Low8/29/2025
v0.4.10## What's Changed * Fix local_public_names() to properly exclude private functions by @goodlux in https://github.com/pixeltable/pixeltable/pull/778 * Add .DS_Store to .gitignore by @goodlux in https://github.com/pixeltable/pixeltable/pull/779 * More video built-ins by @mkornacker in https://github.com/pixeltable/pixeltable/pull/768 * Add missing __all__ to gemini and whisper modules by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/781 **Full Changelog**: https://github.com/pixLow8/28/2025
v0.4.9## What's Changed * WhisperX Speaker Diarization by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/770 * Basic support for concurrent pixeltable metadata creation/upgrade by @amithadke in https://github.com/pixeltable/pixeltable/pull/769 * Support for pydantic models in Table.insert() by @mkornacker in https://github.com/pixeltable/pixeltable/pull/760 * Add comments for concurrent pixeltable initialization changes by @amithadke in https://github.com/pixeltable/pixeltable/pull/772Low8/27/2025
v0.4.8## What's Changed * Performance test for chat completion integrations by @mkornacker in https://github.com/pixeltable/pixeltable/pull/746 * Bugfixes related to missing dependencies by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/747 * Makefile and pytest improvements by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/753 * Update dev version of onnx by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/755 * Pytest configuration fix by @aaron-siegel iLow8/20/2025
v0.4.7## What's Changed * Consolidate ColumnMd operations into from_md() and to_md(). {media_5} by @jpeterson-pxt in https://github.com/pixeltable/pixeltable/pull/715 * Update README.md + Changelog by @pierrebrunelle in https://github.com/pixeltable/pixeltable/pull/727 * Consolidate all store_table row prep into DataRow.create_store_table_row. by @jpeterson-pxt in https://github.com/pixeltable/pixeltable/pull/723 * More rigor in UDF evolution tests by @aaron-siegel in https://github.com/pixeltable/pixLow8/4/2025
v0.4.6## What's Changed * Migrate from `poetry` to `uv` by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/722 **Full Changelog**: https://github.com/pixeltable/pixeltable/compare/v0.4.5...v0.4.6Low7/24/2025
v0.4.5## What's Changed * Consolidate more MediaStore operations - part 3 by @jpeterson-pxt in https://github.com/pixeltable/pixeltable/pull/701 * Working Python 3.13 dev installation by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/695 * Replace uses of sql.text() in catalog.py with idiomatic SQLAlchemy by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/707 * Move some column summary information into RowBuilder. {media_4} by @jpeterson-pxt in https://github.com/pixeltaLow7/24/2025
v0.4.4## What's Changed * Consolidate MediaStore file operations, including temp file name creation by @jpeterson-pxt in https://github.com/pixeltable/pixeltable/pull/694 * Update google-genai dev dependency by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/699 * CI changes for random-tbl-ops by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/697 * schema_overrides bugfixes by @aaron-siegel in https://github.com/pixeltable/pixeltable/pull/700 * Load replicas as views by Low7/16/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

ai-real-estate-assistantAdvanced AI Real Estate Assistant using RAG, LLMs, and Python. Features market analysis, property valuation, and intelligent search.v5.0.7
vector-cache-optimizer⚡ Optimize vector searches with a hyper-efficient cache that uses machine learning for faster, smarter data access and reduced costs.base-setup@2026-06-01
RAPTORRAPTOR (Robust AI-Powered Toolkit for Operational Robots) is an AI-native Content Insight Engine that transforms passive media storage into an intelligent knowledge platform through automated analysismain@2026-05-20
OmniLearnAI📚 Learn from diverse sources with OmniLearnAI, an intelligent platform that combines documents, videos, and more, all with reliable citations.main@2026-06-05
DeepAnalyze🔍 Empower data scientists with DeepAnalyze, a tool that leverages large language models for automated data analysis and insights generation.main@2026-06-05

More in Databases

milvusMilvus is a high-performance, cloud-native vector database built for scalable vector ANN search
WeKnoraLLM-powered framework for deep document understanding, semantic retrieval, and context-aware answers using RAG paradigm.
ai-real-estate-assistantAdvanced AI Real Estate Assistant using RAG, LLMs, and Python. Features market analysis, property valuation, and intelligent search.
alibabacloud-adb20211201Alibaba Cloud adb (20211201) SDK Library for Python