pixeltable 0.4.7__py3-none-any.whl → 0.4.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pixeltable might be problematic. Click here for more details.

Files changed (50) hide show
  1. pixeltable/__init__.py +1 -1
  2. pixeltable/catalog/catalog.py +4 -6
  3. pixeltable/catalog/insertable_table.py +125 -28
  4. pixeltable/catalog/table.py +51 -15
  5. pixeltable/catalog/table_version.py +12 -8
  6. pixeltable/catalog/table_version_path.py +6 -5
  7. pixeltable/config.py +25 -9
  8. pixeltable/dataframe.py +3 -3
  9. pixeltable/env.py +89 -20
  10. pixeltable/exec/aggregation_node.py +1 -1
  11. pixeltable/exec/cache_prefetch_node.py +4 -3
  12. pixeltable/exec/exec_node.py +0 -8
  13. pixeltable/exec/expr_eval/globals.py +1 -0
  14. pixeltable/exec/expr_eval/schedulers.py +16 -4
  15. pixeltable/exec/in_memory_data_node.py +2 -3
  16. pixeltable/exprs/data_row.py +5 -5
  17. pixeltable/exprs/function_call.py +59 -21
  18. pixeltable/exprs/row_builder.py +11 -5
  19. pixeltable/func/expr_template_function.py +6 -3
  20. pixeltable/functions/__init__.py +2 -0
  21. pixeltable/functions/anthropic.py +1 -2
  22. pixeltable/functions/deepseek.py +5 -1
  23. pixeltable/functions/gemini.py +11 -2
  24. pixeltable/functions/huggingface.py +6 -12
  25. pixeltable/functions/openai.py +2 -1
  26. pixeltable/functions/video.py +5 -5
  27. pixeltable/functions/whisperx.py +177 -0
  28. pixeltable/{ext/functions → functions}/yolox.py +0 -4
  29. pixeltable/globals.py +16 -3
  30. pixeltable/io/fiftyone.py +3 -3
  31. pixeltable/io/label_studio.py +2 -1
  32. pixeltable/iterators/audio.py +3 -2
  33. pixeltable/iterators/document.py +0 -6
  34. pixeltable/metadata/__init__.py +3 -1
  35. pixeltable/mypy/__init__.py +3 -0
  36. pixeltable/mypy/mypy_plugin.py +123 -0
  37. pixeltable/plan.py +0 -16
  38. pixeltable/share/packager.py +6 -6
  39. pixeltable/share/publish.py +134 -7
  40. pixeltable/type_system.py +20 -4
  41. pixeltable/utils/media_store.py +131 -66
  42. pixeltable/utils/pydantic.py +60 -0
  43. {pixeltable-0.4.7.dist-info → pixeltable-0.4.9.dist-info}/METADATA +186 -121
  44. {pixeltable-0.4.7.dist-info → pixeltable-0.4.9.dist-info}/RECORD +47 -46
  45. pixeltable/ext/__init__.py +0 -17
  46. pixeltable/ext/functions/__init__.py +0 -11
  47. pixeltable/ext/functions/whisperx.py +0 -77
  48. {pixeltable-0.4.7.dist-info → pixeltable-0.4.9.dist-info}/WHEEL +0 -0
  49. {pixeltable-0.4.7.dist-info → pixeltable-0.4.9.dist-info}/entry_points.txt +0 -0
  50. {pixeltable-0.4.7.dist-info → pixeltable-0.4.9.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pixeltable
3
- Version: 0.4.7
3
+ Version: 0.4.9
4
4
  Summary: AI Data Infrastructure: Declarative, Multimodal, and Incremental
5
5
  Project-URL: homepage, https://pixeltable.com/
6
6
  Project-URL: repository, https://github.com/pixeltable/pixeltable
@@ -62,14 +62,13 @@ Description-Content-Type: text/markdown
62
62
 
63
63
  <h2>Declarative Data Infrastructure for Multimodal AI Apps</h2>
64
64
 
65
- Pixeltable is the only Python library providing incremental storage, transformation, indexing, and orchestration of multimodal data.
66
-
67
65
  [![License](https://img.shields.io/badge/License-Apache%202.0-0530AD.svg)](https://opensource.org/licenses/Apache-2.0)
68
66
  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pixeltable?logo=python&logoColor=white&)
69
67
  ![Platform Support](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-E5DDD4)
70
68
  <br>
71
69
  [![tests status](https://github.com/pixeltable/pixeltable/actions/workflows/pytest.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/pytest.yml)
72
- [![tests status](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml)
70
+ [![nightly status](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml)
71
+ [![stress-tests status](https://github.com/pixeltable/pixeltable/actions/workflows/stress-tests.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/stress-tests.yml)
73
72
  [![PyPI Package](https://img.shields.io/pypi/v/pixeltable?color=4D148C)](https://pypi.org/project/pixeltable/)
74
73
  [![My Discord (1306431018890166272)](https://img.shields.io/badge/💬-Discord-%235865F2.svg)](https://discord.gg/QPyqFYx2UN)
75
74
 
@@ -90,13 +89,19 @@ Pixeltable is the only Python library providing incremental storage, transformat
90
89
  pip install pixeltable
91
90
  ```
92
91
 
93
- **Pixeltable unifies multimodal data storage, retrieval and orchestration.** It stores metadata and computed results persistently, typically in a `.pixeltable` directory in your workspace. See [configuration](https://docs.pixeltable.com/docs/overview/configuration) options for your setup. All media (videos, images, audio) resides in ext. files, and Pixeltable stores references to those. Files can be local/remote (e.g. S3). For the latter, Pixeltable caches the [files locally on access](https://github.com/pixeltable/pixeltable/blob/main/docs/notebooks/feature-guides/working-with-external-files.ipynb).
92
+ **Pixeltable unifies storage, retrieval, and orchestration for multimodal data.**
93
+ It stores metadata and computed results persistently, typically in a `.pixeltable` directory in your workspace.
94
+
95
+ ## Pixeltable Demo
94
96
 
95
97
  https://github.com/user-attachments/assets/b50fd6df-5169-4881-9dbe-1b6e5d06cede
96
98
 
97
99
  ## Quick Start
98
100
 
99
- With Pixeltable, you define your *entire* data processing and AI workflow declaratively using **[computed columns](https://docs.pixeltable.com/docs/datastore/computed-columns)** on **[tables](https://docs.pixeltable.com/docs/datastore/tables-and-operations)**.
101
+ With Pixeltable, you define your *entire* data processing and AI workflow declaratively using
102
+ **[computed columns](https://docs.pixeltable.com/docs/datastore/computed-columns)** on
103
+ **[tables](https://docs.pixeltable.com/docs/datastore/tables-and-operations)**.
104
+ Focus on your application logic, not the data plumbing.
100
105
 
101
106
  ```python
102
107
 
@@ -115,7 +120,7 @@ from pixeltable.functions import huggingface
115
120
  # Object detection with automatic model management
116
121
  t.add_computed_column(
117
122
  detections=huggingface.detr_for_object_detection(
118
- t.input_image,
123
+ t.input_image,
119
124
  model_id='facebook/detr-resnet-50'
120
125
  )
121
126
  )
@@ -124,7 +129,7 @@ t.add_computed_column(
124
129
  t.add_computed_column(detections_text=t.detections.label_text)
125
130
 
126
131
  # OpenAI Vision API integration with built-in rate limiting and async managemennt
127
- from pixeltable.functions import openai
132
+ from pixeltable.functions import openai
128
133
 
129
134
  t.add_computed_column(
130
135
  vision=openai.vision(
@@ -134,10 +139,12 @@ t.add_computed_column(
134
139
  )
135
140
  )
136
141
 
137
- # Insert data - automatically triggers computation of all computed columns
142
+ # Insert data directly from an external URL
143
+ # Automatically triggers computation of all computed columns
138
144
  t.insert(input_image='https://raw.github.com/pixeltable/pixeltable/release/docs/resources/images/000000000025.jpg')
139
145
 
140
146
  # Query - All data, metadata, and computed results are persistently stored
147
+ # Structured and unstructured data are returned side-by-side
141
148
  results = t.select(
142
149
  t.input_image,
143
150
  t.detections_text,
@@ -147,111 +154,163 @@ results = t.select(
147
154
 
148
155
  ## ✨ What Happened?
149
156
 
150
- * **Data Ingestion & Storage:** References [files](https://docs.pixeltable.com/docs/datastore/bringing-data) (images, videos, audio, docs) in place, handles structured data.
151
- * **Transformation & Processing:** Applies *any* Python function ([UDFs](https://docs.pixeltable.com/docs/datastore/custom-functions)) or built-in operations ([chunking, frame extraction](https://docs.pixeltable.com/docs/datastore/iterators)) automatically.
152
- * **AI Model Integration:** Runs inference ([embeddings](https://docs.pixeltable.com/docs/datastore/embedding-index), [object detection](https://docs.pixeltable.com/docs/examples/vision/yolox), [LLMs](https://docs.pixeltable.com/docs/integrations/frameworks#cloud-llm-providers)) as part of the data pipeline.
153
- * **Indexing & Retrieval:** Creates and manages vector indexes for fast [semantic search](https://docs.pixeltable.com/docs/datastore/embedding-index#phase-3%3A-query) alongside traditional filtering.
154
- * **Incremental Computation:** Only [recomputes](https://docs.pixeltable.com/docs/overview/quick-start) what's necessary when data or code changes, saving time and cost.
155
- * **Versioning & Lineage:** Automatically tracks data and schema changes for reproducibility.
157
+ * **Data Ingestion & Storage:** References [files](https://docs.pixeltable.com/docs/datastore/bringing-data)
158
+ (images, videos, audio, docs) in place, handles structured data.
159
+ * **Transformation & Processing:** Applies *any* Python function ([UDFs](https://docs.pixeltable.com/docs/datastore/custom-functions))
160
+ or built-in operations ([chunking, frame extraction](https://docs.pixeltable.com/docs/datastore/iterators)) automatically.
161
+ * **AI Model Integration:** Runs inference ([embeddings](https://docs.pixeltable.com/docs/datastore/embedding-index),
162
+ [object detection](https://docs.pixeltable.com/docs/examples/vision/yolox),
163
+ [LLMs](https://docs.pixeltable.com/docs/integrations/frameworks#cloud-llm-providers)) as part of the data pipeline.
164
+ * **Indexing & Retrieval:** Creates and manages vector indexes for fast
165
+ [semantic search](https://docs.pixeltable.com/docs/datastore/embedding-index#phase-3%3A-query)
166
+ alongside traditional filtering.
167
+ * **Incremental Computation:** Only [recomputes](https://docs.pixeltable.com/docs/overview/quick-start) what's
168
+ necessary when data or code changes, saving time and cost.
169
+ * **Versioning & Lineage:** Automatically tracks data and schema changes for reproducibility. See below for an example
170
+ that uses "time travel" to query an older version of a table.
171
+
172
+ Pixeltable can ingest data from local storage or directly from a URL. When external media files are referenced by URL,
173
+ as in the `insert` statement above, Pixeltable caches them locally before processing. See the
174
+ [Working with External Files](https://github.com/pixeltable/pixeltable/blob/main/docs/notebooks/feature-guides/working-with-external-files.ipynb)
175
+ notebook for more details.
176
+
177
+ ## 🗄️ Where Did My Data Go?
178
+
179
+ Pixeltable workloads generate various outputs, including both structured outputs (such as bounding boxes for detected
180
+ objects) and/or unstructured outputs (such as generated images or video). By default, everything resides in your
181
+ Pixeltable user directory at `~/.pixeltable`. Structured data is stored in a Postgres instance in `~/.pixeltable`.
182
+ Generated media (images, video, audio, documents) are stored outside the Postgres database, in separate flat files in
183
+ `~/.pixeltable/media`. Those media files are referenced by URL in the database, and Pixeltable provides the "glue" for
184
+ a unified table interface over both structured and unstructured data.
185
+
186
+ In general, the user is not expected to interact directly with the data in `~/.pixeltable`; the data store is fully
187
+ managed by Pixeltable and is intended to be accessed through the Pixeltable Python SDK.
188
+
189
+ ## ⚖️ Key Principles
156
190
 
157
- **Focus on your application logic, not the infrastructure.**
191
+ * **[Unified Multimodal Interface:](https://docs.pixeltable.com/docs/datastore/tables-and-operations)** `pxt.Image`,
192
+ `pxt.Video`, `pxt.Audio`, `pxt.Document`, etc. – manage diverse data consistently.
158
193
 
194
+ ```python
195
+ t = pxt.create_table(
196
+ 'media',
197
+ {
198
+ 'img': pxt.Image,
199
+ 'video': pxt.Video
200
+ }
201
+ )
202
+ ```
159
203
 
160
- ## ⚖️ Key Principles
204
+ * **[Declarative Computed Columns:](https://docs.pixeltable.com/docs/datastore/computed-columns)** Define processing
205
+ steps once; they run automatically on new/updated data.
206
+
207
+ ```python
208
+ t.add_computed_column(
209
+ classification=huggingface.vit_for_image_classification(
210
+ t.image
211
+ )
212
+ )
213
+ ```
214
+
215
+ * **[Built-in Vector Search:](https://docs.pixeltable.com/docs/datastore/embedding-index)** Add embedding indexes and
216
+ perform similarity searches directly on tables/views.
217
+
218
+ ```python
219
+ t.add_embedding_index(
220
+ 'img',
221
+ embedding=clip.using(
222
+ model_id='openai/clip-vit-base-patch32'
223
+ )
224
+ )
225
+
226
+ sim = t.img.similarity("cat playing with yarn")
227
+ ```
161
228
 
162
- * **[Unified Multimodal Interface:](https://docs.pixeltable.com/docs/datastore/tables-and-operations)** `pxt.Image`, `pxt.Video`, `pxt.Audio`, `pxt.Document`, etc. – manage diverse data consistently.
163
- ```python
164
- t = pxt.create_table(
165
- 'media',
166
- {
167
- 'img': pxt.Image,
168
- 'video': pxt.Video
169
- }
170
- )
171
- ```
172
-
173
- * **[Declarative Computed Columns:](https://docs.pixeltable.com/docs/datastore/computed-columns)** Define processing steps once; they run automatically on new/updated data.
174
- ```python
175
- t.add_computed_column(
176
- classification=huggingface.vit_for_image_classification(
177
- t.image
229
+ * **[On-the-Fly Data Views:](https://docs.pixeltable.com/docs/datastore/views)** Create virtual tables using iterators
230
+ for efficient processing without data duplication.
231
+
232
+ ```python
233
+ frames = pxt.create_view(
234
+ 'frames',
235
+ videos,
236
+ iterator=FrameIterator.create(
237
+ video=videos.video,
238
+ fps=1
239
+ )
178
240
  )
179
- )
180
- ```
181
-
182
- * **[Built-in Vector Search:](https://docs.pixeltable.com/docs/datastore/embedding-index)** Add embedding indexes and perform similarity searches directly on tables/views.
183
- ```python
184
- t.add_embedding_index(
185
- 'img',
186
- embedding=clip.using(
187
- model_id='openai/clip-vit-base-patch32'
241
+ ```
242
+
243
+ * **[Seamless AI Integration:](https://docs.pixeltable.com/docs/integrations/frameworks)** Built-in functions for
244
+ OpenAI, Anthropic, Hugging Face, CLIP, YOLOX, and more.
245
+
246
+ ```python
247
+ t.add_computed_column(
248
+ response=openai.chat_completions(
249
+ messages=[{"role": "user", "content": t.prompt}]
250
+ )
188
251
  )
189
- )
190
-
191
- sim = t.img.similarity("cat playing with yarn")
192
- ```
193
-
194
- * **[On-the-Fly Data Views:](https://docs.pixeltable.com/docs/datastore/views)** Create virtual tables using iterators for efficient processing without data duplication.
195
- ```python
196
- frames = pxt.create_view(
197
- 'frames',
198
- videos,
199
- iterator=FrameIterator.create(
200
- video=videos.video,
201
- fps=1
252
+ ```
253
+
254
+ * **[Bring Your Own Code:](https://docs.pixeltable.com/docs/datastore/custom-functions)** Extend Pixeltable with simple
255
+ Python User-Defined Functions.
256
+
257
+ ```python
258
+ @pxt.udf
259
+ def format_prompt(context: list, question: str) -> str:
260
+ return f"Context: {context}\nQuestion: {question}"
261
+ ```
262
+
263
+ * **[Agentic Workflows / Tool Calling:](https://docs.pixeltable.com/docs/examples/chat/tools)** Register `@pxt.udf` or
264
+ `@pxt.query` functions as tools and orchestrate LLM-based tool use (incl. multimodal).
265
+
266
+ ```python
267
+ # Example tools: a UDF and a Query function for RAG
268
+ tools = pxt.tools(get_weather_udf, search_context_query)
269
+
270
+ # LLM decides which tool to call; Pixeltable executes it
271
+ t.add_computed_column(
272
+ tool_output=invoke_tools(tools, t.llm_tool_choice)
202
273
  )
203
- )
204
- ```
205
-
206
- * **[Seamless AI Integration:](https://docs.pixeltable.com/docs/integrations/frameworks)** Built-in functions for OpenAI, Anthropic, Hugging Face, CLIP, YOLOX, and more.
207
- ```python
208
- t.add_computed_column(
209
- response=openai.chat_completions(
210
- messages=[{"role": "user", "content": t.prompt}]
274
+ ```
275
+
276
+ * **[Data Persistence:](https://docs.pixeltable.com/docs/datastore/tables-and-operations#data-operations)** All data,
277
+ metadata, and computed results are automatically stored and versioned.
278
+
279
+ ```python
280
+ t = pxt.get_table('my_table') # Get a handle to an existing table
281
+ t.select(t.account, t.balance).collect() # Query its contents
282
+ t.revert() # Undo the last modification to the table and restore its previous state
283
+ ```
284
+
285
+ * **[Time Travel:](https://docs.pixeltable.com/docs/datastore/tables-and-operations#data-operations)** By default,
286
+ Pixeltable preserves the full change history of each table, and any prior version can be selected and queried.
287
+
288
+ ```python
289
+ t.history() # Display a human-readable list of all prior versions of the table
290
+ old_version = pxt.get_table('my_table:472') # Get a handle to a specific table version
291
+ old_version.select(t.account, t.balance).collect() # Query the older version
292
+ ```
293
+
294
+ * **[SQL-like Python Querying:](https://docs.pixeltable.com/docs/datastore/filtering-and-selecting)** Familiar syntax
295
+ combined with powerful AI capabilities.
296
+
297
+ ```python
298
+ results = (
299
+ t.where(t.score > 0.8)
300
+ .order_by(t.timestamp)
301
+ .select(t.image, score=t.score)
302
+ .limit(10)
303
+ .collect()
211
304
  )
212
- )
213
- ```
214
-
215
- * **[Bring Your Own Code:](https://docs.pixeltable.com/docs/datastore/custom-functions)** Extend Pixeltable with simple Python User-Defined Functions.
216
- ```python
217
- @pxt.udf
218
- def format_prompt(context: list, question: str) -> str:
219
- return f"Context: {context}\nQuestion: {question}"
220
- ```
221
-
222
- * **[Agentic Workflows / Tool Calling:](https://docs.pixeltable.com/docs/examples/chat/tools)** Register `@pxt.udf` or `@pxt.query` functions as tools and orchestrate LLM-based tool use (incl. multimodal).
223
- ```python
224
- # Example tools: a UDF and a Query function for RAG
225
- tools = pxt.tools(get_weather_udf, search_context_query)
226
-
227
- # LLM decides which tool to call; Pixeltable executes it
228
- t.add_computed_column(
229
- tool_output=invoke_tools(tools, t.llm_tool_choice)
230
- )
231
- ```
232
-
233
- * **[Persistent & Versioned:](https://docs.pixeltable.com/docs/datastore/tables-and-operations#data-operations)** All data, metadata, and computed results are automatically stored.
234
- ```python
235
- t.revert() # Revert to a previous version
236
- stored_table = pxt.get_table('my_existing_table') # Retrieve persisted table
237
- ```
238
-
239
- * **[SQL-like Python Querying:](https://docs.pixeltable.com/docs/datastore/filtering-and-selecting)** Familiar syntax combined with powerful AI capabilities.
240
- ```python
241
- results = (
242
- t.where(t.score > 0.8)
243
- .order_by(t.timestamp)
244
- .select(t.image, score=t.score)
245
- .limit(10)
246
- .collect()
247
- )
248
- ```
305
+ ```
249
306
 
250
307
  ## 💡 Key Examples
251
308
 
252
- *(See the [Full Quick Start](https://docs.pixeltable.com/docs/overview/quick-start) or [Notebook Gallery](#-notebook-gallery) for more details)*
309
+ *(See the [Full Quick Start](https://docs.pixeltable.com/docs/overview/quick-start) or
310
+ [Notebook Gallery](#-notebook-gallery) for more details)*
253
311
 
254
312
  **1. Multimodal Data Store and Data Transformation (Computed Column):**
313
+
255
314
  ```bash
256
315
  pip install pixeltable
257
316
  ```
@@ -261,14 +320,14 @@ import pixeltable as pxt
261
320
 
262
321
  # Create a table
263
322
  t = pxt.create_table(
264
- 'films',
265
- {'name': pxt.String, 'revenue': pxt.Float, 'budget': pxt.Float},
323
+ 'films',
324
+ {'name': pxt.String, 'revenue': pxt.Float, 'budget': pxt.Float},
266
325
  if_exists="replace"
267
326
  )
268
327
 
269
328
  t.insert([
270
- {'name': 'Inside Out', 'revenue': 800.5, 'budget': 200.0},
271
- {'name': 'Toy Story', 'revenue': 1073.4, 'budget': 200.0}
329
+ {'name': 'Inside Out', 'revenue': 800.5, 'budget': 200.0},
330
+ {'name': 'Toy Story', 'revenue': 1073.4, 'budget': 200.0}
272
331
  ])
273
332
 
274
333
  # Add a computed column for profit - runs automatically!
@@ -410,13 +469,13 @@ qa.add_computed_column(context=get_relevant_context(qa.prompt))
410
469
  qa.add_computed_column(
411
470
  final_prompt=pxtf.string.format(
412
471
  """
413
- PASSAGES:
472
+ PASSAGES:
414
473
  {0}
415
-
416
- QUESTION:
474
+
475
+ QUESTION:
417
476
  {1}
418
- """,
419
- qa.context,
477
+ """,
478
+ qa.context,
420
479
  qa.prompt
421
480
  )
422
481
  )
@@ -457,28 +516,34 @@ Explore Pixeltable's capabilities interactively:
457
516
 
458
517
  ## 🚨 Maintaining Production-Ready Multimodal AI Apps is Still Too Hard
459
518
 
460
- Building robust AI applications, especially [multimodal](https://docs.pixeltable.com/docs/datastore/bringing-data) ones, requires stitching together numerous tools:
461
- * ETL pipelines for data loading and transformation.
462
- * Vector databases for semantic search.
463
- * Feature stores for ML models.
464
- * Orchestrators for scheduling.
465
- * Model serving infrastructure for inference.
466
- * Separate systems for parallelization, caching, versioning, and lineage tracking.
519
+ Building robust AI applications, especially [multimodal](https://docs.pixeltable.com/docs/datastore/bringing-data) ones,
520
+ requires stitching together numerous tools:
521
+
522
+ * ETL pipelines for data loading and transformation.
523
+ * Vector databases for semantic search.
524
+ * Feature stores for ML models.
525
+ * Orchestrators for scheduling.
526
+ * Model serving infrastructure for inference.
527
+ * Separate systems for parallelization, caching, versioning, and lineage tracking.
467
528
 
468
529
  This complex "data plumbing" slows down development, increases costs, and makes applications brittle and hard to reproduce.
469
530
 
470
531
  ## 🔮 Roadmap (2025)
471
532
 
472
533
  ### Cloud Infrastructure and Deployment
534
+
473
535
  We're working on a hosted Pixeltable service that will:
474
536
 
475
- - Enable Multimodal Data Sharing of Pixeltable Tables and Views | [Waitlist](https://www.pixeltable.com/waitlist)
476
- - Provide a persistent cloud instance
477
- - Turn Pixeltable workflows (Tables, Queries, UDFs) into API endpoints/[MCP Servers](https://github.com/pixeltable/pixeltable-mcp-server)
537
+ * Enable Multimodal Data Sharing of Pixeltable Tables and Views | [Waitlist](https://www.pixeltable.com/waitlist)
538
+ * Provide a persistent cloud instance
539
+ * Turn Pixeltable workflows (Tables, Queries, UDFs) into API endpoints/[MCP Servers](https://github.com/pixeltable/pixeltable-mcp-server)
478
540
 
479
541
  ## 🤝 Contributing
480
542
 
481
- We love contributions! Whether it's reporting bugs, suggesting features, improving documentation, or submitting code changes, please check out our [Contributing Guide](CONTRIBUTING.md) and join the [Discussions](https://github.com/pixeltable/pixeltable/discussions) or our [Discord Server](https://discord.gg/QPyqFYx2UN).
543
+ We love contributions! Whether it's reporting bugs, suggesting features, improving documentation, or submitting code
544
+ changes, please check out our [Contributing Guide](CONTRIBUTING.md) and join the
545
+ [Discussions](https://github.com/pixeltable/pixeltable/discussions) or our
546
+ [Discord Server](https://discord.gg/QPyqFYx2UN).
482
547
 
483
548
  ## 🏢 License
484
549
 
@@ -1,46 +1,46 @@
1
- pixeltable/__init__.py,sha256=fAeDmkHIxf7jbpIAWhygnBy5iqTeH2blX9L1yNqLFFY,1567
1
+ pixeltable/__init__.py,sha256=wJ_4oQdkBAaaVKM8XiZKKSsWPnoemZxh34o6_5vDcxk,1562
2
2
  pixeltable/__version__.py,sha256=LnMIuAxx6nAQDMev_jnZyUdgsaiE3F8lulfXQBRl9qQ,112
3
- pixeltable/config.py,sha256=NbiB6qoE8ujjEHpRbzlNDUMTi6EFvJ0sGHGxdwkWkgc,7472
4
- pixeltable/dataframe.py,sha256=afWRvVjlWzwqUkrBAgTROIZSyDhdSkfI-WspEl2cOUg,63046
5
- pixeltable/env.py,sha256=ENOkan4XcDWQKrnLfWlam-ReWItYkLatT6IIX_Q1CfM,39919
3
+ pixeltable/config.py,sha256=-aoSVF0Aak83IC-u-XANw3if76TDq5VnnWNWoFDR5Hc,8390
4
+ pixeltable/dataframe.py,sha256=I6iEJGD4pivUN-cPVFq_rcniZN7C55xpr37sMJ2BIdE,62986
5
+ pixeltable/env.py,sha256=EZXZPx-OKNo-QqOik1tZyJKSK0brM_b3p2r9ksS6JJs,42964
6
6
  pixeltable/exceptions.py,sha256=Gm8d3TL2iiv6Pj2DLd29wp_j41qNBhxXL9iTQnL4Nk4,1116
7
- pixeltable/globals.py,sha256=GpufZW_pm4dxg6kXqVbE__jEupYTvphFzcoPwujgndk,38543
8
- pixeltable/plan.py,sha256=PXqq7aLQ5wRC-4RkRlAF6KEZFArA6g5RVLYamxNu6FY,48984
7
+ pixeltable/globals.py,sha256=8NijkEmtjY5me6J8zF4G-t1v5_z4q7btOK2yjUREUak,39118
8
+ pixeltable/plan.py,sha256=4yAe7ExAqaSvkFxwK7LPH_HpmoumwqoLeOo7czJ8CyQ,48001
9
9
  pixeltable/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  pixeltable/store.py,sha256=CneWUmgN-EwaPYLcizlAxONC7WYwMr8SNpSFeNBBmOA,22885
11
- pixeltable/type_system.py,sha256=CvePMwTSr8ygc0wnYa-etgoXQLvzMyjNDLIC8TmIXa4,55294
11
+ pixeltable/type_system.py,sha256=UfPZZy4zJ2kGvdHXI9rqxOGAjgIxCZ9QGvvidPWcq-M,56153
12
12
  pixeltable/catalog/__init__.py,sha256=zw6hiyAIjMBxCExtsr7G51ul2XQ9fTQQKcs45rIy7xA,682
13
- pixeltable/catalog/catalog.py,sha256=ZD3XXJaWZO9o6_aDoq6P2plAH_0x8do3JiMQiopAtLo,93967
13
+ pixeltable/catalog/catalog.py,sha256=gaq10XFwkr6jyv8yVi5xV3_oiDkPvqVe55vxOo14W6k,93853
14
14
  pixeltable/catalog/column.py,sha256=MXa5o3ku94T8ZFEL7wnAvqvlk65fOmmHPqIvrUVf3uo,13514
15
15
  pixeltable/catalog/dir.py,sha256=VYTscPlKR6XhupPTXlJ8txAHxS5GSpPJ3LIleDJagVQ,2047
16
16
  pixeltable/catalog/globals.py,sha256=uMIDsbeDzFxZbcgKDTOiT5plC1gAKgz1oxxdh1odIPw,2648
17
- pixeltable/catalog/insertable_table.py,sha256=PDjUhsiVKPT5utHi9ETCEnJWhQSCLBzF_1ITDIIvFRI,9292
17
+ pixeltable/catalog/insertable_table.py,sha256=VUuJ8z7OtMqgy_LMzkn1KzeLXdR-9poTttClscQ_uaU,13899
18
18
  pixeltable/catalog/named_function.py,sha256=vZ-j7P4HugWh9OmUzBMwyRYvO3tQn9jWyJz_1stPavU,1210
19
19
  pixeltable/catalog/path.py,sha256=O3FfxrvyX2crijBhp_2k4-3mG3BFxwba-tlPB74QtJQ,3780
20
20
  pixeltable/catalog/schema_object.py,sha256=rQ6-3rzqnOHyEEHi97kai2S7BO3D9AkH7rirnfbGc14,1785
21
- pixeltable/catalog/table.py,sha256=stZuISgW0sQwN5TJB_EOh61i_s_WV2xD9ujScCX2dFM,79644
22
- pixeltable/catalog/table_version.py,sha256=V8g87XEOapUKT4sIQulAiWFra95hsQFVuxhRkkaFlzs,64760
21
+ pixeltable/catalog/table.py,sha256=NLo8mcM8SKM8jC4uzRT5elhrC0XTGunjQYznqrCz3w0,81315
22
+ pixeltable/catalog/table_version.py,sha256=jTYKzAdQuHBrknQLADBqjLhKwwqeVxmAPosMKsL051Q,64983
23
23
  pixeltable/catalog/table_version_handle.py,sha256=FTPRqcGY-h-POcWyZbd9b8P2D5zIw5OSUvwF_dbyCGo,3608
24
- pixeltable/catalog/table_version_path.py,sha256=TcMG-R5b0O72HCvk0Qn8kGpZnfIsYhawOP7RjP1Sjb4,9815
24
+ pixeltable/catalog/table_version_path.py,sha256=IaFVDH06_6ZMuBv5eLNCRTlWizpvz95jgAzqp4OVx_o,9713
25
25
  pixeltable/catalog/tbl_ops.py,sha256=Vdcz4Nzvdw09zcQaCEaOr9Uufk2rQHgG0vBvMbQp9R8,1145
26
26
  pixeltable/catalog/update_status.py,sha256=tF3KkDc6kvEQ7Tg3VMj-n774uKi1iLla61wLyeuwDRs,6888
27
27
  pixeltable/catalog/view.py,sha256=VSBy_8eO76X1ZFtT8T6syjksb-gtcNA-XPMGndRdBy0,15179
28
28
  pixeltable/exec/__init__.py,sha256=hQvj4ra4ubxu94qyuCBTHKsuYGzundkTTluOTIb5Bx8,524
29
- pixeltable/exec/aggregation_node.py,sha256=2GGg0WraYYUZxUK4CURYKyCeAg-ojRHkZEAAo1Z-0vE,4490
30
- pixeltable/exec/cache_prefetch_node.py,sha256=rAGCSR8nJ_LkdYhyEUqVZen85xO_ikOFu_SqYOpR2Rw,11865
29
+ pixeltable/exec/aggregation_node.py,sha256=CTMR_p1_TGE-iVUP3jLvlmp5rssjukCKCRv3SjMCOo0,4502
30
+ pixeltable/exec/cache_prefetch_node.py,sha256=tTFjDKnhWVWA5cVhm44afNp65cyKWIOO3wBU7fd69UM,11905
31
31
  pixeltable/exec/component_iteration_node.py,sha256=7k8Wfzjc15SO0V8rc-zYTiB3DQ-euMtNQIOsve_FY7I,4797
32
32
  pixeltable/exec/data_row_batch.py,sha256=kqSM33A3w8nEzUsBJ-sz3DFVfQYibz57djdm_ZYvBnk,1737
33
33
  pixeltable/exec/exec_context.py,sha256=jKeLStfkjwCKKAooC-7a7qZUnZU5O0_JQhanhVerV9c,984
34
- pixeltable/exec/exec_node.py,sha256=dEPVuXFU4niYONCk9ThKx8cZUBNkv0gbmKMDERgdDks,3671
35
- pixeltable/exec/in_memory_data_node.py,sha256=xg7dyX0EMs35AgAMW98SGt7X48F9teQgQR4Awb8BhVI,3568
34
+ pixeltable/exec/exec_node.py,sha256=auRbL43-NR2G0rnjs8aK4Q2qAV3IeKDNqduVnoO-2AY,3315
35
+ pixeltable/exec/in_memory_data_node.py,sha256=fp8sE5TH1DJSaxKb5BVTjNVW1Nmzh2ysCjMJMLaNSus,3513
36
36
  pixeltable/exec/row_update_node.py,sha256=zU0eSyn81-vRrjAMOadRqU8luTshnPUtIbS7npyLBKY,2798
37
37
  pixeltable/exec/sql_node.py,sha256=EHZNvbkzECJUgCQtqFjC1yGr6PkSYZXM3wPlAGcGuAI,27436
38
38
  pixeltable/exec/expr_eval/__init__.py,sha256=sQThSEByK_DLfB-_-18RFhpARx49cSXYEkpCDyi0vQI,61
39
39
  pixeltable/exec/expr_eval/evaluators.py,sha256=-6s_y29Wh8p35SVKkXtnA0NkzcHVw1Z8PgHGiFrMsqs,17135
40
40
  pixeltable/exec/expr_eval/expr_eval_node.py,sha256=JIbyo61yTr4RUMyXbTFkMb88h4JWsdRjieBy9VikWTE,18919
41
- pixeltable/exec/expr_eval/globals.py,sha256=fFrj2O53TgHDfVF8dgnyn1fPLi4ZHQuylewf5aHMwYk,7752
41
+ pixeltable/exec/expr_eval/globals.py,sha256=FL9DwFub1fc8ppzzTdrQytBwylyDkH4mIwciWnIGBcc,7816
42
42
  pixeltable/exec/expr_eval/row_buffer.py,sha256=YY0thdlMNNReEOTyPp36xKPeMeXSZ0VrI9bJsXgo7sU,2744
43
- pixeltable/exec/expr_eval/schedulers.py,sha256=d48syzZ3A5zLQfjkjmLhmKvYzVEb-o_LSBKpWlMXRfE,23561
43
+ pixeltable/exec/expr_eval/schedulers.py,sha256=pNTHiwL8omHa_kodv61gynBHFbJnSg5CktvezrO_yc8,24337
44
44
  pixeltable/exprs/__init__.py,sha256=AxSMjKNavCT9F6vBaNR-nwX2iupAI5hbMb5hEj65Tfk,1096
45
45
  pixeltable/exprs/arithmetic_expr.py,sha256=sZPao0qdFWbrDx0eiAVxw1wGHJXZ5ZoCpQaScysBldE,7333
46
46
  pixeltable/exprs/array_slice.py,sha256=C8O0cmGHdc-iVe2FFdW_2jRVR4Gwurzeot6ESEk6RTA,2167
@@ -48,11 +48,11 @@ pixeltable/exprs/column_property_ref.py,sha256=rq8VD34fZwAZuN9wIqQEwVay7LTPBKvXX
48
48
  pixeltable/exprs/column_ref.py,sha256=MH83bYsef5UC4vWU71PE-lPiVd8hVw4tT6sjdCCvWNw,15473
49
49
  pixeltable/exprs/comparison.py,sha256=lgaRx000ZaNH10A4hrtsi5XoZKE-CNEONGMi7jxJfcM,5133
50
50
  pixeltable/exprs/compound_predicate.py,sha256=vJVRVueAmaKnjiHCLWyh8wHgktzzK0DVqbOIQJgTjF8,3801
51
- pixeltable/exprs/data_row.py,sha256=hJJV9VYCJoBHb-8QwKwPXLvAzTciJbVWeQgGHgukjhU,12401
51
+ pixeltable/exprs/data_row.py,sha256=Pi7oIh3YJ7lh0loeGgIGm9uRhCvOcD8wJNdatHpBMKw,12417
52
52
  pixeltable/exprs/expr.py,sha256=T558PJBeVaHCGgv_TBDUIn-fOZJtSMkz26jGUTpvCVY,35961
53
53
  pixeltable/exprs/expr_dict.py,sha256=2ZeZ0eACx3VrRNEOjipuT5WxOIzjXQ_DSip8NTH0KRo,1584
54
54
  pixeltable/exprs/expr_set.py,sha256=OlRTbHAAYH2fOEs1HE-8DIu7Z247xVfoT_9Y58GZoOQ,2559
55
- pixeltable/exprs/function_call.py,sha256=1bHnXp6qPmBwLMdS3DX6ir1XAH8hILr6O0dE4_OoNNU,21980
55
+ pixeltable/exprs/function_call.py,sha256=aVDLIggWU-9_zt8-lM2hAzgWkkuu-zVRbVpZinZTEWg,24311
56
56
  pixeltable/exprs/globals.py,sha256=33fq5Ec15z_SkIqz9ILICx18wuGAazpFDUkc_Ppl03c,2288
57
57
  pixeltable/exprs/in_predicate.py,sha256=u98JmBX9XsglKe5uCy1NUMnyi3wioBri_tue2vI9_sk,3799
58
58
  pixeltable/exprs/inline_expr.py,sha256=XYVKKXZN9BtHN5qlvZna-mgdOlot6WcmPu5usRBYei0,7972
@@ -62,21 +62,17 @@ pixeltable/exprs/json_path.py,sha256=XgVhxeJEa9a48Dg2FgzE0CH4N1Qk2ZCaTJC9UOui3lo
62
62
  pixeltable/exprs/literal.py,sha256=OCJL_pw_WKqx3bXMEwL6yNaKVAKDtGRzSZUFwucRxZI,4860
63
63
  pixeltable/exprs/method_ref.py,sha256=NNhJTGo7luZLh8EJdFIZAax9LiiqqDCEK1AwPmHip0w,2642
64
64
  pixeltable/exprs/object_ref.py,sha256=idYFcT27jv0BjtJT3paL37xDrZZc35_3eCJyQOIqdZU,1999
65
- pixeltable/exprs/row_builder.py,sha256=m37FpMROIr0guWjLlY9WM0ugl0dVfcZr_FGKRPesJBE,22986
65
+ pixeltable/exprs/row_builder.py,sha256=GfHPSSNKxHP3puYioKwiwR-2PMa5eYvw1HHwgQIarPQ,23241
66
66
  pixeltable/exprs/rowid_ref.py,sha256=8MvQs3Uu01Gz__WXw9BCJv0CHrSaFDuQtU7rUr1AWEk,5008
67
67
  pixeltable/exprs/similarity_expr.py,sha256=i0UUnMSKKGXd3Uksu6FU2NvkfG0qzfzfi-GPy-LdutM,3688
68
68
  pixeltable/exprs/sql_element_cache.py,sha256=c7Q6vFK4xnf9vmcRYnXiAcwPBBwmw0dolftM4BwDO8c,1359
69
69
  pixeltable/exprs/string_op.py,sha256=PGWRH1yUaqj7xszdumIBOTHzVkXE0k831jXxIeFPDog,4131
70
70
  pixeltable/exprs/type_cast.py,sha256=_nDzTxg5kXVGLewI0FrH2zmwJzgptdxYd5Jvuyig0UI,2322
71
71
  pixeltable/exprs/variable.py,sha256=UwWwaNECbtwyC8v0g8iqCa3a6mO8z9lK7ta5NrlCwvs,1493
72
- pixeltable/ext/__init__.py,sha256=UgDXWzGWiQIrwOuEvWTePLBcR2kecllPAE7gp-42Awg,457
73
- pixeltable/ext/functions/__init__.py,sha256=Ox3kUHn5IslVEmEKsjrHfkHDrUkmLl9RCO2YkrPJkgc,193
74
- pixeltable/ext/functions/whisperx.py,sha256=qda6kFQSvZTY2asfrYPwHb1cvSa03LbhJ-Wf9b7qPhw,2355
75
- pixeltable/ext/functions/yolox.py,sha256=dX22nMb-0n2hZi7WhZ1Y4LIpFk5loyeXXuSUcc2Fgrg,3724
76
72
  pixeltable/func/__init__.py,sha256=SQPtGr_9dZNyXzxaZQcP3oVLKnbbs4UqV6sg8XUQHxQ,535
77
73
  pixeltable/func/aggregate_function.py,sha256=5_MgqHAlMaacX2sPIHv_auTvYXtqR5MIZy_WqYQSdho,13264
78
74
  pixeltable/func/callable_function.py,sha256=g_pA-g631YcFGLix9PpHYfgjOeS2qF0Csm1VxX8fah0,9278
79
- pixeltable/func/expr_template_function.py,sha256=plKj8k51q4c4eyy7mWrix6M0x48XmKIUSzCq_UnlwhA,5828
75
+ pixeltable/func/expr_template_function.py,sha256=S3GXrbeAyefCJ3n00VMbC2kqnBKI_MxUC7rf61wkJLE,5867
80
76
  pixeltable/func/function.py,sha256=3nSXRdGFGi471x7_TMVdSgXs1SQuLv4HaUJA7NLhv_M,23140
81
77
  pixeltable/func/function_registry.py,sha256=7AQ1bdF2DJbTRn9xx6s5cC_VHtCBXGt_GyJJEjJHcMw,12308
82
78
  pixeltable/func/globals.py,sha256=5Wo4GPxYgHRRk5nvV0h_lAthKSalxKvj5n1p-uMPR0U,1501
@@ -85,32 +81,34 @@ pixeltable/func/query_template_function.py,sha256=aX6GgANSdDTQwrObEV-B_la_oVRVky
85
81
  pixeltable/func/signature.py,sha256=LdHbdim14Zu7Xt1pMhOCzl6Xn2fq5CQQpwSXmu28umw,14988
86
82
  pixeltable/func/tools.py,sha256=2_M_u0Jiy5-uToZziB4O54aTuJeaytPmh71q3I2ydNw,6062
87
83
  pixeltable/func/udf.py,sha256=6tKpMt37t3BmXwRyA5fFAd6OM4D5EPEd2KuAr7DQhr0,13231
88
- pixeltable/functions/__init__.py,sha256=Akk6Nk-rpz2D_V4kJTfyP56xnNbCz3EtxVAuwLoiysA,588
89
- pixeltable/functions/anthropic.py,sha256=GsXEsdAoQ3P_NDRDcAIxa26phftulPBCK64nYrzlRg4,10567
84
+ pixeltable/functions/__init__.py,sha256=ZeRB7ksbzjdrvePXtd_mNxyP2RhjvN0ayl5nv7TdWcQ,613
85
+ pixeltable/functions/anthropic.py,sha256=2Ja-pryC_3Yd1sXW-pibRuvKjgyfYqOhhl6nBWNOBt0,10504
90
86
  pixeltable/functions/audio.py,sha256=6_tUhSZgxhOQQJemvZYNEoKNjWdr3SgJsvLkKCSmtfw,1633
91
87
  pixeltable/functions/bedrock.py,sha256=lTCFHjYunF3minBGWcjXR90yJ8resFjXr4niyKhfxms,4217
92
88
  pixeltable/functions/date.py,sha256=qs1svJ9FVod3OTa5hQNKIuashb6tVhW_2EAEXYGQX74,5308
93
- pixeltable/functions/deepseek.py,sha256=IAo2e_DhkM0A5NrskxuPQUGYzIYAl4do_mdO1Qc3PeY,3338
89
+ pixeltable/functions/deepseek.py,sha256=iw59TKKcw3VqbHMHB2ugtcTPeTVKuHp_3pfkjF6DYmE,3550
94
90
  pixeltable/functions/fireworks.py,sha256=q7eWlYfiWbA0d9r3CB_NAe1fw3q-Z7qsw2gyGJNgWLQ,4786
95
- pixeltable/functions/gemini.py,sha256=Yede8DzWEa4eboW7SNTOooBabriUlsnQMUdG5jCWRQo,8320
91
+ pixeltable/functions/gemini.py,sha256=beGMdpcL55mLaMMJkIL_TZrGdLJRL1RP-GkEuC6m8fs,8781
96
92
  pixeltable/functions/globals.py,sha256=OyPJUJ4S6VWyzxstxIzk3xzYBGIEMwgk1RmSTWTZzdI,5106
97
93
  pixeltable/functions/groq.py,sha256=FpR_LJpfZfzyhEvoBMMbQpQ-VQSRzBsS9U21qaINwww,3593
98
- pixeltable/functions/huggingface.py,sha256=cJyf86qMcvivkGGNduNHAvh_idI-e4wJm0Zje1KJ2vQ,20611
94
+ pixeltable/functions/huggingface.py,sha256=Y-io3EungSs5ibr43vLEXs4dz_Ej20F1nglD0fyLrXA,20371
99
95
  pixeltable/functions/image.py,sha256=IKXljMma-uU88efptC3F4aywau7DYcD-Nqd3YpmRNRw,13971
100
96
  pixeltable/functions/json.py,sha256=d7-AvwytUQtQYF_JnWJkptT_Yq0NgMpWfVk-m3U6qTY,807
101
97
  pixeltable/functions/llama_cpp.py,sha256=uop0K6oNxCnQXbdiL-_6PVsusc1xqCtwTipAyIbQ-Uc,4119
102
98
  pixeltable/functions/math.py,sha256=jhlD7v4eY-6KdmsFEBqb-W_vspGahOosUvFahWFzxrU,4969
103
99
  pixeltable/functions/mistralai.py,sha256=Fk52mfWUfxVy-yCxhH6wrGS7nLLSiOOrWxbTkkiQ-O8,5542
104
100
  pixeltable/functions/ollama.py,sha256=4-6h9Foq_7Ut7JtEHGkeg1KbuKaFywSuMrKiw0xAyCA,4231
105
- pixeltable/functions/openai.py,sha256=VXWiz1Zzj2SBboY8MXpSIRFvB8C3s-Q76yyDUDQcceQ,28729
101
+ pixeltable/functions/openai.py,sha256=qeErzHgJ2D5KFhUxnzcqZ2DrvvT2q-UoMp3tNZP5fgg,28782
106
102
  pixeltable/functions/replicate.py,sha256=sPvRGr0j0kCDc6Vz3mPUioFflApijukvZWJJUO2bqIQ,2429
107
103
  pixeltable/functions/string.py,sha256=LdBNOna5PUSPmM5VlJ_qhmwzyFhumW0k6Dvx2rXSZtc,25356
108
104
  pixeltable/functions/timestamp.py,sha256=3GVCVIWdry96Qk5XXuvbJ58Tp30iY5snBibzl2CHjQc,9143
109
105
  pixeltable/functions/together.py,sha256=A8J19BXywyWQ6a2_n05-8uIG5jquOBGqPmW3mb-NrIc,8842
110
106
  pixeltable/functions/util.py,sha256=uQNkyBSkTVMe1wbUI2Q0nz-mM3qPVTF86yK8c9OFIcE,954
111
- pixeltable/functions/video.py,sha256=eFaJmtuoivsCj9EkU8GfpbFgWRYO3qsu42ekms4etHQ,10574
107
+ pixeltable/functions/video.py,sha256=Z0X0Z-oCS-c4cqjlfCPLUxvTUAkQdxDZ-tL-jAIKKA0,10590
112
108
  pixeltable/functions/vision.py,sha256=17h9bOm3NJyQzFMBwXDHMqnkcuCspyQJgHdBOXV1Ip8,15380
113
109
  pixeltable/functions/whisper.py,sha256=c9E6trhc2UcShVaGaEBCUEpArke1ql3MV5We0qSgmuU,2960
110
+ pixeltable/functions/whisperx.py,sha256=BT9gwXEf5V1lgDxynkrrH6gsuCLqjCzfMJKj5DaOtSM,7661
111
+ pixeltable/functions/yolox.py,sha256=ZdYr6WIqTCHOJoZSoXe4CbME54dYeeeOhkOi1I7VtcE,3518
114
112
  pixeltable/index/__init__.py,sha256=97aFuxiP_oz1ldn5iq8IWApkOV8XG6ZIBW5-9rkS0vM,122
115
113
  pixeltable/index/base.py,sha256=200s7v3Zy810bRlbSAYzxxaEjVssl6r8esTHiSvWRwQ,1704
116
114
  pixeltable/index/btree.py,sha256=8B06D67ay0DFUtEBC5q4bLjxMq7ILpKyyoLAiSaamzA,2503
@@ -118,22 +116,22 @@ pixeltable/index/embedding_index.py,sha256=B_k_3UJmSv7t2ljUg8GC_D4t1jc03PVsTAvxq
118
116
  pixeltable/io/__init__.py,sha256=chVGh3ygtZwSY6g_skIyCsjxwzo2847jDq9YGObAY98,608
119
117
  pixeltable/io/datarows.py,sha256=s2fDQTttGxq7cS5JwKFEJRSKn6WsXTaGdmm9VJSl_2M,6154
120
118
  pixeltable/io/external_store.py,sha256=rOYBwTqcZZVU2toWxJ_9Iy2w2YO0DhuABrM2xGmqHSo,14787
121
- pixeltable/io/fiftyone.py,sha256=t_4WqRkKZm-G8qiiUXwld_4sijO9BGexmmzU5MmSDP0,6865
119
+ pixeltable/io/fiftyone.py,sha256=JcAL9zFszSTcsws6ioF1KZZJFmUeg-11W-c4Gyh3FyQ,6891
122
120
  pixeltable/io/globals.py,sha256=B9ubI9Z0m2wGPZXWmZm10vlaP0UCuUsVyrMWvyudZSc,11360
123
121
  pixeltable/io/hf_datasets.py,sha256=5WfWfXoQppG1Bx_pS5n44KO1Vo_mEb_S82PLB8cLfAU,5606
124
- pixeltable/io/label_studio.py,sha256=XpPkOLktm37Jnhh5ce1PQpUYzeuPJjoCZDaSGedagF4,31426
122
+ pixeltable/io/label_studio.py,sha256=OCQBVgGjXRSdukFQv2ZKdaBmpxanqH9ibDLxZd1L3mc,31469
125
123
  pixeltable/io/pandas.py,sha256=xQmkwbqE9_fjbbPUgeG5yNICrbVVK73UHxDL-cgrQw0,9007
126
124
  pixeltable/io/parquet.py,sha256=qoVDuCoW-Tq14IlzN_psoNP7z83hIQ3ZEg_pKzHSqoY,7796
127
125
  pixeltable/io/table_data_conduit.py,sha256=--UWwG6agBtOA5PLPfjxp2XKoAQ-f5nSPJqOgA5DAAI,22062
128
126
  pixeltable/io/utils.py,sha256=qzBTmqdIawXMt2bfXQOraYnEstL69eC2Z33nl8RrwJk,4244
129
127
  pixeltable/iterators/__init__.py,sha256=bU4EmbX85J1URmRw6G71f2I77b1ctqngEOwDmRB3T0w,455
130
- pixeltable/iterators/audio.py,sha256=Xuv6sOuhhMbof87JrlO218Fm_j6MoMxEr88otmoXME4,9623
128
+ pixeltable/iterators/audio.py,sha256=HYE8JcqaJsTGdrq4NkwV5tn7lcyMp6Fjrm59efOLzb0,9671
131
129
  pixeltable/iterators/base.py,sha256=ZC0ZvXL4iw6AmT8cu-Mdx-T2UG9nmJYV1C6LK4efAfw,1669
132
- pixeltable/iterators/document.py,sha256=HcwL4X1V-RMDBlJJeF7Qcp6cF4C1C8HbJCp_AfiO1rE,20293
130
+ pixeltable/iterators/document.py,sha256=7NIN5W5jHVm4v5_FzGsH0XJigtPCm8DfXJUc3_hEtHQ,20073
133
131
  pixeltable/iterators/image.py,sha256=RrFdf5cnFIQzWKJk4uYi1m1p2qAiz909THYhRQ27DbY,3603
134
132
  pixeltable/iterators/string.py,sha256=URj5edWp-CsorjN_8nnfWGvtIFs_Zh4VPm6htlJbFkU,1257
135
133
  pixeltable/iterators/video.py,sha256=PKztCS_FEtu-AoHR6X-wJG6UJddX195lS-9eQp5ClGc,10810
136
- pixeltable/metadata/__init__.py,sha256=iJxMsd3s5yNZ5ciIBzQCa0frXZKgvFj2_-H0Sf4N1mk,3154
134
+ pixeltable/metadata/__init__.py,sha256=oTO9kN6h4xJ2lsk4a2bq6ejAD-4wToy7b5_i3Pq1Qnc,3289
137
135
  pixeltable/metadata/notes.py,sha256=3fdZDFpL1-b194Ejv0Y0YP-vbnV-XvVP9wOmZM9XARA,1545
138
136
  pixeltable/metadata/schema.py,sha256=fs9W2SLh32Ehxc9AChVH7YCtlSSnQkgGMbEyOh0B4W0,13416
139
137
  pixeltable/metadata/utils.py,sha256=NJQXWhhK1hdOZ4H3hh9N0mqbl-I9JqMUqrfA6OWLflE,2682
@@ -167,9 +165,11 @@ pixeltable/metadata/converters/convert_37.py,sha256=IVZGtKFaaYMGBs39V_H_okWvpxxa
167
165
  pixeltable/metadata/converters/convert_38.py,sha256=YyNyocwzzdJRcI0YSCo_70Q4hSk63235iE4IxhwSEzs,1169
168
166
  pixeltable/metadata/converters/convert_39.py,sha256=YaEfgStxtYGRbuRLFw8wTAZVJRzIU6zL6nPU2zuDcEU,4658
169
167
  pixeltable/metadata/converters/util.py,sha256=QUBOj2F_6rCAdIo0lgD1IVgAM15Vmq7ikQspB4s0eQ8,7732
168
+ pixeltable/mypy/__init__.py,sha256=cD_oHXClR_bDM8qVNIfaOAgRhQjPfcWvLcinz79ua6o,54
169
+ pixeltable/mypy/mypy_plugin.py,sha256=KCjzKOeKW5CBqJOq9Ch7ZJ25ICPc4nlTB49DxtC6oDM,5460
170
170
  pixeltable/share/__init__.py,sha256=AtR4nS6YkfkFRkXA-zZXFTK5pSQjHry8MnxdVLUk5SA,68
171
- pixeltable/share/packager.py,sha256=yzqatcxR6VQDCCPKnMk8-i2YaHTPWE6jfJU-Cpr5-RQ,31259
172
- pixeltable/share/publish.py,sha256=U6PzOUYiZaPu-sVNjh2nN8qzY2-uMsYeTwQCCuGk7Jg,6537
171
+ pixeltable/share/packager.py,sha256=5rSKnQCs3YP5h48d79bXEK4L8tLUSeTSbXaB8X9SmBI,31265
172
+ pixeltable/share/publish.py,sha256=KS_R59AuVkHWkXHwELP74xgSHs8Z5z8SBPMcjzttt44,11469
173
173
  pixeltable/utils/__init__.py,sha256=45qEM20L2VuIe-Cc3BTKWFqQb-S7A8qDtmmgl77zYK0,1728
174
174
  pixeltable/utils/arrow.py,sha256=Rooa02GL5k--D2utlKATtYKrrlsHbbi6JmkarXMux1M,6384
175
175
  pixeltable/utils/coco.py,sha256=Y1DWVYguZD4VhKyf7JruYfHWvhkJLq39fzbiSm5cdyY,7304
@@ -184,13 +184,14 @@ pixeltable/utils/filecache.py,sha256=3TTEqhGg0pEAP_l0GKn34uspC4dha1jPab1Ka9_oTBM
184
184
  pixeltable/utils/formatter.py,sha256=tbMxE9rBw6wdKUnJhNZ8h9uAF8dZKcihQ2KesqAag9A,10096
185
185
  pixeltable/utils/http_server.py,sha256=6khOAtpVj1lDIm9Dx8VIECLm87cFEp4IFbAg8T92A2o,2441
186
186
  pixeltable/utils/iceberg.py,sha256=COeNqqy5RRMkDGLS8CTnaUeAccG10x2fwP3e1veuqIA,522
187
- pixeltable/utils/media_store.py,sha256=O3pByWHRd79Z5vcy1Dc1crIUADaLL93pPz19Y60e2wY,7011
187
+ pixeltable/utils/media_store.py,sha256=HVOuK5JTTvgSH_st0lsapv39Lnu29QGpkKUtZQybBTA,10560
188
+ pixeltable/utils/pydantic.py,sha256=-ztUsuRXA7B6bywb5Yy1h5pNQ2DnsT1d0oHMxqtK3WY,2011
188
189
  pixeltable/utils/pytorch.py,sha256=564VHRdDHwD9h0v5lBHEDTJ8c6zx8wuzWYx8ZYjBxlI,3621
189
190
  pixeltable/utils/s3.py,sha256=pxip2MlCqd2Qon2dzJXzfxvwtZyc-BAsjAnLL4J_OXY,587
190
191
  pixeltable/utils/sql.py,sha256=Sa4Lh-VGe8GToU5W7DRiWf2lMl9B6saPqemiT0ZdHEc,806
191
192
  pixeltable/utils/transactional_directory.py,sha256=OFKmu90oP7KwBAljwjnzP_w8euGdAXob3y4Nx9SCNHA,1357
192
- pixeltable-0.4.7.dist-info/METADATA,sha256=ffhRp1xau1eRh53Io-7nhHF7Pg0MVp59qN4ci6Jhu94,22299
193
- pixeltable-0.4.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
194
- pixeltable-0.4.7.dist-info/entry_points.txt,sha256=rrKugZmxDtGnXCnEQ5UJMaaSYY7-g1cLjUZ4W1moIhM,98
195
- pixeltable-0.4.7.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
196
- pixeltable-0.4.7.dist-info/RECORD,,
193
+ pixeltable-0.4.9.dist-info/METADATA,sha256=OvTlQgjU2P7wXoyAQhd8p4MrQU1jv5btGrtIHhRF9so,24247
194
+ pixeltable-0.4.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
195
+ pixeltable-0.4.9.dist-info/entry_points.txt,sha256=rrKugZmxDtGnXCnEQ5UJMaaSYY7-g1cLjUZ4W1moIhM,98
196
+ pixeltable-0.4.9.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
197
+ pixeltable-0.4.9.dist-info/RECORD,,