pixeltable 0.4.11__py3-none-any.whl → 0.4.13__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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pixeltable
3
- Version: 0.4.11
3
+ Version: 0.4.13
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
@@ -55,44 +55,41 @@ Requires-Dist: toml>=0.10
55
55
  Requires-Dist: tqdm>=4.64
56
56
  Description-Content-Type: text/markdown
57
57
 
58
- <div align="center">
59
- <img src="https://raw.githubusercontent.com/pixeltable/pixeltable/main/docs/resources/pixeltable-logo-large.png"
60
- alt="Pixeltable Logo" width="50%" />
61
- <br></br>
58
+ <picture class="github-only">
59
+ <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/e9bf82b2-cace-4bd8-9523-b65495eb8131">
60
+ <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/c5ab123e-806c-49bf-93e7-151353719b16">
61
+ <img alt="Pixeltable Logo" src="https://github.com/user-attachments/assets/e9bf82b2-cace-4bd8-9523-b65495eb8131" width="40%">
62
+ </picture>
62
63
 
63
- <h2>Declarative Data Infrastructure for Multimodal AI Apps</h2>
64
+ <div>
65
+ <br>
66
+ </div>
67
+
68
+ The only open source Python library providing declarative data infrastructure for building multimodal AI applications, enabling incremental storage, transformation, indexing, retrieval, and orchestration of data.
64
69
 
65
70
  [![License](https://img.shields.io/badge/License-Apache%202.0-0530AD.svg)](https://opensource.org/licenses/Apache-2.0)
66
- ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pixeltable?logo=python&logoColor=white&)
67
- ![Platform Support](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-E5DDD4)
68
- <br>
69
71
  [![tests status](https://github.com/pixeltable/pixeltable/actions/workflows/pytest.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/pytest.yml)
70
72
  [![nightly status](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml)
71
73
  [![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)
72
74
  [![PyPI Package](https://img.shields.io/pypi/v/pixeltable?color=4D148C)](https://pypi.org/project/pixeltable/)
73
75
  [![My Discord (1306431018890166272)](https://img.shields.io/badge/💬-Discord-%235865F2.svg)](https://discord.gg/QPyqFYx2UN)
74
76
 
75
- [**Installation**](https://docs.pixeltable.com/docs/overview/installation) |
76
77
  [**Quick Start**](https://docs.pixeltable.com/docs/overview/quick-start) |
77
78
  [**Documentation**](https://docs.pixeltable.com/) |
78
79
  [**API Reference**](https://pixeltable.github.io/pixeltable/) |
79
- [**Examples**](https://docs.pixeltable.com/docs/examples/use-cases) |
80
+ [**Sample Apps**](https://github.com/pixeltable/pixeltable/tree/main/docs/sample-apps) |
80
81
  [**Discord Community**](https://discord.gg/QPyqFYx2UN)
81
82
 
82
- </div>
83
-
84
83
  ---
85
84
 
86
- ## 💾 Installation
85
+ ## Installation
87
86
 
88
87
  ```python
89
88
  pip install pixeltable
90
89
  ```
90
+ Pixeltable replaces the complex multi-system architecture typically needed for AI applications (databases, file storage, vector DBs, APIs, orchestration) with a single declarative table interface that natively handles multimodal data like images, videos, and documents.
91
91
 
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
92
+ ## Demo
96
93
 
97
94
  https://github.com/user-attachments/assets/b50fd6df-5169-4881-9dbe-1b6e5d06cede
98
95
 
@@ -152,7 +149,7 @@ results = t.select(
152
149
  ).collect()
153
150
  ```
154
151
 
155
- ## What Happened?
152
+ ## What Happened?
156
153
 
157
154
  * **Data Ingestion & Storage:** References [files](https://docs.pixeltable.com/docs/datastore/bringing-data)
158
155
  (images, videos, audio, docs) in place, handles structured data.
@@ -174,7 +171,7 @@ as in the `insert` statement above, Pixeltable caches them locally before proces
174
171
  [Working with External Files](https://github.com/pixeltable/pixeltable/blob/main/docs/notebooks/feature-guides/working-with-external-files.ipynb)
175
172
  notebook for more details.
176
173
 
177
- ## 🗄️ Where Did My Data Go?
174
+ ## Where Did My Data Go?
178
175
 
179
176
  Pixeltable workloads generate various outputs, including both structured outputs (such as bounding boxes for detected
180
177
  objects) and/or unstructured outputs (such as generated images or video). By default, everything resides in your
@@ -186,125 +183,163 @@ a unified table interface over both structured and unstructured data.
186
183
  In general, the user is not expected to interact directly with the data in `~/.pixeltable`; the data store is fully
187
184
  managed by Pixeltable and is intended to be accessed through the Pixeltable Python SDK.
188
185
 
189
- ## ⚖️ Key Principles
186
+ ## Key Principles
190
187
 
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.
188
+ **[Unified Multimodal Interface:](https://docs.pixeltable.com/docs/datastore/tables-and-operations)** `pxt.Image`,
189
+ `pxt.Video`, `pxt.Audio`, `pxt.Document`, etc. – manage diverse data consistently.
193
190
 
194
- ```python
195
- t = pxt.create_table(
196
- 'media',
197
- {
198
- 'img': pxt.Image,
199
- 'video': pxt.Video
200
- }
201
- )
202
- ```
191
+ ```python
192
+ t = pxt.create_table(
193
+ 'media',
194
+ {
195
+ 'img': pxt.Image,
196
+ 'video': pxt.Video
197
+ }
198
+ )
199
+ ```
203
200
 
204
- * **[Declarative Computed Columns:](https://docs.pixeltable.com/docs/datastore/computed-columns)** Define processing
205
- steps once; they run automatically on new/updated data.
201
+ **[Declarative Computed Columns:](https://docs.pixeltable.com/docs/datastore/computed-columns)** Define processing
202
+ steps once; they run automatically on new/updated data.
206
203
 
207
- ```python
208
- t.add_computed_column(
209
- classification=huggingface.vit_for_image_classification(
210
- t.image
211
- )
212
- )
213
- ```
204
+ ```python
205
+ t.add_computed_column(
206
+ classification=huggingface.vit_for_image_classification(
207
+ t.image
208
+ )
209
+ )
210
+ ```
214
211
 
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.
212
+ **[Built-in Vector Search:](https://docs.pixeltable.com/docs/datastore/embedding-index)** Add embedding indexes and
213
+ perform similarity searches directly on tables/views.
217
214
 
218
- ```python
219
- t.add_embedding_index(
220
- 'img',
221
- embedding=clip.using(
222
- model_id='openai/clip-vit-base-patch32'
223
- )
224
- )
215
+ ```python
216
+ t.add_embedding_index(
217
+ 'img',
218
+ embedding=clip.using(
219
+ model_id='openai/clip-vit-base-patch32'
220
+ )
221
+ )
225
222
 
226
- sim = t.img.similarity("cat playing with yarn")
227
- ```
223
+ sim = t.img.similarity("cat playing with yarn")
224
+ ```
228
225
 
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.
226
+ **[Incremental View Maintenance:](https://docs.pixeltable.com/docs/datastore/views)** Create virtual tables using iterators
227
+ for efficient processing without data duplication.
231
228
 
232
- ```python
233
- frames = pxt.create_view(
234
- 'frames',
235
- videos,
236
- iterator=FrameIterator.create(
237
- video=videos.video,
238
- fps=1
239
- )
240
- )
241
- ```
229
+ ```python
230
+ # Document chunking with overlap & metadata and many more options to build your own iterator
231
+ chunks = pxt.create_view('chunks', docs,
232
+ iterator=DocumentSplitter.create(
233
+ document=docs.doc,
234
+ separators='sentence,token_limit',
235
+ overlap=50, limit=500
236
+ ))
237
+
238
+ # Video frame extraction
239
+ frames = pxt.create_view('frames', videos,
240
+ iterator=FrameIterator.create(video=videos.video, fps=0.5))
241
+ ```
242
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.
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
245
 
246
- ```python
247
- t.add_computed_column(
248
- response=openai.chat_completions(
249
- messages=[{"role": "user", "content": t.prompt}]
250
- )
251
- )
252
- ```
246
+ ```python
247
+ # LLM integration (OpenAI, Anthropic, etc.)
248
+ t.add_computed_column(
249
+ response=openai.chat_completions(
250
+ messages=[{"role": "user", "content": t.prompt}], model='gpt-4o-mini'
251
+ )
252
+ )
253
253
 
254
- * **[Bring Your Own Code:](https://docs.pixeltable.com/docs/datastore/custom-functions)** Extend Pixeltable with simple
255
- Python User-Defined Functions.
254
+ # Computer vision (YOLOX object detection)
255
+ t.add_computed_column(
256
+ detections=yolox(t.image, model_id='yolox_s', threshold=0.5)
257
+ )
256
258
 
257
- ```python
258
- @pxt.udf
259
- def format_prompt(context: list, question: str) -> str:
260
- return f"Context: {context}\nQuestion: {question}"
261
- ```
259
+ # Embedding models (Hugging Face, CLIP)
260
+ t.add_computed_column(
261
+ embeddings=huggingface.sentence_transformer(
262
+ t.text, model_id='all-MiniLM-L6-v2'
263
+ )
264
+ )
265
+ ```
262
266
 
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).
267
+ **[Bring Your Own Code:](https://docs.pixeltable.com/docs/datastore/custom-functions)** Extend Pixeltable with UDFs, batch processing, and custom aggregators.
268
+
269
+ ```python
270
+ @pxt.udf
271
+ def format_prompt(context: list, question: str) -> str:
272
+ return f"Context: {context}\nQuestion: {question}"
273
+ ```
265
274
 
266
- ```python
267
- # Example tools: a UDF and a Query function for RAG
268
- tools = pxt.tools(get_weather_udf, search_context_query)
275
+ **[Agentic Workflows / Tool Calling:](https://docs.pixeltable.com/docs/examples/chat/tools)** Register `@pxt.udf`,
276
+ `@pxt.query` functions, or **MCP tools** as tools.
269
277
 
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)
273
- )
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()
304
- )
305
- ```
278
+ ```python
279
+ # Example tools: UDFs, Query functions, and MCP tools
280
+ mcp_tools = pxt.mcp_udfs('http://localhost:8000/mcp') # Load from MCP server
281
+ tools = pxt.tools(get_weather_udf, search_context_query, *mcp_tools)
282
+
283
+ # LLM decides which tool to call; Pixeltable executes it
284
+ t.add_computed_column(
285
+ tool_output=invoke_tools(tools, t.llm_tool_choice)
286
+ )
287
+ ```
288
+
289
+ **[Data Persistence:](https://docs.pixeltable.com/docs/datastore/tables-and-operations#data-operations)** All data,
290
+ metadata, and computed results are automatically stored and versioned.
291
+
292
+ ```python
293
+ t = pxt.get_table('my_table') # Get a handle to an existing table
294
+ t.select(t.account, t.balance).collect() # Query its contents
295
+ t.revert() # Undo the last modification to the table and restore its previous state
296
+ ```
297
+
298
+ **[Time Travel:](https://docs.pixeltable.com/docs/datastore/tables-and-operations#data-operations)** By default,
299
+ Pixeltable preserves the full change history of each table, and any prior version can be selected and queried.
300
+
301
+ ```python
302
+ t.history() # Display a human-readable list of all prior versions of the table
303
+ old_version = pxt.get_table('my_table:472') # Get a handle to a specific table version
304
+ old_version.select(t.account, t.balance).collect() # Query the older version
305
+ ```
306
+
307
+ **[SQL-like Python Querying:](https://docs.pixeltable.com/docs/datastore/filtering-and-selecting)** Familiar syntax
308
+ combined with powerful AI capabilities.
309
+
310
+ ```python
311
+ results = (
312
+ t.where(t.score > 0.8)
313
+ .order_by(t.timestamp)
314
+ .select(t.image, score=t.score)
315
+ .limit(10)
316
+ .collect()
317
+ )
318
+ ```
319
+
320
+ **[I/O & Integration:](https://pixeltable.github.io/pixeltable/pixeltable/io/)** Export to multiple
321
+ formats and integrate with ML/AI tools ecosystem.
322
+
323
+ ```python
324
+ # Export to analytics/ML formats
325
+ pxt.export_parquet(table, 'data.parquet', partition_size_bytes=100_000_000)
326
+ pxt.export_lancedb(table, 'vector_db')
327
+
328
+ # DataFrame conversions
329
+ results = table.select(table.image, table.labels).collect()
330
+ df = results.to_pandas() # → pandas DataFrame
331
+ models = results.to_pydantic(MyModel) # → Pydantic models
332
+
333
+ # Specialized ML dataset formats
334
+ coco_path = table.to_coco_dataset() # → COCO annotations
335
+ pytorch_ds = table.to_pytorch_dataset('pt') # → PyTorch DataLoader ready
336
+
337
+ # ML tool integrations
338
+ pxt.create_label_studio_project(table, label_config) # Annotation
339
+ pxt.export_images_as_fo_dataset(table, table.image) # FiftyOne
340
+ ```
306
341
 
307
- ## 💡 Key Examples
342
+ ## Key Examples
308
343
 
309
344
  *(See the [Full Quick Start](https://docs.pixeltable.com/docs/overview/quick-start) or
310
345
  [Notebook Gallery](#-notebook-gallery) for more details)*
@@ -497,7 +532,7 @@ print("--- Final Answer ---")
497
532
  print(qa.select(qa.answer).collect())
498
533
  ```
499
534
 
500
- ## 📚 Notebook Gallery
535
+ ## Notebook Gallery
501
536
 
502
537
  Explore Pixeltable's capabilities interactively:
503
538
 
@@ -514,7 +549,7 @@ Explore Pixeltable's capabilities interactively:
514
549
  | Object Detection | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/use-cases/object-detection-in-videos.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> | Image/Text Search | <a target="_blank" href="https://github.com/pixeltable/pixeltable/tree/main/docs/sample-apps/text-and-image-similarity-search-nextjs-fastapi"> <img src="https://img.shields.io/badge/🖥️%20App-black.svg" alt="GitHub App"/> |
515
550
  | Audio Transcription | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/use-cases/audio-transcriptions.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> | Discord Bot | <a target="_blank" href="https://github.com/pixeltable/pixeltable/blob/main/docs/sample-apps/context-aware-discord-bot"> <img src="https://img.shields.io/badge/%F0%9F%92%AC%20Bot-%235865F2.svg" alt="GitHub App"/></a> |
516
551
 
517
- ## 🚨 Maintaining Production-Ready Multimodal AI Apps is Still Too Hard
552
+ ## Maintaining Production-Ready Multimodal AI Apps is Still Too Hard
518
553
 
519
554
  Building robust AI applications, especially [multimodal](https://docs.pixeltable.com/docs/datastore/bringing-data) ones,
520
555
  requires stitching together numerous tools:
@@ -528,7 +563,7 @@ requires stitching together numerous tools:
528
563
 
529
564
  This complex "data plumbing" slows down development, increases costs, and makes applications brittle and hard to reproduce.
530
565
 
531
- ## 🔮 Roadmap (2025)
566
+ ## Roadmap (2025)
532
567
 
533
568
  ### Cloud Infrastructure and Deployment
534
569
 
@@ -538,13 +573,13 @@ We're working on a hosted Pixeltable service that will:
538
573
  * Provide a persistent cloud instance
539
574
  * Turn Pixeltable workflows (Tables, Queries, UDFs) into API endpoints/[MCP Servers](https://github.com/pixeltable/pixeltable-mcp-server)
540
575
 
541
- ## 🤝 Contributing
576
+ ## Contributing
542
577
 
543
578
  We love contributions! Whether it's reporting bugs, suggesting features, improving documentation, or submitting code
544
579
  changes, please check out our [Contributing Guide](CONTRIBUTING.md) and join the
545
580
  [Discussions](https://github.com/pixeltable/pixeltable/discussions) or our
546
581
  [Discord Server](https://discord.gg/QPyqFYx2UN).
547
582
 
548
- ## 🏢 License
583
+ ## License
549
584
 
550
585
  Pixeltable is licensed under the Apache 2.0 License.
@@ -1,15 +1,15 @@
1
- pixeltable/__init__.py,sha256=wJ_4oQdkBAaaVKM8XiZKKSsWPnoemZxh34o6_5vDcxk,1562
1
+ pixeltable/__init__.py,sha256=PDfphK_WypPopRbBNhJ0wXiX5T9Vp4Vq9Hf8Oz_oXZA,1620
2
2
  pixeltable/__version__.py,sha256=LnMIuAxx6nAQDMev_jnZyUdgsaiE3F8lulfXQBRl9qQ,112
3
3
  pixeltable/config.py,sha256=-aoSVF0Aak83IC-u-XANw3if76TDq5VnnWNWoFDR5Hc,8390
4
- pixeltable/dataframe.py,sha256=I6iEJGD4pivUN-cPVFq_rcniZN7C55xpr37sMJ2BIdE,62986
5
- pixeltable/env.py,sha256=vmqDgsfonYLYubsR1N4n5H7aSo4MXtlnBN1Z8xFOeFI,44443
4
+ pixeltable/dataframe.py,sha256=XbrzPjnPgZKJ5lVgPO71cK-nRHCpqGCGWFc52kUO8_E,64213
5
+ pixeltable/env.py,sha256=LUTOi3DcinsVFoqiOmsG8Dlhe8yWBEfgIdY9rOlJMME,44203
6
6
  pixeltable/exceptions.py,sha256=Gm8d3TL2iiv6Pj2DLd29wp_j41qNBhxXL9iTQnL4Nk4,1116
7
- pixeltable/globals.py,sha256=8NijkEmtjY5me6J8zF4G-t1v5_z4q7btOK2yjUREUak,39118
7
+ pixeltable/globals.py,sha256=dktqUbpsiLorB4-1VjYDp7LH0rfqfh_3c8OD819K_H4,39183
8
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
11
  pixeltable/type_system.py,sha256=UfPZZy4zJ2kGvdHXI9rqxOGAjgIxCZ9QGvvidPWcq-M,56153
12
- pixeltable/catalog/__init__.py,sha256=zw6hiyAIjMBxCExtsr7G51ul2XQ9fTQQKcs45rIy7xA,682
12
+ pixeltable/catalog/__init__.py,sha256=GL0MLxqCBHlhKWqhC3e9B4kwTazagTOiqBHHRjyWbTg,726
13
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
@@ -18,13 +18,14 @@ pixeltable/catalog/insertable_table.py,sha256=VUuJ8z7OtMqgy_LMzkn1KzeLXdR-9poTtt
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=NLo8mcM8SKM8jC4uzRT5elhrC0XTGunjQYznqrCz3w0,81315
22
- pixeltable/catalog/table_version.py,sha256=jTYKzAdQuHBrknQLADBqjLhKwwqeVxmAPosMKsL051Q,64983
21
+ pixeltable/catalog/table.py,sha256=phOf59IZJO7xPPR91F2trJpA4TC9lic-dd13mbiUz5Q,80222
22
+ pixeltable/catalog/table_metadata.py,sha256=MVxJLS6Tz2PVOerlnoOOjjhq6LxUdDLeN0BUJf42Smw,3518
23
+ pixeltable/catalog/table_version.py,sha256=SRF2ACp_DcPMLTbc4dbZSgYEfW6-o-UzDOBehecKbb0,65073
23
24
  pixeltable/catalog/table_version_handle.py,sha256=FTPRqcGY-h-POcWyZbd9b8P2D5zIw5OSUvwF_dbyCGo,3608
24
25
  pixeltable/catalog/table_version_path.py,sha256=IaFVDH06_6ZMuBv5eLNCRTlWizpvz95jgAzqp4OVx_o,9713
25
26
  pixeltable/catalog/tbl_ops.py,sha256=Vdcz4Nzvdw09zcQaCEaOr9Uufk2rQHgG0vBvMbQp9R8,1145
26
27
  pixeltable/catalog/update_status.py,sha256=tF3KkDc6kvEQ7Tg3VMj-n774uKi1iLla61wLyeuwDRs,6888
27
- pixeltable/catalog/view.py,sha256=VSBy_8eO76X1ZFtT8T6syjksb-gtcNA-XPMGndRdBy0,15179
28
+ pixeltable/catalog/view.py,sha256=D01t8BNXjAEQiGyG2qCpvflNPsvl4fEk2wPkFpuScCA,15288
28
29
  pixeltable/exec/__init__.py,sha256=hQvj4ra4ubxu94qyuCBTHKsuYGzundkTTluOTIb5Bx8,524
29
30
  pixeltable/exec/aggregation_node.py,sha256=CTMR_p1_TGE-iVUP3jLvlmp5rssjukCKCRv3SjMCOo0,4502
30
31
  pixeltable/exec/cache_prefetch_node.py,sha256=tTFjDKnhWVWA5cVhm44afNp65cyKWIOO3wBU7fd69UM,11905
@@ -47,7 +48,7 @@ pixeltable/exprs/array_slice.py,sha256=C8O0cmGHdc-iVe2FFdW_2jRVR4Gwurzeot6ESEk6R
47
48
  pixeltable/exprs/column_property_ref.py,sha256=rq8VD34fZwAZuN9wIqQEwVay7LTPBKvXXdZPknOJM6M,4422
48
49
  pixeltable/exprs/column_ref.py,sha256=MH83bYsef5UC4vWU71PE-lPiVd8hVw4tT6sjdCCvWNw,15473
49
50
  pixeltable/exprs/comparison.py,sha256=lgaRx000ZaNH10A4hrtsi5XoZKE-CNEONGMi7jxJfcM,5133
50
- pixeltable/exprs/compound_predicate.py,sha256=vJVRVueAmaKnjiHCLWyh8wHgktzzK0DVqbOIQJgTjF8,3801
51
+ pixeltable/exprs/compound_predicate.py,sha256=8nGsBlKaMBe1TT1VrZQ-Khe8rVgB8vukZQSspiHDB7Y,3863
51
52
  pixeltable/exprs/data_row.py,sha256=Pi7oIh3YJ7lh0loeGgIGm9uRhCvOcD8wJNdatHpBMKw,12417
52
53
  pixeltable/exprs/expr.py,sha256=T558PJBeVaHCGgv_TBDUIn-fOZJtSMkz26jGUTpvCVY,35961
53
54
  pixeltable/exprs/expr_dict.py,sha256=2ZeZ0eACx3VrRNEOjipuT5WxOIzjXQ_DSip8NTH0KRo,1584
@@ -82,7 +83,7 @@ pixeltable/func/signature.py,sha256=LdHbdim14Zu7Xt1pMhOCzl6Xn2fq5CQQpwSXmu28umw,
82
83
  pixeltable/func/tools.py,sha256=2_M_u0Jiy5-uToZziB4O54aTuJeaytPmh71q3I2ydNw,6062
83
84
  pixeltable/func/udf.py,sha256=6tKpMt37t3BmXwRyA5fFAd6OM4D5EPEd2KuAr7DQhr0,13231
84
85
  pixeltable/functions/__init__.py,sha256=ZeRB7ksbzjdrvePXtd_mNxyP2RhjvN0ayl5nv7TdWcQ,613
85
- pixeltable/functions/anthropic.py,sha256=2Ja-pryC_3Yd1sXW-pibRuvKjgyfYqOhhl6nBWNOBt0,10504
86
+ pixeltable/functions/anthropic.py,sha256=q1rXr9MWCmnncfZXe8HlU1MVQZdAl4Ft8vdIpR-jgOg,10810
86
87
  pixeltable/functions/audio.py,sha256=S9xSg45Fx5kmB4NxOTSG99_5Kxc8kFfxuawV7qjMeS8,1660
87
88
  pixeltable/functions/bedrock.py,sha256=lTCFHjYunF3minBGWcjXR90yJ8resFjXr4niyKhfxms,4217
88
89
  pixeltable/functions/date.py,sha256=qs1svJ9FVod3OTa5hQNKIuashb6tVhW_2EAEXYGQX74,5308
@@ -90,7 +91,7 @@ pixeltable/functions/deepseek.py,sha256=iw59TKKcw3VqbHMHB2ugtcTPeTVKuHp_3pfkjF6D
90
91
  pixeltable/functions/fireworks.py,sha256=q7eWlYfiWbA0d9r3CB_NAe1fw3q-Z7qsw2gyGJNgWLQ,4786
91
92
  pixeltable/functions/gemini.py,sha256=igtpGBiVekkaWtVE6X04pQ7C9md8nY42W7xU_XuMayE,8924
92
93
  pixeltable/functions/globals.py,sha256=OyPJUJ4S6VWyzxstxIzk3xzYBGIEMwgk1RmSTWTZzdI,5106
93
- pixeltable/functions/groq.py,sha256=FpR_LJpfZfzyhEvoBMMbQpQ-VQSRzBsS9U21qaINwww,3593
94
+ pixeltable/functions/groq.py,sha256=61XbgY4ItASomMw9t-q8HBuv8II_ssclthjA7sL6jik,3605
94
95
  pixeltable/functions/huggingface.py,sha256=Y-io3EungSs5ibr43vLEXs4dz_Ej20F1nglD0fyLrXA,20371
95
96
  pixeltable/functions/image.py,sha256=IKXljMma-uU88efptC3F4aywau7DYcD-Nqd3YpmRNRw,13971
96
97
  pixeltable/functions/json.py,sha256=d7-AvwytUQtQYF_JnWJkptT_Yq0NgMpWfVk-m3U6qTY,807
@@ -98,7 +99,7 @@ pixeltable/functions/llama_cpp.py,sha256=uop0K6oNxCnQXbdiL-_6PVsusc1xqCtwTipAyIb
98
99
  pixeltable/functions/math.py,sha256=jhlD7v4eY-6KdmsFEBqb-W_vspGahOosUvFahWFzxrU,4969
99
100
  pixeltable/functions/mistralai.py,sha256=Fk52mfWUfxVy-yCxhH6wrGS7nLLSiOOrWxbTkkiQ-O8,5542
100
101
  pixeltable/functions/ollama.py,sha256=4-6h9Foq_7Ut7JtEHGkeg1KbuKaFywSuMrKiw0xAyCA,4231
101
- pixeltable/functions/openai.py,sha256=qeErzHgJ2D5KFhUxnzcqZ2DrvvT2q-UoMp3tNZP5fgg,28782
102
+ pixeltable/functions/openai.py,sha256=tXmT7UwyUbREa44PS9TPiK1xadPx6eQ_zLfDgQL-A9k,28999
102
103
  pixeltable/functions/replicate.py,sha256=sPvRGr0j0kCDc6Vz3mPUioFflApijukvZWJJUO2bqIQ,2429
103
104
  pixeltable/functions/string.py,sha256=LdBNOna5PUSPmM5VlJ_qhmwzyFhumW0k6Dvx2rXSZtc,25356
104
105
  pixeltable/functions/timestamp.py,sha256=3GVCVIWdry96Qk5XXuvbJ58Tp30iY5snBibzl2CHjQc,9143
@@ -113,16 +114,17 @@ pixeltable/index/__init__.py,sha256=97aFuxiP_oz1ldn5iq8IWApkOV8XG6ZIBW5-9rkS0vM,
113
114
  pixeltable/index/base.py,sha256=200s7v3Zy810bRlbSAYzxxaEjVssl6r8esTHiSvWRwQ,1704
114
115
  pixeltable/index/btree.py,sha256=8B06D67ay0DFUtEBC5q4bLjxMq7ILpKyyoLAiSaamzA,2503
115
116
  pixeltable/index/embedding_index.py,sha256=B_k_3UJmSv7t2ljUg8GC_D4t1jc03PVsTAvxqiTmHBA,11754
116
- pixeltable/io/__init__.py,sha256=chVGh3ygtZwSY6g_skIyCsjxwzo2847jDq9YGObAY98,608
117
+ pixeltable/io/__init__.py,sha256=SO9xvWuQHfg_YyVahDmstB3lSuMoPKRarW8qgUR81jM,655
117
118
  pixeltable/io/datarows.py,sha256=s2fDQTttGxq7cS5JwKFEJRSKn6WsXTaGdmm9VJSl_2M,6154
118
119
  pixeltable/io/external_store.py,sha256=rOYBwTqcZZVU2toWxJ_9Iy2w2YO0DhuABrM2xGmqHSo,14787
119
120
  pixeltable/io/fiftyone.py,sha256=JcAL9zFszSTcsws6ioF1KZZJFmUeg-11W-c4Gyh3FyQ,6891
120
121
  pixeltable/io/globals.py,sha256=B9ubI9Z0m2wGPZXWmZm10vlaP0UCuUsVyrMWvyudZSc,11360
121
122
  pixeltable/io/hf_datasets.py,sha256=5WfWfXoQppG1Bx_pS5n44KO1Vo_mEb_S82PLB8cLfAU,5606
122
123
  pixeltable/io/label_studio.py,sha256=OCQBVgGjXRSdukFQv2ZKdaBmpxanqH9ibDLxZd1L3mc,31469
124
+ pixeltable/io/lancedb.py,sha256=kNcYXptieMlJ6yxEIZHVFklEMOEB2mrSyp7XZmOw4qs,82
123
125
  pixeltable/io/pandas.py,sha256=xQmkwbqE9_fjbbPUgeG5yNICrbVVK73UHxDL-cgrQw0,9007
124
- pixeltable/io/parquet.py,sha256=qoVDuCoW-Tq14IlzN_psoNP7z83hIQ3ZEg_pKzHSqoY,7796
125
- pixeltable/io/table_data_conduit.py,sha256=--UWwG6agBtOA5PLPfjxp2XKoAQ-f5nSPJqOgA5DAAI,22062
126
+ pixeltable/io/parquet.py,sha256=qVvg9nixJnK9gXYxZocD8HE13SznyLrgW9IsehtT4j4,4101
127
+ pixeltable/io/table_data_conduit.py,sha256=8jwQ3IOoOBS-8j2TEfgiqsFUD85kEP5IjoC0dg2uPEk,22058
126
128
  pixeltable/io/utils.py,sha256=qzBTmqdIawXMt2bfXQOraYnEstL69eC2Z33nl8RrwJk,4244
127
129
  pixeltable/iterators/__init__.py,sha256=hI937cmBRU3eWbfJ7miFthAGUo_xmcYciw6gAjOCg9g,470
128
130
  pixeltable/iterators/audio.py,sha256=HYE8JcqaJsTGdrq4NkwV5tn7lcyMp6Fjrm59efOLzb0,9671
@@ -167,11 +169,11 @@ pixeltable/metadata/converters/convert_39.py,sha256=YaEfgStxtYGRbuRLFw8wTAZVJRzI
167
169
  pixeltable/metadata/converters/util.py,sha256=QUBOj2F_6rCAdIo0lgD1IVgAM15Vmq7ikQspB4s0eQ8,7732
168
170
  pixeltable/mypy/__init__.py,sha256=cD_oHXClR_bDM8qVNIfaOAgRhQjPfcWvLcinz79ua6o,54
169
171
  pixeltable/mypy/mypy_plugin.py,sha256=KCjzKOeKW5CBqJOq9Ch7ZJ25ICPc4nlTB49DxtC6oDM,5460
170
- pixeltable/share/__init__.py,sha256=AtR4nS6YkfkFRkXA-zZXFTK5pSQjHry8MnxdVLUk5SA,68
172
+ pixeltable/share/__init__.py,sha256=PTX1mw61Ss4acEOI-sUlu0HaoVsosLqwDfh0ldn8Hkg,84
171
173
  pixeltable/share/packager.py,sha256=5rSKnQCs3YP5h48d79bXEK4L8tLUSeTSbXaB8X9SmBI,31265
172
- pixeltable/share/publish.py,sha256=KS_R59AuVkHWkXHwELP74xgSHs8Z5z8SBPMcjzttt44,11469
174
+ pixeltable/share/publish.py,sha256=VE_H3ux56gdSHd8_ganxCnNYtxrjaalMPgwAIYmdbE8,11300
173
175
  pixeltable/utils/__init__.py,sha256=45qEM20L2VuIe-Cc3BTKWFqQb-S7A8qDtmmgl77zYK0,1728
174
- pixeltable/utils/arrow.py,sha256=Rooa02GL5k--D2utlKATtYKrrlsHbbi6JmkarXMux1M,6384
176
+ pixeltable/utils/arrow.py,sha256=U7vb_ffPCR7zv-phyBMPMDosPdKN6LK4IVMpfm2mRy8,10424
175
177
  pixeltable/utils/av.py,sha256=omJufz62dzaTTwlR7quKfcT7apf8KkBLJ9cQ9240dt0,4016
176
178
  pixeltable/utils/coco.py,sha256=Y1DWVYguZD4VhKyf7JruYfHWvhkJLq39fzbiSm5cdyY,7304
177
179
  pixeltable/utils/code.py,sha256=3CZMVJm69JIG5sxmd56mjB4Fo4L-s0_Y8YvQeJIj0F0,1280
@@ -185,14 +187,15 @@ pixeltable/utils/filecache.py,sha256=3TTEqhGg0pEAP_l0GKn34uspC4dha1jPab1Ka9_oTBM
185
187
  pixeltable/utils/formatter.py,sha256=tbMxE9rBw6wdKUnJhNZ8h9uAF8dZKcihQ2KesqAag9A,10096
186
188
  pixeltable/utils/http_server.py,sha256=6khOAtpVj1lDIm9Dx8VIECLm87cFEp4IFbAg8T92A2o,2441
187
189
  pixeltable/utils/iceberg.py,sha256=COeNqqy5RRMkDGLS8CTnaUeAccG10x2fwP3e1veuqIA,522
188
- pixeltable/utils/media_store.py,sha256=HVOuK5JTTvgSH_st0lsapv39Lnu29QGpkKUtZQybBTA,10560
190
+ pixeltable/utils/lancedb.py,sha256=Otr-t47YACRo0Cq9-FyelcUuan1Kgs4gxCOpLOckj3s,2988
191
+ pixeltable/utils/media_store.py,sha256=-rYfpZOUrWU1YtEFrxdrn9Na0NeyRW3HJYsOdH-kJO4,10898
189
192
  pixeltable/utils/pydantic.py,sha256=-ztUsuRXA7B6bywb5Yy1h5pNQ2DnsT1d0oHMxqtK3WY,2011
190
193
  pixeltable/utils/pytorch.py,sha256=564VHRdDHwD9h0v5lBHEDTJ8c6zx8wuzWYx8ZYjBxlI,3621
191
194
  pixeltable/utils/s3.py,sha256=pxip2MlCqd2Qon2dzJXzfxvwtZyc-BAsjAnLL4J_OXY,587
192
195
  pixeltable/utils/sql.py,sha256=Sa4Lh-VGe8GToU5W7DRiWf2lMl9B6saPqemiT0ZdHEc,806
193
196
  pixeltable/utils/transactional_directory.py,sha256=OFKmu90oP7KwBAljwjnzP_w8euGdAXob3y4Nx9SCNHA,1357
194
- pixeltable-0.4.11.dist-info/METADATA,sha256=HVVzENixWm3Kc_3PBsO-sDo7M3LF8IpNwwcuU4bUvQk,24248
195
- pixeltable-0.4.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
196
- pixeltable-0.4.11.dist-info/entry_points.txt,sha256=rrKugZmxDtGnXCnEQ5UJMaaSYY7-g1cLjUZ4W1moIhM,98
197
- pixeltable-0.4.11.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
198
- pixeltable-0.4.11.dist-info/RECORD,,
197
+ pixeltable-0.4.13.dist-info/METADATA,sha256=VSQp0eAebSMwoxcFkjAwTQbtuLISMx-PZ-LoCJo55hg,25631
198
+ pixeltable-0.4.13.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
199
+ pixeltable-0.4.13.dist-info/entry_points.txt,sha256=rrKugZmxDtGnXCnEQ5UJMaaSYY7-g1cLjUZ4W1moIhM,98
200
+ pixeltable-0.4.13.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
201
+ pixeltable-0.4.13.dist-info/RECORD,,