PP

pixeltable/pixeltable

Developer tools
1.6K stars Quality 38 Trend 38

One Python API: store media, run models, index embeddings, serve endpoints, and version everything in a single system instead of gluing together blob storage, a vector DB, an orchestrator, and edge...

Overview

One Python API: store media, run models, index embeddings, serve endpoints, and version everything in a single system instead of gluing together blob storage, a vector DB, an orchestrator, and edge...

README

Quick Start | Documentation | CLI | Dashboard | llms-full.txt | Starter Kit | AI Coding Skill | Discord

Make Building Multimodal AI Data Apps Dead Simple

Pixeltable is the unified multimodal backend for AI data apps. One Python API: store media, run models, index embeddings, serve endpoints, and version everything in a single system instead of gluing together blob storage, a vector DB, an orchestrator, and edge functions. Chunking, embeddings, agents, and serving run from computed columns on insert, not glue scripts you maintain separately. Transactions, caching, retries, and observability are built in. Extend with @pxt.udf, @pxt.uda, and @pxt.query.

Core Capabilities

Expand any row for what Pixeltable replaces, a quick example, and doc links. Examples assume import pixeltable as pxt.

Three deployment patterns (docs / starter kit):

Pattern What it is You write
Full Backend FastAPI + React web app Python schema + endpoints + frontend
Batch Processing Cron / queue / Cloud Run Job Python script: ingest, compute, export_sql, exit
Declarative API REST API from TOML config pyproject.toml routes + pxt serve

Installation

pip install pixeltable  # SDK + CLI (pxt ls, rows, errors, …)

AI Agent Skill

Teach AI coding assistants (Cursor, Claude Code, Copilot, etc.). Learn more →

npx skills add pixeltable/pixeltable-skill

Start from a Template

Head start on a production-ready app: scaffold schema, routes, and deployment pattern in one command.

uvx pixeltable-new myapp

Default: declarative serving (schema.py + pyproject.tomlpxt serve). --backend for FastAPI + React; --batch for cron/queue scripts. Templates from the Starter Kit.

Quick Start

Define schema in Python, routes in TOML: a pxt.Video table, frame view, one computed column on the frame view, and a single insert endpoint.

# demo.py
import pixeltable as pxt
from pixeltable.functions.video import frame_iterator

videos = pxt.create_table('videos', {'video': pxt.Video, 'title': pxt.String}, if_exists='ignore')
frames = pxt.create_view('frames', videos, iterator=frame_iterator(videos.video, fps=1), if_exists='ignore')
frames.add_computed_column(thumb=frames.frame.thumbnail((320, 320)), if_exists='ignore')
# pyproject.toml
[[tool.pixeltable.service]]
name = "video-api"
modules = ["demo"]

[[tool.pixeltable.service.routes]]
type = "insert"
path = "/videos"
table = "videos"
inputs = ["video", "title"]
outputs = ["title"]
python demo.py   # create tables, views, and computed columns
pxt serve video-api   # start REST API from pyproject.toml (POST /videos insert route)
curl -X POST localhost:8000/videos -H 'Content-Type: application/json' \
  -d '{"video": "https://raw.githubusercontent.com/pixeltable/pixeltable/release/docs/resources/bangkok.mp4", "title": "Bangkok"}'   # insert video; triggers frame extraction + thumb
pxt rows frames -n 1 --cols pos,thumb   # one frame row + computed thumbnail

See CLI serving.

Demo

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

https://github.com/user-attachments/assets/b50fd6df-5169-4881-9dbe-1b6e5d06cede

Documentation

One schema for storage, orchestration, and retrieval. What is Pixeltable? · Deployment overview

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 our Discord Server.

License

Pixeltable is licensed under the Apache 2.0 License.

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add pixeltable/pixeltable