pixeltable 0.2.22__py3-none-any.whl → 0.2.23__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.
Files changed (40) hide show
  1. pixeltable/__init__.py +2 -2
  2. pixeltable/__version__.py +2 -2
  3. pixeltable/catalog/column.py +8 -22
  4. pixeltable/catalog/insertable_table.py +26 -8
  5. pixeltable/catalog/table.py +179 -83
  6. pixeltable/catalog/table_version.py +13 -39
  7. pixeltable/catalog/table_version_path.py +2 -2
  8. pixeltable/catalog/view.py +2 -2
  9. pixeltable/dataframe.py +20 -28
  10. pixeltable/env.py +2 -0
  11. pixeltable/exec/cache_prefetch_node.py +189 -43
  12. pixeltable/exec/data_row_batch.py +3 -3
  13. pixeltable/exec/exec_context.py +2 -2
  14. pixeltable/exec/exec_node.py +2 -2
  15. pixeltable/exec/expr_eval_node.py +8 -8
  16. pixeltable/exprs/arithmetic_expr.py +9 -4
  17. pixeltable/exprs/column_ref.py +4 -0
  18. pixeltable/exprs/comparison.py +5 -0
  19. pixeltable/exprs/json_path.py +1 -1
  20. pixeltable/func/aggregate_function.py +8 -8
  21. pixeltable/func/expr_template_function.py +6 -5
  22. pixeltable/func/udf.py +6 -11
  23. pixeltable/functions/huggingface.py +136 -25
  24. pixeltable/functions/llama_cpp.py +3 -2
  25. pixeltable/functions/mistralai.py +1 -1
  26. pixeltable/functions/openai.py +1 -1
  27. pixeltable/functions/together.py +1 -1
  28. pixeltable/functions/util.py +5 -2
  29. pixeltable/globals.py +55 -6
  30. pixeltable/plan.py +1 -1
  31. pixeltable/tool/create_test_db_dump.py +1 -1
  32. pixeltable/type_system.py +83 -35
  33. pixeltable/utils/coco.py +5 -5
  34. pixeltable/utils/formatter.py +3 -3
  35. pixeltable/utils/s3.py +6 -3
  36. {pixeltable-0.2.22.dist-info → pixeltable-0.2.23.dist-info}/METADATA +119 -46
  37. {pixeltable-0.2.22.dist-info → pixeltable-0.2.23.dist-info}/RECORD +40 -40
  38. {pixeltable-0.2.22.dist-info → pixeltable-0.2.23.dist-info}/LICENSE +0 -0
  39. {pixeltable-0.2.22.dist-info → pixeltable-0.2.23.dist-info}/WHEEL +0 -0
  40. {pixeltable-0.2.22.dist-info → pixeltable-0.2.23.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pixeltable
3
- Version: 0.2.22
3
+ Version: 0.2.23
4
4
  Summary: Pixeltable: The Multimodal AI Data Plane
5
5
  Author: Pixeltable, Inc.
6
6
  Author-email: contact@pixeltable.com
@@ -36,7 +36,8 @@ Requires-Dist: tqdm (>=4.64)
36
36
  Description-Content-Type: text/markdown
37
37
 
38
38
  <div align="center">
39
- <img src="https://raw.githubusercontent.com/pixeltable/pixeltable/main/docs/source/data/pixeltable-logo-large.png" alt="Pixeltable" width="50%" />
39
+ <img src="https://raw.githubusercontent.com/pixeltable/pixeltable/main/docs/source/data/pixeltable-logo-large.png"
40
+ alt="Pixeltable" width="50%" />
40
41
  <br></br>
41
42
 
42
43
  <h2>AI Data Insfrastructure — Declarative, Multimodal, and Incremental</h2>
@@ -47,43 +48,65 @@ Description-Content-Type: text/markdown
47
48
  <br>
48
49
  [![tests status](https://github.com/pixeltable/pixeltable/actions/workflows/pytest.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/pytest.yml)
49
50
  [![tests status](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml)
50
- [![PyPI Package](https://img.shields.io/pypi/v/pixeltable?color=4D148C)](https://pypi.org/project/pixeltable/)
51
51
  [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fpixeltable%2Fpixeltable.svg?type=shield&issueType=security)](https://app.fossa.com/projects/git%2Bgithub.com%2Fpixeltable%2Fpixeltable?ref=badge_shield&issueType=security)
52
- <a target="_blank" href="https://huggingface.co/Pixeltable"> <img src="https://img.shields.io/badge/🤗-HF Space-FF7D04" alt="Visit our Hugging Face space"/></a>
53
-
54
- [Installation](https://docs.pixeltable.com/docs/installation) | [Documentation](https://pixeltable.readme.io/) | [API Reference](https://pixeltable.github.io/pixeltable/) | [Code Samples](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#-code-samples) | [Computer Vision](https://docs.pixeltable.com/docs/object-detection-in-videos) | [LLM](https://docs.pixeltable.com/docs/document-indexing-and-rag)
52
+ [![PyPI Package](https://img.shields.io/pypi/v/pixeltable?color=4D148C)](https://pypi.org/project/pixeltable/)
53
+ <a target="_blank" href="https://huggingface.co/Pixeltable">
54
+ <img src="https://img.shields.io/badge/🤗-HF Space-FF7D04" alt="Visit our Hugging Face space"/>
55
+ </a>
56
+
57
+ [Installation](https://docs.pixeltable.com/docs/installation) |
58
+ [Documentation](https://pixeltable.readme.io/) |
59
+ [API Reference](https://pixeltable.github.io/pixeltable/) |
60
+ [Code Samples](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#-code-samples) |
61
+ [Computer Vision](https://docs.pixeltable.com/docs/object-detection-in-videos) |
62
+ [LLM](https://docs.pixeltable.com/docs/document-indexing-and-rag)
55
63
  </div>
56
64
 
57
- Pixeltable is a Python library providing a declarative interface for multimodal data (text, images, audio, video). It features built-in versioning, lineage tracking, and incremental updates, enabling users to **store**, **transform**, **index**, and **iterate** on data for their ML workflows.
65
+ Pixeltable is a Python library providing a declarative interface for multimodal data (text, images, audio, video).
66
+ It features built-in versioning, lineage tracking, and incremental updates, enabling users to **store**, **transform**,
67
+ **index**, and **iterate** on data for their ML workflows.
58
68
 
59
69
  Data transformations, model inference, and custom logic are embedded as **computed columns**.
60
- - **Load/Query all data types**: Interact with [video data](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#import-media-data-into-pixeltable-videos-images-audio) at the [frame level](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#text-and-image-similarity-search-on-video-frames-with-embedding-indexes) and documents at the [chunk level](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#automate-data-operations-with-views-eg-split-documents-into-chunks)
61
- - **Incremental updates for data transformation**: Maintain an [embedding index](https://docs.pixeltable.com/docs/embedding-vector-indexes) colocated with your data
62
- - **Lazy evaluation and cache management**: Eliminates the need for [manual frame extraction](https://docs.pixeltable.com/docs/object-detection-in-videos)
63
- - **Integrates with any Python libraries**: Use [built-in and custom functions (UDFs)](https://docs.pixeltable.com/docs/user-defined-functions-udfs) without complex pipelines
64
- - **Data format agnostic and extensibility**: Access tables as Parquet files, [PyTorch datasets](https://pixeltable.github.io/pixeltable/api/data-frame/#pixeltable.DataFrame.to_pytorch_dataset), or [COCO annotations](https://pixeltable.github.io/pixeltable/api/table/#pixeltable.Table.to_coco_dataset)
70
+
71
+ - **Load/Query all data types**: Interact with
72
+ [video data](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#import-media-data-into-pixeltable-videos-images-audio)
73
+ at the [frame level](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#text-and-image-similarity-search-on-video-frames-with-embedding-indexes)
74
+ and documents at the [chunk level](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#automate-data-operations-with-views-eg-split-documents-into-chunks)
75
+ - **Incremental updates for data transformation**: Maintain an
76
+ [embedding index](https://docs.pixeltable.com/docs/embedding-vector-indexes) colocated with your data
77
+ - **Lazy evaluation and cache management**: Eliminates the need for
78
+ [manual frame extraction](https://docs.pixeltable.com/docs/object-detection-in-videos)
79
+ - **Integrates with any Python libraries**: Use
80
+ [built-in and custom functions (UDFs)](https://docs.pixeltable.com/docs/user-defined-functions-udfs)
81
+ without complex pipelines
82
+ - **Data format agnostic and extensibility**: Access tables as Parquet files,
83
+ [PyTorch datasets](https://pixeltable.github.io/pixeltable/api/data-frame/#pixeltable.DataFrame.to_pytorch_dataset),
84
+ or [COCO annotations](https://pixeltable.github.io/pixeltable/api/table/#pixeltable.Table.to_coco_dataset)
65
85
 
66
86
  ## 💾 Installation
67
87
 
68
88
  ```python
69
89
  pip install pixeltable
70
90
  ```
91
+
71
92
  **Pixeltable is persistent. Unlike in-memory Python libraries such as Pandas, Pixeltable is a database.**
72
93
 
73
94
  ## 💡 Getting Started
95
+
74
96
  Learn how to create tables, populate them with data, and enhance them with built-in or user-defined transformations.
75
97
 
76
98
  | Topic | Notebook | Topic | Notebook |
77
99
  |:----------|:-----------------|:-------------------------|:---------------------------------:|
78
- | 10-Minute Tour of Pixeltable | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/pixeltable-basics.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> | Tables and Data Operations | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/fundamentals/tables-and-data-operations.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a>
79
- | User-Defined Functions (UDFs) | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/udfs-in-pixeltable.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> | Object Detection Models | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/object-detection-in-videos.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a>
80
- | Incremental Prompt Engineering | <a target="_blank" href="https://colab.research.google.com/github/mistralai/cookbook/blob/main/third_party/Pixeltable/incremental_prompt_engineering_and_model_comparison.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Github"/> | Working with External Files | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/working-with-external-files.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a>
81
- | Integrating with Label Studio | <a target="_blank" href="https://pixeltable.readme.io/docs/label-studio"> <img src="https://img.shields.io/badge/Documentation-013056" alt="Visit our documentation"/></a> | Audio/Video Transcript Indexing | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/audio-transcriptions.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
82
- | Multimodal Application | <a target="_blank" href="https://huggingface.co/spaces/Pixeltable/Multimodal-Powerhouse"> <img src="https://img.shields.io/badge/Hugging Face-FF7D04" alt="Visit our documentation"/></a> | Document Indexing and RAG | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/rag-demo.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
100
+ | 10-Minute Tour of Pixeltable | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/pixeltable-basics.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> | Tables and Data Operations | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/fundamentals/tables-and-data-operations.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> |
101
+ | User-Defined Functions (UDFs) | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/udfs-in-pixeltable.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> | Object Detection Models | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/object-detection-in-videos.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> |
102
+ | Incremental Prompt Engineering | <a target="_blank" href="https://colab.research.google.com/github/mistralai/cookbook/blob/main/third_party/Pixeltable/incremental_prompt_engineering_and_model_comparison.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Github"/> | Working with External Files | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/howto/working-with-external-files.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> |
103
+ | Integrating with Label Studio | <a target="_blank" href="https://pixeltable.readme.io/docs/label-studio"> <img src="https://img.shields.io/badge/Documentation-013056" alt="Visit our documentation"/></a> | Audio/Video Transcript Indexing | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/audio-transcriptions.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> |
104
+ | Multimodal Application | <a target="_blank" href="https://huggingface.co/spaces/Pixeltable/Multimodal-Powerhouse"> <img src="https://img.shields.io/badge/Hugging Face-FF7D04" alt="Visit our documentation"/></a> | Document Indexing and RAG | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/release/tutorials/rag-demo.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> |
83
105
 
84
106
  ## 🧱 Code Samples
85
107
 
86
108
  ### Import media data into Pixeltable (videos, images, audio...)
109
+
87
110
  ```python
88
111
  import pixeltable as pxt
89
112
 
@@ -97,9 +120,11 @@ paths = [
97
120
  ]
98
121
  v.insert({'video': prefix + p} for p in paths)
99
122
  ```
123
+
100
124
  Learn how to [work with data in Pixeltable](https://pixeltable.readme.io/docs/working-with-external-files).
101
125
 
102
126
  ### Object detection in images using DETR model
127
+
103
128
  ```python
104
129
  import pixeltable as pxt
105
130
  from pixeltable.functions import huggingface
@@ -117,18 +142,22 @@ paths = [
117
142
  t.insert({'image': prefix + p} for p in paths)
118
143
 
119
144
  # Add a computed column for image classification
120
- t['classification'] = huggingface.detr_for_object_detection(
121
- (t.image), model_id='facebook/detr-resnet-50'
122
- )
145
+ t.add_computed_column(classification=huggingface.detr_for_object_detection(
146
+ t.image,
147
+ model_id='facebook/detr-resnet-50'
148
+ ))
123
149
 
124
150
  # Retrieve the rows where cats have been identified
125
151
  t.select(animal = t.image,
126
152
  classification = t.classification.label_text[0]) \
127
153
  .where(t.classification.label_text[0]=='cat').head()
128
154
  ```
129
- Learn about computed columns and object detection: [Comparing object detection models](https://pixeltable.readme.io/docs/object-detection-in-videos).
155
+
156
+ Learn about computed columns and object detection:
157
+ [Comparing object detection models](https://pixeltable.readme.io/docs/object-detection-in-videos).
130
158
 
131
159
  ### Extend Pixeltable's capabilities with user-defined functions
160
+
132
161
  ```python
133
162
  @pxt.udf
134
163
  def draw_boxes(img: PIL.Image.Image, boxes: list[list[float]]) -> PIL.Image.Image:
@@ -138,9 +167,12 @@ def draw_boxes(img: PIL.Image.Image, boxes: list[list[float]]) -> PIL.Image.Imag
138
167
  d.rectangle(box, width=3) # Draw bounding box rectangles on the copied image
139
168
  return result
140
169
  ```
141
- Learn more about user-defined functions: [UDFs in Pixeltable](https://pixeltable.readme.io/docs/user-defined-functions-udfs).
170
+
171
+ Learn more about user-defined functions:
172
+ [UDFs in Pixeltable](https://pixeltable.readme.io/docs/user-defined-functions-udfs).
142
173
 
143
174
  ### Automate data operations with views, e.g., split documents into chunks
175
+
144
176
  ```python
145
177
  # In this example, the view is defined by iteration over the chunks of a DocumentSplitter
146
178
  chunks_table = pxt.create_view(
@@ -151,16 +183,21 @@ chunks_table = pxt.create_view(
151
183
  separators='token_limit', limit=300)
152
184
  )
153
185
  ```
154
- Learn how to leverage views to build your [RAG workflow](https://pixeltable.readme.io/docs/document-indexing-and-rag).
186
+
187
+ Learn how to leverage views to build your
188
+ [RAG workflow](https://pixeltable.readme.io/docs/document-indexing-and-rag).
155
189
 
156
190
  ### Evaluate model performance
191
+
157
192
  ```python
158
193
  # The computation of the mAP metric can become a query over the evaluation output
159
194
  frames_view.select(mean_ap(frames_view.eval_yolox_tiny), mean_ap(frames_view.eval_yolox_m)).show()
160
195
  ```
196
+
161
197
  Learn how to leverage Pixeltable for [Model analytics](https://pixeltable.readme.io/docs/object-detection-in-videos).
162
198
 
163
199
  ### Working with inference services
200
+
164
201
  ```python
165
202
  chat_table = pxt.create_table('together_demo.chat', {'input': pxt.String})
166
203
 
@@ -168,19 +205,23 @@ chat_table = pxt.create_table('together_demo.chat', {'input': pxt.String})
168
205
  messages = [{'role': 'user', 'content': chat_table.input}]
169
206
 
170
207
  # This example shows how additional parameters from the Together API can be used in Pixeltable
171
- chat_table['output'] = chat_completions(
172
- messages=messages,
173
- model='mistralai/Mixtral-8x7B-Instruct-v0.1',
174
- max_tokens=300,
175
- stop=['\n'],
176
- temperature=0.7,
177
- top_p=0.9,
178
- top_k=40,
179
- repetition_penalty=1.1,
180
- logprobs=1,
181
- echo=True
208
+ chat_table.add_computed_column(
209
+ output=chat_completions(
210
+ messages=messages,
211
+ model='mistralai/Mixtral-8x7B-Instruct-v0.1',
212
+ max_tokens=300,
213
+ stop=['\n'],
214
+ temperature=0.7,
215
+ top_p=0.9,
216
+ top_k=40,
217
+ repetition_penalty=1.1,
218
+ logprobs=1,
219
+ echo=True
220
+ )
221
+ )
222
+ chat_table.add_computed_column(
223
+ response=chat_table.output.choices[0].message.content
182
224
  )
183
- chat_table['response'] = chat_table.output.choices[0].message.content
184
225
 
185
226
  # Start a conversation
186
227
  chat_table.insert([
@@ -189,9 +230,11 @@ chat_table.insert([
189
230
  ])
190
231
  chat_table.select(chat_table.input, chat_table.response).head()
191
232
  ```
233
+
192
234
  Learn how to interact with inference services such as [Together AI](https://pixeltable.readme.io/docs/together-ai) in Pixeltable.
193
235
 
194
236
  ### Text and image similarity search on video frames with embedding indexes
237
+
195
238
  ```python
196
239
  import pixeltable as pxt
197
240
  from pixeltable.functions.huggingface import clip_image, clip_text
@@ -225,8 +268,8 @@ frames_view.order_by(sim, asc=False).limit(5).select(frames_view.frame, sim=sim)
225
268
  sample_text = 'red truck'
226
269
  sim = frames_view.frame.similarity(sample_text)
227
270
  frames_view.order_by(sim, asc=False).limit(5).select(frames_view.frame, sim=sim).collect()
228
-
229
271
  ```
272
+
230
273
  Learn how to work with [Embedding and Vector Indexes](https://docs.pixeltable.com/docs/embedding-vector-indexes).
231
274
 
232
275
  ## 🔄 AI Stack Comparison
@@ -265,11 +308,15 @@ Learn how to work with [Embedding and Vector Indexes](https://docs.pixeltable.co
265
308
 
266
309
  ### What is Pixeltable?
267
310
 
268
- Pixeltable unifies data storage, versioning, and indexing with orchestration and model versioning under a declarative table interface, with transformations, model inference, and custom logic represented as computed columns.
311
+ Pixeltable unifies data storage, versioning, and indexing with orchestration and model versioning under a declarative
312
+ table interface, with transformations, model inference, and custom logic represented as computed columns.
269
313
 
270
314
  ### What problems does Pixeltable solve?
271
315
 
272
- Today's solutions for AI app development require extensive custom coding and infrastructure plumbing. Tracking lineage and versions between and across data transformations, models, and deployments is cumbersome. Pixeltable lets ML Engineers and Data Scientists focus on exploration, modeling, and app development without dealing with the customary data plumbing.
316
+ Today's solutions for AI app development require extensive custom coding and infrastructure plumbing.
317
+ Tracking lineage and versions between and across data transformations, models, and deployments is cumbersome.
318
+ Pixeltable lets ML Engineers and Data Scientists focus on exploration, modeling, and app development without
319
+ dealing with the customary data plumbing.
273
320
 
274
321
  ### What does Pixeltable provide me with? Pixeltable provides:
275
322
 
@@ -290,22 +337,48 @@ Today's solutions for AI app development require extensive custom coding and inf
290
337
  - You never need to re-run pipelines from scratch because you’re adding data
291
338
  - **It integrates with any existing Python code or libraries**
292
339
  - Bring your ever-changing code and workloads
293
- - You choose the models, tools, and AI practices (e.g., your embedding model for a vector index); Pixeltable orchestrates the data
340
+ - You choose the models, tools, and AI practices (e.g., your embedding model for a vector index);
341
+ Pixeltable orchestrates the data
294
342
 
295
343
  ### What is Pixeltable not providing?
296
344
 
297
- - Pixeltable is not a low-code, prescriptive AI solution. We empower you to use the best frameworks and techniques for your specific needs.
298
- - We do not aim to replace your existing AI toolkit, but rather enhance it by streamlining the underlying data infrastructure and orchestration.
345
+ - Pixeltable is not a low-code, prescriptive AI solution. We empower you to use the best frameworks and techniques for
346
+ your specific needs.
347
+ - We do not aim to replace your existing AI toolkit, but rather enhance it by streamlining the underlying data
348
+ infrastructure and orchestration.
299
349
 
300
350
  > [!TIP]
301
- > Check out the [Integrations](https://pixeltable.readme.io/docs/working-with-openai) section, and feel free to submit a request for additional ones.
351
+ > Check out the [Integrations](https://pixeltable.readme.io/docs/working-with-openai) section, and feel free to submit
352
+ > a request for additional ones.
353
+
354
+ ## 🤝 Contributing to Pixeltable
355
+
356
+ We're excited to welcome contributions from the community! Here's how you can get involved:
357
+
358
+ ### 🐛 Report Issues
359
+
360
+ - Found a bug? [Open an issue](https://github.com/pixeltable/pixeltable/issues)
361
+ - Include steps to reproduce and environment details
362
+
363
+ ### 💡 Submit Changes
364
+
365
+ - Fork the repository
366
+ - Create a feature branch
367
+ - Submit a [pull request](https://github.com/pixeltable/pixeltable/pulls)
368
+ - See our [Contributing Guide](CONTRIBUTING.md) for detailed instructions
369
+
370
+ ### 💬 Join the Discussion
371
+
372
+ - Have questions? Start a [Discussion](https://github.com/pixeltable/pixeltable/discussions)
373
+ - Share your Pixeltable projects and use cases
374
+ - Help others in the community
302
375
 
303
- ## 🐛 Contributions & Feedback
376
+ ### 📝 Improve Documentation
304
377
 
305
- Are you experiencing issues or bugs with Pixeltable? File an [Issue](https://github.com/pixeltable/pixeltable/issues).
306
- </br>Do you want to contribute? Feel free to open a [PR](https://github.com/pixeltable/pixeltable/pulls).
378
+ - Suggest examples and tutorials
379
+ - Propose improvements
307
380
 
308
- ## :classical_building: License
381
+ ## 🏢 License
309
382
 
310
383
  This library is licensed under the Apache 2.0 License.
311
384
 
@@ -1,39 +1,39 @@
1
- pixeltable/__init__.py,sha256=r-kbRRoAp3rD61EEZbmgrMfo3X0TMRNl16hXMgHVHRg,1374
2
- pixeltable/__version__.py,sha256=8hdYkuW_Aobhb48yBMyzCJUcf2bpelFP4zORLc4rC_o,114
1
+ pixeltable/__init__.py,sha256=gv2jvZ7H5tEjLear10E7hSH9jF5Mw6iSeryvRp88bOE,1391
2
+ pixeltable/__version__.py,sha256=7KY-iWvvGLR_f-tQMjxiOTfMCj-z3KM_23EsiPZSTl8,114
3
3
  pixeltable/catalog/__init__.py,sha256=Ar6_F_6C7tkznIlCPBHVHDop5YssBDjKQr2NPQ21QCI,484
4
4
  pixeltable/catalog/catalog.py,sha256=tyDyI5wQw7vV6_FChrp9qgGCRClcjiSdW3eygYT0p9s,7849
5
- pixeltable/catalog/column.py,sha256=zIWQp0TWQleXsgRSWHJjjoshI-WNhiXcgo8zJopsooM,10508
5
+ pixeltable/catalog/column.py,sha256=ezeKoGl6aBTzSZBihDA6vdETcvyCguAD4OsmrxWs73A,9595
6
6
  pixeltable/catalog/dir.py,sha256=fG_BQM-fLuABpTstMVH-9dvZPx7kqi3sgTQgKveVXJI,922
7
7
  pixeltable/catalog/globals.py,sha256=2P9cEfgnYQ19MFS4OsbnA8ZQkWLZPqJmmknDYWCXjWw,2415
8
- pixeltable/catalog/insertable_table.py,sha256=bzwHsUU_KZPhXs1jzzJzmTonzV5gCfXJR2hXTRT3Ejs,6964
8
+ pixeltable/catalog/insertable_table.py,sha256=hOsdYhkhtRcDOrRkweIGFUfjweWF3fLUErkUTlGYoSU,7172
9
9
  pixeltable/catalog/named_function.py,sha256=W8vikP_3jMJ9pQQsksO2EfQAlaVxuQHBlo65M4924dc,1150
10
10
  pixeltable/catalog/path.py,sha256=QgccEi_QOfaKt8YsR2zLtd_z7z7QQkU_1kprJFi2SPQ,1677
11
11
  pixeltable/catalog/path_dict.py,sha256=4b9_Ax7Q8tkmoCYPaKNedpQkU17pE0oGDd2XB53eNZA,5979
12
12
  pixeltable/catalog/schema_object.py,sha256=qhpeeUPOYT5doDbsyUNBcPm5QzAQPCAsikqh1PQ6d1k,2226
13
- pixeltable/catalog/table.py,sha256=Vzsr1MU_9HvfIUwrS4gnV5ZCysDdQX2lMlWfmLuAa5U,45884
14
- pixeltable/catalog/table_version.py,sha256=ulN1x9DfPpJkAIAcYJmJj0-TcyPt5qv8NHVO8VQdxPc,59021
15
- pixeltable/catalog/table_version_path.py,sha256=YpnNh8QYyoMQCuAZPr1SGovSFD-70lcvZasY4dh_-xM,5778
16
- pixeltable/catalog/view.py,sha256=vctwgzihDoKh3CSj2iGT0KrFeB18RL68AX5t9JCdXYg,10690
17
- pixeltable/dataframe.py,sha256=F14t9HLoZeBKXIfUP9wkWHHKRgwXa2wAB9Nh0jsEhF8,34001
18
- pixeltable/env.py,sha256=2JSDM0m87T5HtuOWxCXRL9h9iK7u-kOfigRf-3ZxBhU,30425
13
+ pixeltable/catalog/table.py,sha256=7UwLGydwfvzBoQXjqZdn8toPU6-6t0OySPFIiwj6KkA,48477
14
+ pixeltable/catalog/table_version.py,sha256=W4yrvn-mF63CQ8cQGmjbjYTCf1xYuV6k6rI__ubJOIc,57898
15
+ pixeltable/catalog/table_version_path.py,sha256=CczGbcz5ESq663arreri_p4chMZHozgG6k3y-ajkJN4,5787
16
+ pixeltable/catalog/view.py,sha256=7KQeHiqKmGrS_hjt6QjIjZhOvl9-XKBAi7A9_9_Worg,10715
17
+ pixeltable/dataframe.py,sha256=SGge2DxcjT0gaKpWsmQJhqlqX6b75nefoKAh1Ld4S8Y,33639
18
+ pixeltable/env.py,sha256=oIFeLJVDQuQgW8REAoNkY45BF2o02NxtysgAlJNEBc8,30520
19
19
  pixeltable/exceptions.py,sha256=NuFY2WtkQpLfLHT_J70kOw9Tr0kEDkkgo-u7As4Gaq4,410
20
20
  pixeltable/exec/__init__.py,sha256=QmaKzkZ704nbJ1BiAFwjYvIX3R2_EHzpO8R7HxcEY-g,481
21
21
  pixeltable/exec/aggregation_node.py,sha256=0LdoPp_CR_UbcS60XkDw66SqlrQnw6Dy6KDWqi4PJ6k,4005
22
- pixeltable/exec/cache_prefetch_node.py,sha256=c1y2m6Zqbq6fRfUyD2hAxzKrkNnRSXeA8K5ehaIMpa0,5242
22
+ pixeltable/exec/cache_prefetch_node.py,sha256=hrJA5PxLSmFRuZdZO4Nc-vy6_PSb9YO4rnJc6MSTPHE,12017
23
23
  pixeltable/exec/component_iteration_node.py,sha256=ABuXGbDRQWLGuaBnfK7bvOxCrz81vMMiAvXHHI8SX4c,4930
24
- pixeltable/exec/data_row_batch.py,sha256=RM56YaYcr4JeNdw4npVT329IcWlel2ff-o1UDp69k3Y,2931
25
- pixeltable/exec/exec_context.py,sha256=0rg5V8HzSy-BvqmSbGr-U4aJ4eOZg2JN0x6zjYQGtBc,1090
26
- pixeltable/exec/exec_node.py,sha256=FrIZzBMaKlWvEMfkgSnGu9GK_EEGhWYcJLT__FI6WKY,3254
27
- pixeltable/exec/expr_eval_node.py,sha256=PNscxhG4o208UBi0d9pwsoUDdkPiCoH1xM8RlTaTlHY,11896
24
+ pixeltable/exec/data_row_batch.py,sha256=qPN0GtBGt72Jnap-UN53VlUPOpYEvqJhp1nuTeJ_8Co,2925
25
+ pixeltable/exec/exec_context.py,sha256=-FbfYLcGOL7mviru5dE1A7x4YxLbdKoXBHN3OSbqbcg,1084
26
+ pixeltable/exec/exec_node.py,sha256=glESCX17lcVYE0SzDb1O2HzKiWwaiXZRsB5DHYwMwnQ,3248
27
+ pixeltable/exec/expr_eval_node.py,sha256=nEMnVTikQyTa3C9xfe6tuWLpQceM_7XJqfMPB_oI0wU,11890
28
28
  pixeltable/exec/in_memory_data_node.py,sha256=uK3puLZDzUSJUJwGwkTMYoPqNIvE67jtQodhE2sCz2M,3452
29
29
  pixeltable/exec/row_update_node.py,sha256=b8yuKtkmI2Q6U-7svKbkjdM3Z85ddZoJgJgUa17j-YE,2773
30
30
  pixeltable/exec/sql_node.py,sha256=9huPLpMqq4J5JhSh5vtt-T4K1Tu3EXJ9omv6mMi-zD4,17616
31
31
  pixeltable/exprs/__init__.py,sha256=toKJm6y1_2fD8Fo-ld5feD-nMN-yZGMWwMHYyb8vsrg,967
32
- pixeltable/exprs/arithmetic_expr.py,sha256=F97EF0y-OW8edIB_Trg5bJmCV_nif7QBnVGL4Zv7Xiw,5997
32
+ pixeltable/exprs/arithmetic_expr.py,sha256=oUe7r3CQo3VJOzFUpmDDuYZMWc7zEcngNdb17GvTseQ,6321
33
33
  pixeltable/exprs/array_slice.py,sha256=HgB9BV8a9Qg6Y-t7PRjFszr40jDArensZ75-wDyFpcQ,2179
34
34
  pixeltable/exprs/column_property_ref.py,sha256=rCYNv9o_UMVhIz-U0-bhTxLf4c7_CTYWH6VB9LLo0F8,3787
35
- pixeltable/exprs/column_ref.py,sha256=YjqxAqBVHDc0pNHEJmbQNGq7eqOiloy_Umr4qW6Gb1c,9626
36
- pixeltable/exprs/comparison.py,sha256=K5WWA2FvnZuts2VcLVGKtUyAOol67NgqGoeNiuhdyKU,4757
35
+ pixeltable/exprs/column_ref.py,sha256=Od4UAvSr--TtsWkJhqNBEkUWmOGTNEhLJRAZQerQ44c,9817
36
+ pixeltable/exprs/comparison.py,sha256=s1f4fGytnrhXN5wfuGlKUoNpp5EO4LLrFNA321OH1Kk,5100
37
37
  pixeltable/exprs/compound_predicate.py,sha256=H35SB053aCHigtPp_JYrOTLRC2AGDQK3NAkOYOBPDQg,3845
38
38
  pixeltable/exprs/data_row.py,sha256=rLtKxlst9mK6684A5y-nsjBcalyKEcKAWcYCtNpK10w,9852
39
39
  pixeltable/exprs/expr.py,sha256=QlVslNfAOPxPVvsNiEv_k_S2QWp4-8dc3eocT6zclNU,29986
@@ -45,7 +45,7 @@ pixeltable/exprs/in_predicate.py,sha256=eR6qFf_0lsqM0jPRI9IxTsDlXM6Bt9RBY9a05bZ6
45
45
  pixeltable/exprs/inline_expr.py,sha256=OF-yLIoU7LfHqFdbZkZnC1oQ2_X26WyHbfxbxrdZr-k,7104
46
46
  pixeltable/exprs/is_null.py,sha256=x9-CijQf1JuUioUAv1_8OvP9nK9Ahjc1wJfgE1QEOL8,1091
47
47
  pixeltable/exprs/json_mapper.py,sha256=OJ8ohAZhuLxTGtmmbB8voVG9AzUuCHLHuNBi-3hJZEg,4544
48
- pixeltable/exprs/json_path.py,sha256=CiX5hXWNL8caNFajVXn3PGxkINK7rAfHDIfbNIkWT04,6753
48
+ pixeltable/exprs/json_path.py,sha256=BUpjc7u-GOHcmQ1d3FzIZlGVE6VLioGOfMwA_gpWvEE,6810
49
49
  pixeltable/exprs/literal.py,sha256=TTKb0gw6qck9D61SwVDuBrLrBrGwEhkCB-m0ILFpWFk,3764
50
50
  pixeltable/exprs/method_ref.py,sha256=x9rQzlRQlVnbTpBQoV0COFsiOPstJcOifXl0lJC-roI,2614
51
51
  pixeltable/exprs/object_ref.py,sha256=GVg6uxZnKwFVTC0kouJq-wMFP-gUPb_ld_syHrsGMdE,1283
@@ -60,36 +60,36 @@ pixeltable/ext/functions/__init__.py,sha256=hIjPEKC5E5uJOXlQqUyhP9yn9ZqWOCJAlj0k
60
60
  pixeltable/ext/functions/whisperx.py,sha256=jojjNhazcYiAh1scwUl-erhIDRr4kOTkcLrjy0xcp6g,2325
61
61
  pixeltable/ext/functions/yolox.py,sha256=k-pQTelv4Tea3AXvDB7Kc7YCIa1uexjVGqxETP0B_hc,5351
62
62
  pixeltable/func/__init__.py,sha256=WjftUGyNkd6bF_qSxqZ5Gd7Elf8oExb3dUlpydhdFTo,407
63
- pixeltable/func/aggregate_function.py,sha256=x3BW-lRlMFmStpOwmMXDKK0Zoli_wBffXKw5wDqb-80,9495
63
+ pixeltable/func/aggregate_function.py,sha256=LM6DMldmaUJNlQgEqPFQIKVmwjl3IpBxS4Y61G8-zG0,9477
64
64
  pixeltable/func/callable_function.py,sha256=PO5Mn5WL2cd7y5LcKr_K0AaYHf2-1NfuXP2IPOfsiVs,4933
65
- pixeltable/func/expr_template_function.py,sha256=0krKY-0i-aTZdgAS8wZkq4NQc-EVtAA7-a0zh2vHmTI,4059
65
+ pixeltable/func/expr_template_function.py,sha256=2co1I9Epzh2ROyQ2WYJAfEbw8OxTbnc0Wp3GOvBLRBU,4043
66
66
  pixeltable/func/function.py,sha256=BLJbahyKteGemp0EcG7joTrgrG2hnIfwHkuKoLZm4mo,6941
67
67
  pixeltable/func/function_registry.py,sha256=fBXe7NKyk8_JzZz6fsS0LF-WHTdMnmIP_XzrICuj9fA,12328
68
68
  pixeltable/func/globals.py,sha256=sEwn6lGgHMp6VQORb_P5qRd_-Q2_bUSqvqM9-XPN_ec,1483
69
69
  pixeltable/func/query_template_function.py,sha256=pGqwtWiPsEmo7phVoJJODiuD1Sh0gZoW4BpKnZV9cRE,3537
70
70
  pixeltable/func/signature.py,sha256=vBKs3igtijTQGK7rEGTxBiOznKo6Tj9Ut6OrSfiVcA0,8609
71
- pixeltable/func/udf.py,sha256=yn3D2vTn7eJ_rCB8MoJp2MAphufOddOP89sxnBsbyfg,7634
71
+ pixeltable/func/udf.py,sha256=_883xbGujeIhYOz-lWH5SvLn22F5JVpP6O_MRvpU4hU,7362
72
72
  pixeltable/functions/__init__.py,sha256=EtR9M3ewYpmtHeshNULqZVBd87bNeKSFAdpOuWCMl6o,389
73
73
  pixeltable/functions/anthropic.py,sha256=P1E5o4-8QP1LTIUsWVgo_wMJ4WOnxtXUUXuFWUagChU,3032
74
74
  pixeltable/functions/audio.py,sha256=7213nTnqKJ6vM9kalaoJ283OwX5SGEJN10vDhaRNZ6E,644
75
75
  pixeltable/functions/fireworks.py,sha256=qwFC_eIaDs-glxyJ_IVXaNGkpgPzeRsQ_SdpzueBxq0,2605
76
76
  pixeltable/functions/globals.py,sha256=pCFX2a_N87SwG9GxyPjSOC3TVMowMB6XIHSWKfFOuGE,3917
77
- pixeltable/functions/huggingface.py,sha256=Zvj4REfXX7cB0trdiDAemkqpWxrsq2sZyrSULgqJU7U,16043
77
+ pixeltable/functions/huggingface.py,sha256=hcScloxprIuyf89_bSnQi-N3VZRQosmZfBhmDJF_eTc,20814
78
78
  pixeltable/functions/image.py,sha256=3Qm4ybAT_o4YUl3bzhEXy8dKOwgZ7RCUV-ky-dbL_jc,13836
79
79
  pixeltable/functions/json.py,sha256=ehCnBA5WiIl-crV9PFVgmxrsWsiO8FpRs9LDwcSpLa4,879
80
- pixeltable/functions/llama_cpp.py,sha256=2t8o2m6jsEFFmVcVl3Fjyoy6Ogxbt-uYJ6a_jcrpEso,3838
81
- pixeltable/functions/mistralai.py,sha256=qdcAiUQcbTd6gTHiUCVcH2bQUh-gFunudGbqYpwxzdo,5565
80
+ pixeltable/functions/llama_cpp.py,sha256=1awALuAXVpQH64l7vQlM8gvxLDix4c1-6DV3nG5RHu4,3881
81
+ pixeltable/functions/mistralai.py,sha256=zljm0ZfucnJFaRyMQHkjyD51vEe0OlurACin7kCNmxk,5569
82
82
  pixeltable/functions/ollama.py,sha256=eZh461HvChjlr0CvQyd93m7qrv889PAoM-Z1IKierY0,4335
83
- pixeltable/functions/openai.py,sha256=YCV1b6IV_zROjQQl3R-r40WeCjIWuOGqTeRgcQzM-WE,15579
83
+ pixeltable/functions/openai.py,sha256=e1-NZP5v0h9Axlo1oxUYzWfVRxKZVhOrKnqwcy0jH88,15583
84
84
  pixeltable/functions/replicate.py,sha256=j8ZedScOMInmHWmriQSUOviw6tp8gQr-W6n21PNNL2g,2188
85
85
  pixeltable/functions/string.py,sha256=VqzhVildxTt_XblW89Kl5Zd6MVOU71eaX2LTMY5jkUg,20366
86
86
  pixeltable/functions/timestamp.py,sha256=Q5l2iEscrS3ZfKAa4R940bSM_x4FsmF-PF2i-wQ_4_c,9096
87
- pixeltable/functions/together.py,sha256=llha20aaTuCo2dewcAUkbT-QbDNXTajwoBLlSiDRPoo,9436
88
- pixeltable/functions/util.py,sha256=F2iiIL7UfhYdCVzdCa3efYqWbaeLKFrbycKnuPkG57M,650
87
+ pixeltable/functions/together.py,sha256=xbgQMlA2G2FXdoQR4O9DlkmBsm2mivAdiOnxtxcyPwo,9440
88
+ pixeltable/functions/util.py,sha256=GgKTzCjvzUQNjWtSObTkfxkvJ9GVUOzKimY45WhE25M,759
89
89
  pixeltable/functions/video.py,sha256=yW1Lwqu4_jYXp1aAOUThKB5-_Qxy-In_vTgB5cuW7Lg,6809
90
90
  pixeltable/functions/vision.py,sha256=K_E1Q-n2plPuFoOPlbKWRMiJp9dPgftIJ2T_o3TNL3I,15594
91
91
  pixeltable/functions/whisper.py,sha256=f2wqRd0n9jSBqRZN3W93UaetiAHtbsK0j9jXR2j2kkQ,2913
92
- pixeltable/globals.py,sha256=qO6-RBZ9j7nPGqAkUSyJpl8EQd7DLDswjCLMP3_EW80,17799
92
+ pixeltable/globals.py,sha256=GDA5T6jpXlFHLMKraLZxZ9jTC99IiQfW85jkbTCPKKc,20002
93
93
  pixeltable/index/__init__.py,sha256=XBwetNQQwnz0fiKwonOKhyy_U32l_cjt77kNvEIdjWs,102
94
94
  pixeltable/index/base.py,sha256=zo0YvJI3oXiK6hZJztB36ZftKKhLfO75Zq3t-PeQA6M,1556
95
95
  pixeltable/index/btree.py,sha256=JFerLyyLoBaD0FSF_jJ6iJFBVa-z_et--KdNR02xjRg,2264
@@ -122,32 +122,32 @@ pixeltable/metadata/converters/convert_21.py,sha256=YTztkbqOC2zQcTWrXfhrP8diUbfx
122
122
  pixeltable/metadata/converters/util.py,sha256=nycZk_UecJcrVZsIyxQrz5ngbke8-yfY-_UcERuzhPk,5983
123
123
  pixeltable/metadata/notes.py,sha256=HJmeA9fo37iREFIhlbGbxWnwbwIDcvdqvJO-BavIvxE,597
124
124
  pixeltable/metadata/schema.py,sha256=CnEsMqLn4hzLDaAr5lyd-NqiOUFQdvhxdCoXMR4Qcs4,9352
125
- pixeltable/plan.py,sha256=LN5R-0gEmGX9kwm67syCqvrLuPaWSiT3pUfMJoudkLY,37442
125
+ pixeltable/plan.py,sha256=GRR1HvQKxYfpFJzeuPa1Ku3aE3tR3g3bcRu7KlfsAqQ,37436
126
126
  pixeltable/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
127
  pixeltable/store.py,sha256=IG33KEu0eHGD2CGMBVV-HmPj7xGUMCLmLGdJn49_4Cs,21990
128
- pixeltable/tool/create_test_db_dump.py,sha256=axTlPFqodZJ5p8kRVmya3PgghqBaF8oYh7a4vbusmcA,11986
128
+ pixeltable/tool/create_test_db_dump.py,sha256=Qm9uq-PbcwNhj4Iczw5_uYJXh4TIyOp4RVKXssVFAiU,11972
129
129
  pixeltable/tool/create_test_video.py,sha256=4cQmqoKjn3juy7Ilty75gWBygqBxTZ1E9XPlrsC0Ssk,2931
130
130
  pixeltable/tool/doc_plugins/griffe.py,sha256=J5zxyEUchfR3mkWmhx4Vjl_iSodL_pHiuOyD2eczbNU,2182
131
131
  pixeltable/tool/doc_plugins/mkdocstrings.py,sha256=afq7XOaSC5WRmugkh-FMFMK8PqOgIlDIsJdD8cuPhtE,207
132
132
  pixeltable/tool/doc_plugins/templates/material/udf.html.jinja,sha256=R-7Q57nmDd5BUea-F1-MjwjK3pq7uBHXNoSo8_QjZG4,4890
133
133
  pixeltable/tool/embed_udf.py,sha256=EXvfvuzZm0uTgH-aAATSrKV8ixCU8OMwpzXlJMg845Y,299
134
134
  pixeltable/tool/mypy_plugin.py,sha256=__oTFElirrK25jCX1z_asD_gxGnGxtD2TaU6r1if-Ic,1784
135
- pixeltable/type_system.py,sha256=y_fbms9LyC8lFCdXiewMJKqkzwiYBJE9ZoQbrQxJv2c,39980
135
+ pixeltable/type_system.py,sha256=6U3bSQpXCnrxrpO4uCQ6jTO-OIbgnQB8A2agXnnlvkA,41935
136
136
  pixeltable/utils/__init__.py,sha256=UYlrf6TIWJT0g-Hac0b34-dEk478B5Qx8dGco34YlIk,439
137
137
  pixeltable/utils/arrow.py,sha256=UQkMxyU4G_ikUF9OnEHcaBXHjVqdPXHSY4JXGmuARhA,3776
138
- pixeltable/utils/coco.py,sha256=bqdSFHw8lulYDIGuTdV-7XSuuaW6KNkcrH0jD60-iJI,7302
138
+ pixeltable/utils/coco.py,sha256=WCUyoj0dTyJFbPB7frEQUvY92SlEPxQ068r-3QAwROE,7285
139
139
  pixeltable/utils/code.py,sha256=AOw1u2r8_DQXpX-lxJhyHWARGrCRDXOJHFVgKOi54Uc,1231
140
140
  pixeltable/utils/documents.py,sha256=B984nVigJgHZ5Rm-zX4LLuHuMnfmz-zr24bbAsc_y3w,2511
141
141
  pixeltable/utils/filecache.py,sha256=6HKQdItqSSTQvj2HkSJulyhfBedi4PgC7umwxXGOVG8,10637
142
- pixeltable/utils/formatter.py,sha256=fVgcaoWFTvpc_2G3MnU8QGUjHaQkj4vmScNI1s_SwBg,9209
142
+ pixeltable/utils/formatter.py,sha256=5E_gDg11ClFI-5SthwkiqyE3hAok3JHDj4OSK9cJklM,9257
143
143
  pixeltable/utils/http_server.py,sha256=xYPTvmYrkUpKfOaLDq08D-eHswkcgDf4qAt76ZFH6lM,2411
144
144
  pixeltable/utils/media_store.py,sha256=YwvTjbVqC_aLbDvLuqnDSL8xeIVMZcmzp0ANuM6uMbw,3092
145
145
  pixeltable/utils/pytorch.py,sha256=6RvOCjy_QV4gc-aht-3d0zoASkuv-warfpl87vgmuKw,3450
146
- pixeltable/utils/s3.py,sha256=DBfXp0SYubhiKckdAD7PsiVBX_YfVP8Rcu6DCG_3SaQ,433
146
+ pixeltable/utils/s3.py,sha256=huA5hxDGkPIu18zWet76o0FsO7Vbtp-iPmnOzCe-MvA,586
147
147
  pixeltable/utils/sql.py,sha256=j_tj0h4ffm-DhUIJbvGphxrVyBKlNTwDKqWGhRQ5_PY,795
148
148
  pixeltable/utils/transactional_directory.py,sha256=UGzCrGtLR3hEEf8sYGuWBzLVFAEQml3vdIavigWeTBM,1349
149
- pixeltable-0.2.22.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
150
- pixeltable-0.2.22.dist-info/METADATA,sha256=8vkY__cKJFa_AXNwYLfo0IQYXgsMRPMI2_ZeG1DRM_U,17406
151
- pixeltable-0.2.22.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
152
- pixeltable-0.2.22.dist-info/entry_points.txt,sha256=TNI1Gb5vPwFrTdw6TimSYjO8FeK8c_HuPr28vcf7o_I,108
153
- pixeltable-0.2.22.dist-info/RECORD,,
149
+ pixeltable-0.2.23.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
150
+ pixeltable-0.2.23.dist-info/METADATA,sha256=WYtMLp2PmlhHkQl6WUyvJFuJ2X-_lSB1VUO3i56dKwc,18112
151
+ pixeltable-0.2.23.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
152
+ pixeltable-0.2.23.dist-info/entry_points.txt,sha256=TNI1Gb5vPwFrTdw6TimSYjO8FeK8c_HuPr28vcf7o_I,108
153
+ pixeltable-0.2.23.dist-info/RECORD,,