pixeltable 0.3.15__py3-none-any.whl → 0.4.0__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 (78) hide show
  1. pixeltable/__init__.py +1 -1
  2. pixeltable/__version__.py +2 -2
  3. pixeltable/catalog/__init__.py +9 -1
  4. pixeltable/catalog/catalog.py +559 -134
  5. pixeltable/catalog/column.py +36 -32
  6. pixeltable/catalog/dir.py +1 -2
  7. pixeltable/catalog/globals.py +12 -0
  8. pixeltable/catalog/insertable_table.py +30 -25
  9. pixeltable/catalog/schema_object.py +9 -6
  10. pixeltable/catalog/table.py +334 -267
  11. pixeltable/catalog/table_version.py +358 -241
  12. pixeltable/catalog/table_version_handle.py +18 -2
  13. pixeltable/catalog/table_version_path.py +86 -16
  14. pixeltable/catalog/view.py +47 -23
  15. pixeltable/dataframe.py +198 -19
  16. pixeltable/env.py +6 -4
  17. pixeltable/exceptions.py +6 -0
  18. pixeltable/exec/__init__.py +1 -1
  19. pixeltable/exec/exec_node.py +2 -0
  20. pixeltable/exec/expr_eval/evaluators.py +4 -1
  21. pixeltable/exec/expr_eval/expr_eval_node.py +4 -4
  22. pixeltable/exec/in_memory_data_node.py +1 -1
  23. pixeltable/exec/sql_node.py +188 -22
  24. pixeltable/exprs/column_property_ref.py +16 -6
  25. pixeltable/exprs/column_ref.py +33 -11
  26. pixeltable/exprs/comparison.py +1 -1
  27. pixeltable/exprs/data_row.py +5 -3
  28. pixeltable/exprs/expr.py +11 -4
  29. pixeltable/exprs/literal.py +2 -0
  30. pixeltable/exprs/row_builder.py +4 -6
  31. pixeltable/exprs/rowid_ref.py +8 -0
  32. pixeltable/exprs/similarity_expr.py +1 -0
  33. pixeltable/func/__init__.py +1 -0
  34. pixeltable/func/mcp.py +74 -0
  35. pixeltable/func/query_template_function.py +5 -3
  36. pixeltable/func/tools.py +12 -2
  37. pixeltable/func/udf.py +2 -2
  38. pixeltable/functions/__init__.py +1 -0
  39. pixeltable/functions/anthropic.py +19 -45
  40. pixeltable/functions/deepseek.py +19 -38
  41. pixeltable/functions/fireworks.py +9 -18
  42. pixeltable/functions/gemini.py +2 -3
  43. pixeltable/functions/groq.py +108 -0
  44. pixeltable/functions/llama_cpp.py +6 -6
  45. pixeltable/functions/mistralai.py +16 -53
  46. pixeltable/functions/ollama.py +1 -1
  47. pixeltable/functions/openai.py +82 -165
  48. pixeltable/functions/string.py +212 -58
  49. pixeltable/functions/together.py +22 -80
  50. pixeltable/globals.py +10 -4
  51. pixeltable/index/base.py +5 -0
  52. pixeltable/index/btree.py +5 -0
  53. pixeltable/index/embedding_index.py +5 -0
  54. pixeltable/io/external_store.py +10 -31
  55. pixeltable/io/label_studio.py +5 -5
  56. pixeltable/io/parquet.py +2 -2
  57. pixeltable/io/table_data_conduit.py +1 -32
  58. pixeltable/metadata/__init__.py +11 -2
  59. pixeltable/metadata/converters/convert_13.py +2 -2
  60. pixeltable/metadata/converters/convert_30.py +6 -11
  61. pixeltable/metadata/converters/convert_35.py +9 -0
  62. pixeltable/metadata/converters/convert_36.py +38 -0
  63. pixeltable/metadata/converters/convert_37.py +15 -0
  64. pixeltable/metadata/converters/util.py +3 -9
  65. pixeltable/metadata/notes.py +3 -0
  66. pixeltable/metadata/schema.py +13 -1
  67. pixeltable/plan.py +135 -12
  68. pixeltable/share/packager.py +138 -14
  69. pixeltable/share/publish.py +2 -2
  70. pixeltable/store.py +19 -13
  71. pixeltable/type_system.py +30 -0
  72. pixeltable/utils/dbms.py +1 -1
  73. pixeltable/utils/formatter.py +64 -42
  74. {pixeltable-0.3.15.dist-info → pixeltable-0.4.0.dist-info}/METADATA +2 -1
  75. {pixeltable-0.3.15.dist-info → pixeltable-0.4.0.dist-info}/RECORD +78 -73
  76. {pixeltable-0.3.15.dist-info → pixeltable-0.4.0.dist-info}/LICENSE +0 -0
  77. {pixeltable-0.3.15.dist-info → pixeltable-0.4.0.dist-info}/WHEEL +0 -0
  78. {pixeltable-0.3.15.dist-info → pixeltable-0.4.0.dist-info}/entry_points.txt +0 -0
@@ -63,10 +63,10 @@ class Formatter:
63
63
  """
64
64
  Escapes special characters in `val`, and abbreviates `val` if its length exceeds `_STRING_MAX_LEN`.
65
65
  """
66
- return cls.__escape(cls.__abbreviate(val, cls.__STRING_MAX_LEN))
66
+ return cls.__escape(cls.abbreviate(val))
67
67
 
68
68
  @classmethod
69
- def __abbreviate(cls, val: str, max_len: int) -> str:
69
+ def abbreviate(cls, val: str, max_len: int = __STRING_MAX_LEN) -> str:
70
70
  if len(val) > max_len:
71
71
  edgeitems = (max_len - len(cls.__STRING_SEP)) // 2
72
72
  return f'{val[:edgeitems]}{cls.__STRING_SEP}{val[-edgeitems:]}'
@@ -94,41 +94,45 @@ class Formatter:
94
94
  )
95
95
 
96
96
  @classmethod
97
- def format_json(cls, val: Any) -> str:
97
+ def format_json(cls, val: Any, escape_strings: bool = True) -> str:
98
98
  if isinstance(val, str):
99
99
  # JSON-like formatting will be applied to strings that appear nested within a list or dict
100
100
  # (quote the string; escape any quotes inside the string; shorter abbreviations).
101
101
  # However, if the string appears in top-level position (i.e., the entire JSON value is a
102
102
  # string), then we format it like an ordinary string.
103
- return cls.format_string(val)
103
+ return cls.format_string(val) if escape_strings else cls.abbreviate(val)
104
104
  # In all other cases, dump the JSON struct recursively.
105
- return cls.__format_json_rec(val)
105
+ return cls.__format_json_rec(val, escape_strings)
106
106
 
107
107
  @classmethod
108
- def __format_json_rec(cls, val: Any) -> str:
108
+ def __format_json_rec(cls, val: Any, escape_strings: bool) -> str:
109
109
  if isinstance(val, str):
110
- return cls.__escape(json.dumps(cls.__abbreviate(val, cls.__NESTED_STRING_MAX_LEN)))
110
+ formatted = json.dumps(cls.abbreviate(val, cls.__NESTED_STRING_MAX_LEN))
111
+ return cls.__escape(formatted) if escape_strings else formatted
111
112
  if isinstance(val, float):
112
113
  return cls.format_float(val)
113
114
  if isinstance(val, np.ndarray):
114
115
  return cls.format_array(val)
115
116
  if isinstance(val, list):
116
117
  if len(val) < cls.__LIST_THRESHOLD:
117
- components = [cls.__format_json_rec(x) for x in val]
118
+ components = [cls.__format_json_rec(x, escape_strings) for x in val]
118
119
  else:
119
- components = [cls.__format_json_rec(x) for x in val[: cls.__LIST_EDGEITEMS]]
120
+ components = [cls.__format_json_rec(x, escape_strings) for x in val[: cls.__LIST_EDGEITEMS]]
120
121
  components.append('...')
121
- components.extend(cls.__format_json_rec(x) for x in val[-cls.__LIST_EDGEITEMS :])
122
+ components.extend(cls.__format_json_rec(x, escape_strings) for x in val[-cls.__LIST_EDGEITEMS :])
122
123
  return '[' + ', '.join(components) + ']'
123
124
  if isinstance(val, dict):
124
- kv_pairs = (f'{cls.__format_json_rec(k)}: {cls.__format_json_rec(v)}' for k, v in val.items())
125
+ kv_pairs = (
126
+ f'{cls.__format_json_rec(k, escape_strings)}: {cls.__format_json_rec(v, escape_strings)}'
127
+ for k, v in val.items()
128
+ )
125
129
  return '{' + ', '.join(kv_pairs) + '}'
126
130
 
127
131
  # Everything else
128
132
  try:
129
133
  return json.dumps(val)
130
134
  except TypeError: # Not JSON serializable
131
- return str(val)
135
+ return cls.__escape(str(val))
132
136
 
133
137
  def format_img(self, img: Image.Image) -> str:
134
138
  """
@@ -152,22 +156,19 @@ class Formatter:
152
156
  """
153
157
 
154
158
  def format_video(self, file_path: str) -> str:
155
- thumb_tag = ''
156
159
  # Attempt to extract the first frame of the video to use as a thumbnail,
157
160
  # so that the notebook can be exported as HTML and viewed in contexts where
158
161
  # the video itself is not accessible.
159
162
  # TODO(aaron-siegel): If the video is backed by a concrete external URL,
160
163
  # should we link to that instead?
161
- with av.open(file_path) as container:
162
- try:
163
- thumb = next(container.decode(video=0)).to_image()
164
- assert isinstance(thumb, Image.Image)
165
- with io.BytesIO() as buffer:
166
- thumb.save(buffer, 'jpeg')
167
- thumb_base64 = base64.b64encode(buffer.getvalue()).decode()
168
- thumb_tag = f'poster="data:image/jpeg;base64,{thumb_base64}"'
169
- except Exception:
170
- pass
164
+ thumb = self.extract_first_video_frame(file_path)
165
+ if thumb is None:
166
+ thumb_tag = ''
167
+ else:
168
+ with io.BytesIO() as buffer:
169
+ thumb.save(buffer, 'jpeg')
170
+ thumb_base64 = base64.b64encode(buffer.getvalue()).decode()
171
+ thumb_tag = f'poster="data:image/jpeg;base64,{thumb_base64}"'
171
172
  if self.__num_rows > 1:
172
173
  width = 320
173
174
  elif self.__num_cols > 1:
@@ -182,6 +183,16 @@ class Formatter:
182
183
  </div>
183
184
  """
184
185
 
186
+ @classmethod
187
+ def extract_first_video_frame(cls, file_path: str) -> Optional[Image.Image]:
188
+ with av.open(file_path) as container:
189
+ try:
190
+ img = next(container.decode(video=0)).to_image()
191
+ assert isinstance(img, Image.Image)
192
+ return img
193
+ except Exception:
194
+ return None
195
+
185
196
  def format_audio(self, file_path: str) -> str:
186
197
  return f"""
187
198
  <div class="pxt_audio">
@@ -191,29 +202,18 @@ class Formatter:
191
202
  </div>
192
203
  """
193
204
 
194
- def format_document(self, file_path: str) -> str:
195
- max_width = max_height = 320
205
+ def format_document(self, file_path: str, max_width: int = 320, max_height: int = 320) -> str:
196
206
  # by default, file path will be shown as a link
197
207
  inner_element = file_path
198
208
  inner_element = html.escape(inner_element)
199
- # try generating a thumbnail for different types and use that if successful
200
- if file_path.lower().endswith('.pdf'):
201
- try:
202
- import fitz # type: ignore[import-untyped]
203
209
 
204
- doc = fitz.open(file_path)
205
- p = doc.get_page_pixmap(0)
206
- while p.width > max_width or p.height > max_height:
207
- # shrink(1) will halve each dimension
208
- p.shrink(1)
209
- data = p.tobytes(output='jpeg')
210
- thumb_base64 = base64.b64encode(data).decode()
211
- img_src = f'data:image/jpeg;base64,{thumb_base64}'
212
- inner_element = f"""
213
- <img style="object-fit: contain; border: 1px solid black;" src="{img_src}" />
214
- """
215
- except Exception:
216
- logging.warning(f'Failed to produce PDF thumbnail {file_path}. Make sure you have PyMuPDF installed.')
210
+ thumb = self.make_document_thumbnail(file_path, max_width, max_height)
211
+ if thumb is not None:
212
+ with io.BytesIO() as buffer:
213
+ thumb.save(buffer, 'webp')
214
+ thumb_base64 = base64.b64encode(buffer.getvalue()).decode()
215
+ thumb_tag = f'data:image/webp;base64,{thumb_base64}'
216
+ inner_element = f'<img style="object-fit: contain; border: 1px solid black;" src="{thumb_tag}" />'
217
217
 
218
218
  return f"""
219
219
  <div class="pxt_document" style="width:{max_width}px;">
@@ -223,6 +223,28 @@ class Formatter:
223
223
  </div>
224
224
  """
225
225
 
226
+ @classmethod
227
+ def make_document_thumbnail(
228
+ cls, file_path: str, max_width: int = 320, max_height: int = 320
229
+ ) -> Optional[Image.Image]:
230
+ """
231
+ Returns a thumbnail image of a document.
232
+ """
233
+ if file_path.lower().endswith('.pdf'):
234
+ try:
235
+ import fitz # type: ignore[import-untyped]
236
+
237
+ doc = fitz.open(file_path)
238
+ pixmap = doc.get_page_pixmap(0)
239
+ while pixmap.width > max_width or pixmap.height > max_height:
240
+ # shrink(1) will halve each dimension
241
+ pixmap.shrink(1)
242
+ return pixmap.pil_image()
243
+ except Exception:
244
+ logging.warning(f'Failed to produce PDF thumbnail {file_path}. Make sure you have PyMuPDF installed.')
245
+
246
+ return None
247
+
226
248
  @classmethod
227
249
  def __create_source_tag(cls, http_address: str, file_path: str) -> str:
228
250
  src_url = get_file_uri(http_address, file_path)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pixeltable
3
- Version: 0.3.15
3
+ Version: 0.4.0
4
4
  Summary: AI Data Infrastructure: Declarative, Multimodal, and Incremental
5
5
  License: Apache-2.0
6
6
  Keywords: data-science,machine-learning,database,ai,computer-vision,chatbot,ml,artificial-intelligence,feature-engineering,multimodal,mlops,feature-store,vector-database,llm,genai
@@ -36,6 +36,7 @@ Requires-Dist: numpy (>=1.25)
36
36
  Requires-Dist: pandas (>=2.0,<3.0)
37
37
  Requires-Dist: pgvector (>=0.2.1)
38
38
  Requires-Dist: pillow (>=9.3.0)
39
+ Requires-Dist: pillow-heif (>=0.15.0)
39
40
  Requires-Dist: pixeltable-pgserver (==0.3.1)
40
41
  Requires-Dist: psutil (>=5.9.5)
41
42
  Requires-Dist: psycopg[binary] (>=3.1.18)
@@ -1,48 +1,48 @@
1
- pixeltable/__init__.py,sha256=-uXHuiXH98kAlCupUTPbkBh4ToZgxcYUOk7-c9hqCC8,1439
2
- pixeltable/__version__.py,sha256=HD2KV9QVAFaAv42gJZzYHDLMgRFeCQBTYL5eYWvU_Kk,114
3
- pixeltable/catalog/__init__.py,sha256=rQmjveID4bk6NI4Ql09lGsZ0K0HVE2l1yqKAveipHzc,558
4
- pixeltable/catalog/catalog.py,sha256=E-Fqf3xDsFWLuau41trwqFRQbmNjy-LlT_votgYRM8k,48780
5
- pixeltable/catalog/column.py,sha256=f_jSvdV7DIe3MYXc4n4tSSJmAKIiNfPyT6i97rt2ewA,11133
6
- pixeltable/catalog/dir.py,sha256=g7k9ebx20-NDMKkPGQxOVMRNGOgLmPvekuPIjSlo3WU,2075
7
- pixeltable/catalog/globals.py,sha256=7fNUs67D18PZ1ZajcGz7KQOV6tuXEcYLSrePzgmDkRw,4036
8
- pixeltable/catalog/insertable_table.py,sha256=6kXMHAZtqoTGqYgMDMJwCbxoLaPz1VG4trh-rAepvF0,8841
1
+ pixeltable/__init__.py,sha256=WHZxJNz7vYcx_z3ebEg-RF22lJmlkfeqF2gv6mnrM1A,1449
2
+ pixeltable/__version__.py,sha256=2ERMAP7B0uVPVVbmnM-OUEzf_mE7UJfDDg50qxCP1TQ,112
3
+ pixeltable/catalog/__init__.py,sha256=5gYj-MoahjDAaU4gQNGao_JODRL_1WigVe79F828FcA,602
4
+ pixeltable/catalog/catalog.py,sha256=hauRCj1aRb1C6C3AOBCjDdnCpHa46mEBlG7tVHHBxz8,71340
5
+ pixeltable/catalog/column.py,sha256=SBJO7kpnHjJupMywrD3kDUyhvoyi8GgAcDgky3Bf-f8,11230
6
+ pixeltable/catalog/dir.py,sha256=HFemOf67Nfw13EOpQsR_UgzP2L1w4LDfw2009DrSK0Y,2063
7
+ pixeltable/catalog/globals.py,sha256=L09X-TA5iIcFQ-sQ7a372RfQ0bJpFs7C0sVHNXRG5Cw,4261
8
+ pixeltable/catalog/insertable_table.py,sha256=f4Lwxlbgqi48BTWzWVEtA9i_SZ5jw47-Psw9WbKf6jw,9338
9
9
  pixeltable/catalog/named_function.py,sha256=vZ-j7P4HugWh9OmUzBMwyRYvO3tQn9jWyJz_1stPavU,1210
10
10
  pixeltable/catalog/path.py,sha256=gk8TIlO_7Jpji5mAN0dUNvHmvU0uneTHeB_qCTWnszQ,2529
11
- pixeltable/catalog/schema_object.py,sha256=J96iXsKMvqTNN0jbcMOPZDSZDNq8688Vkybs5bFcqNk,1818
12
- pixeltable/catalog/table.py,sha256=mlMbV6cWafm6OC9AHmMfpHuTYTyhGf5rhMHV2537tF8,65129
13
- pixeltable/catalog/table_version.py,sha256=BlxPBec17v_zcZ2pJGqyT9rJfj2Jyxau472DfZYc3jg,62440
14
- pixeltable/catalog/table_version_handle.py,sha256=LYJFTdRssPu4uOBPbP93wKqXygJXr3Gwdc9wHzzZRag,1654
15
- pixeltable/catalog/table_version_path.py,sha256=_g9knGenpMOlhaK8DZa8iLz5CorsMcbnFqTLnvaUkYM,6653
16
- pixeltable/catalog/view.py,sha256=u9c9YL9dHw21qGYf-QYST7nULhut-ECK-DWR1_MH3ik,13027
11
+ pixeltable/catalog/schema_object.py,sha256=jqOhZcI9QbT_EseDRQsVrp4pZ7jKB1wy4Sa-6aAvUCI,2004
12
+ pixeltable/catalog/table.py,sha256=IXgh7VSyGI-tvNl0G1_zQP7qJ9QyZucefXWX6IQ8rG4,69993
13
+ pixeltable/catalog/table_version.py,sha256=mZSBzMI6RTIfCjySd2OZjz7Eqc6h9g_BLbZ4PPRxfIM,66158
14
+ pixeltable/catalog/table_version_handle.py,sha256=aEIM9gX1MK95dip7OYmM9iGidE41SRi4lvoOqcL6kNo,2600
15
+ pixeltable/catalog/table_version_path.py,sha256=uRATYbAN0OXEkW1GZEC4hZulzvh8IJRwaN66ifUTJfw,9787
16
+ pixeltable/catalog/view.py,sha256=czgvZf9Z-VYXaVadSktrVtd9BdgLABaQWEjOcWJySck,14645
17
17
  pixeltable/config.py,sha256=gnRI4G9GE7mQJDcMcn8JsEzYk8oKVfHB-BwoLRWnRDo,3971
18
- pixeltable/dataframe.py,sha256=n_ZF_JdCq-DkpOzLhlnCspjDS2I8_7M0nlkTcDQVqyA,51593
19
- pixeltable/env.py,sha256=46ri1zrun9eJGBiBMnvA9PkBoVVzI3b1aLG9a1RdLuA,36236
20
- pixeltable/exceptions.py,sha256=eI2f4oXqv678_fDOxeYOTPE_EF1CMX3pwCqtJvN8i7s,926
21
- pixeltable/exec/__init__.py,sha256=m4AF2kzFtsTRUevupgWs8er0oJQisCR9ROW7ZJlL3dw,509
18
+ pixeltable/dataframe.py,sha256=dTpjM72Cj2cYMo0_HH2BJ6P3s9rQAF4suuL413BDyJw,60673
19
+ pixeltable/env.py,sha256=IDyXBs0KxOb4-x3j_SSRPflOv6Hagp0Inw7y-ZIaAm8,36211
20
+ pixeltable/exceptions.py,sha256=Gm8d3TL2iiv6Pj2DLd29wp_j41qNBhxXL9iTQnL4Nk4,1116
21
+ pixeltable/exec/__init__.py,sha256=hQvj4ra4ubxu94qyuCBTHKsuYGzundkTTluOTIb5Bx8,524
22
22
  pixeltable/exec/aggregation_node.py,sha256=HqzISO1nv7_DFyqjZLRkjtbDJl9fIEto1i6Kh5ru8vA,4498
23
23
  pixeltable/exec/cache_prefetch_node.py,sha256=GOa70eJDFY3FQV3VvJOrUVI8LFvro-r-V6sh3w-eJAc,12130
24
24
  pixeltable/exec/component_iteration_node.py,sha256=FZszWHrzsjHxCbUTwXtJIlgQqgYtvKZB6QWiDGkfIbs,4757
25
25
  pixeltable/exec/data_row_batch.py,sha256=EAB15JRhXbWIe91x1J5N5lFiMXzjB8NGTFjZsBDSbf8,3393
26
26
  pixeltable/exec/exec_context.py,sha256=jKeLStfkjwCKKAooC-7a7qZUnZU5O0_JQhanhVerV9c,984
27
- pixeltable/exec/exec_node.py,sha256=WIN1sBEBNS7TlBk5QpHsDUCZUUdcvs6Os_Bxq2HoWdo,4077
27
+ pixeltable/exec/exec_node.py,sha256=MsuCO7nCpmqfuNxTNKsz36sJVDrR-o-0-3S2FcXLwvM,4237
28
28
  pixeltable/exec/expr_eval/__init__.py,sha256=sQThSEByK_DLfB-_-18RFhpARx49cSXYEkpCDyi0vQI,61
29
- pixeltable/exec/expr_eval/evaluators.py,sha256=AJkuleKhEz_8W6F3dcjTbWyKfv4IzpTh3cvQ3--OkRg,16865
30
- pixeltable/exec/expr_eval/expr_eval_node.py,sha256=ABkC2yAcMSCtQ7AvNAn6rfj3AMscVzezttKSs1ExNhw,18972
29
+ pixeltable/exec/expr_eval/evaluators.py,sha256=-6s_y29Wh8p35SVKkXtnA0NkzcHVw1Z8PgHGiFrMsqs,17135
30
+ pixeltable/exec/expr_eval/expr_eval_node.py,sha256=klPhvsug91GiPIHkwcTj1ympxsoj8nbNHzkzkC-NR88,18953
31
31
  pixeltable/exec/expr_eval/globals.py,sha256=fFrj2O53TgHDfVF8dgnyn1fPLi4ZHQuylewf5aHMwYk,7752
32
32
  pixeltable/exec/expr_eval/row_buffer.py,sha256=YY0thdlMNNReEOTyPp36xKPeMeXSZ0VrI9bJsXgo7sU,2744
33
33
  pixeltable/exec/expr_eval/schedulers.py,sha256=tAvCQKa1q0x7y7cdnGcTGbeku8QcoKH1GkgSm8ktOnM,17000
34
- pixeltable/exec/in_memory_data_node.py,sha256=csw_4qyOKsvqgIiqX6IMDw6wi2pqnHwLgoE_77j7Pck,3594
34
+ pixeltable/exec/in_memory_data_node.py,sha256=vmxD2Jwn15Wjkf_3wufr35SPjb60H_I4zpUKaO1Zo_s,3592
35
35
  pixeltable/exec/row_update_node.py,sha256=zU0eSyn81-vRrjAMOadRqU8luTshnPUtIbS7npyLBKY,2798
36
- pixeltable/exec/sql_node.py,sha256=HxCJlzkJSYbmMVskZJihoaP2GYIZsiFUvFXxNm6MZLs,19826
36
+ pixeltable/exec/sql_node.py,sha256=cMoBGPOFVmvL3UFjCKxhU3huJu_ko0PRr55-XhbF1i0,27572
37
37
  pixeltable/exprs/__init__.py,sha256=AxSMjKNavCT9F6vBaNR-nwX2iupAI5hbMb5hEj65Tfk,1096
38
38
  pixeltable/exprs/arithmetic_expr.py,sha256=sZPao0qdFWbrDx0eiAVxw1wGHJXZ5ZoCpQaScysBldE,7333
39
39
  pixeltable/exprs/array_slice.py,sha256=8Zv0E2RghdJi1Mbk0kKtOz2ccGQuXwLLb6R9v1jk7hA,2180
40
- pixeltable/exprs/column_property_ref.py,sha256=nwvPxyVveOCSCGgUDTnILFKAolZ2VwMVToDLCAQsH0c,3786
41
- pixeltable/exprs/column_ref.py,sha256=hMkxeJQMbTVDhzCi9Sc4CzFagVmQXu42GU66Frx-gNI,13980
42
- pixeltable/exprs/comparison.py,sha256=fJ840HORCi4x5ovkkdM_PXqlzttS0K9W0oikWWp1oa8,5139
40
+ pixeltable/exprs/column_property_ref.py,sha256=jIin85Ubjvx2L_c_VRROVA8MVrMVGO5P4OPwuZ4wwTY,4268
41
+ pixeltable/exprs/column_ref.py,sha256=PaKMLMs1t8Ld8zdTHJujQxtu_V5bgYh3rvPEAXg13jc,14956
42
+ pixeltable/exprs/comparison.py,sha256=lgaRx000ZaNH10A4hrtsi5XoZKE-CNEONGMi7jxJfcM,5133
43
43
  pixeltable/exprs/compound_predicate.py,sha256=vJVRVueAmaKnjiHCLWyh8wHgktzzK0DVqbOIQJgTjF8,3801
44
- pixeltable/exprs/data_row.py,sha256=y16wVbp_ISNmMUP18PtX5vFrc4zxCiV3f9jCoReKl6I,11396
45
- pixeltable/exprs/expr.py,sha256=JABPT8dGISMq_ciG67GPdX00nKTrJwQ1DQhxSRqkC4A,35602
44
+ pixeltable/exprs/data_row.py,sha256=8p0eWunvg_2ZH-e7Gtz_woxBAoizaCV2QtN87Is8_ys,11484
45
+ pixeltable/exprs/expr.py,sha256=uLEMuJzHwPW3hBIcsASnhjcPyGBkY8_8sFCqgRetKP0,36013
46
46
  pixeltable/exprs/expr_dict.py,sha256=2ZeZ0eACx3VrRNEOjipuT5WxOIzjXQ_DSip8NTH0KRo,1584
47
47
  pixeltable/exprs/expr_set.py,sha256=OlRTbHAAYH2fOEs1HE-8DIu7Z247xVfoT_9Y58GZoOQ,2559
48
48
  pixeltable/exprs/function_call.py,sha256=_PxrEACVyiihdQdmTiiSv5WkZfOXSQFcGO18wPueM_Y,21989
@@ -52,12 +52,12 @@ pixeltable/exprs/inline_expr.py,sha256=XYVKKXZN9BtHN5qlvZna-mgdOlot6WcmPu5usRBYe
52
52
  pixeltable/exprs/is_null.py,sha256=NfA_485hfT69pWyY6u8BhykDUkz5k91AH93azGu6lCg,1087
53
53
  pixeltable/exprs/json_mapper.py,sha256=bJSB39sZgpN9KS0RReDnUhTCwg-4Y4cgXXaFNy3o3wU,7035
54
54
  pixeltable/exprs/json_path.py,sha256=sFuDjfz8_rlea4TKd68CS4pQTUiLDi68YwsgcQRHffI,7162
55
- pixeltable/exprs/literal.py,sha256=kLAqc05uRHTN1IGAmRUNRkglo9CYualF7zW_U7c2pwU,4846
55
+ pixeltable/exprs/literal.py,sha256=OCJL_pw_WKqx3bXMEwL6yNaKVAKDtGRzSZUFwucRxZI,4860
56
56
  pixeltable/exprs/method_ref.py,sha256=NNhJTGo7luZLh8EJdFIZAax9LiiqqDCEK1AwPmHip0w,2642
57
57
  pixeltable/exprs/object_ref.py,sha256=idYFcT27jv0BjtJT3paL37xDrZZc35_3eCJyQOIqdZU,1999
58
- pixeltable/exprs/row_builder.py,sha256=vZbSEctWYn79zC1CCBqFHZeD3-2oryyQeJKVi2-enH0,21200
59
- pixeltable/exprs/rowid_ref.py,sha256=DbkdnXIxNExrLOOjwyL5n1amKJnaw3QVSkUonTcJErs,4918
60
- pixeltable/exprs/similarity_expr.py,sha256=ssls1A3gxzY0qJbaqN_1pKkuLriLTCnMqlPG0sp_M6Y,3635
58
+ pixeltable/exprs/row_builder.py,sha256=LL8q_8AthTqH8duWqKwdaS8DlvUsC8chclzQRR4MJAE,21150
59
+ pixeltable/exprs/rowid_ref.py,sha256=SCPsDx3R55wtK-ND2xQQdV823RdeTF5HTcQ76e40NOE,5186
60
+ pixeltable/exprs/similarity_expr.py,sha256=i0UUnMSKKGXd3Uksu6FU2NvkfG0qzfzfi-GPy-LdutM,3688
61
61
  pixeltable/exprs/sql_element_cache.py,sha256=c7Q6vFK4xnf9vmcRYnXiAcwPBBwmw0dolftM4BwDO8c,1359
62
62
  pixeltable/exprs/string_op.py,sha256=8GkqYpZrSJjHX1ghsUMI9Op2NJyBbvmLWJwDYf_vad0,4171
63
63
  pixeltable/exprs/type_cast.py,sha256=_nDzTxg5kXVGLewI0FrH2zmwJzgptdxYd5Jvuyig0UI,2322
@@ -66,57 +66,59 @@ pixeltable/ext/__init__.py,sha256=UgDXWzGWiQIrwOuEvWTePLBcR2kecllPAE7gp-42Awg,45
66
66
  pixeltable/ext/functions/__init__.py,sha256=Ox3kUHn5IslVEmEKsjrHfkHDrUkmLl9RCO2YkrPJkgc,193
67
67
  pixeltable/ext/functions/whisperx.py,sha256=qda6kFQSvZTY2asfrYPwHb1cvSa03LbhJ-Wf9b7qPhw,2355
68
68
  pixeltable/ext/functions/yolox.py,sha256=dX22nMb-0n2hZi7WhZ1Y4LIpFk5loyeXXuSUcc2Fgrg,3724
69
- pixeltable/func/__init__.py,sha256=2BtyvXvFrLF0S5Qnmtg9S7dDSEVoBh5GDX6XFC25d7o,509
69
+ pixeltable/func/__init__.py,sha256=SQPtGr_9dZNyXzxaZQcP3oVLKnbbs4UqV6sg8XUQHxQ,535
70
70
  pixeltable/func/aggregate_function.py,sha256=5_MgqHAlMaacX2sPIHv_auTvYXtqR5MIZy_WqYQSdho,13264
71
71
  pixeltable/func/callable_function.py,sha256=g_pA-g631YcFGLix9PpHYfgjOeS2qF0Csm1VxX8fah0,9278
72
72
  pixeltable/func/expr_template_function.py,sha256=wEidKrOBTZkA3U1PAtG6-6RlDFiiRJszIG4zNOuPcNY,5940
73
73
  pixeltable/func/function.py,sha256=w1U3j8XNeE4ZZ-rKuG13aTa8YGFkWAXjalh4j29_-e4,23136
74
74
  pixeltable/func/function_registry.py,sha256=7AQ1bdF2DJbTRn9xx6s5cC_VHtCBXGt_GyJJEjJHcMw,12308
75
75
  pixeltable/func/globals.py,sha256=5Wo4GPxYgHRRk5nvV0h_lAthKSalxKvj5n1p-uMPR0U,1501
76
- pixeltable/func/query_template_function.py,sha256=QN_HGyBErDwdwpsI63caohsjo9usoN6WTEERG6NDtP4,7913
76
+ pixeltable/func/mcp.py,sha256=P9M2w8cm7ad-XmAcf2ZThfWmD8W46De1spwX98bZL4Y,2861
77
+ pixeltable/func/query_template_function.py,sha256=0wCcU06bv9KKJRlOsoLg8-vVNSLIYpKDCdYkUV7WShY,8040
77
78
  pixeltable/func/signature.py,sha256=0PI6xdhLgwy9-GMkzkm7GlsBnsNMiS9aoNI9LWXwvN0,13700
78
- pixeltable/func/tools.py,sha256=DIfkOEj9Bp797Ew014_4YJePoUW40fQ6mvbCeg0FBR0,5721
79
- pixeltable/func/udf.py,sha256=qQfaX1O3ZhUvSgiNnitW7nRKnZFJ5yu_Fj9ioqQgjqg,13219
80
- pixeltable/functions/__init__.py,sha256=x_ZodeEtayD2XDjlDZE4L_QTzajF6riftIc5P4ZjEiY,578
81
- pixeltable/functions/anthropic.py,sha256=oTiXMfy3MupBInGRFEVkp-pHu06gF1ezJjEM2ypyvXw,9323
79
+ pixeltable/func/tools.py,sha256=hKmQFvfpBvtLcItPRpqAmqt_tDg6latwyfv5FXBofBc,6074
80
+ pixeltable/func/udf.py,sha256=6tKpMt37t3BmXwRyA5fFAd6OM4D5EPEd2KuAr7DQhr0,13231
81
+ pixeltable/functions/__init__.py,sha256=Akk6Nk-rpz2D_V4kJTfyP56xnNbCz3EtxVAuwLoiysA,588
82
+ pixeltable/functions/anthropic.py,sha256=G2E0sH5vP933eZZxhz1tOByy5cg6N2XPvhSqIBzqufo,8782
82
83
  pixeltable/functions/audio.py,sha256=7bsm4igQEW7RYSrSevwqaUOqyEnvBbPbJ8c-VknDl1E,657
83
84
  pixeltable/functions/bedrock.py,sha256=lTCFHjYunF3minBGWcjXR90yJ8resFjXr4niyKhfxms,4217
84
85
  pixeltable/functions/date.py,sha256=WUwqyrOWB8A00cTNEd6Vd7anQZo40_-7EWhpfpI-P6c,5323
85
- pixeltable/functions/deepseek.py,sha256=KYIa-UJJUTOt9cCfmP6k6nM4MpKm1MBU8F-jWk3CycY,3827
86
- pixeltable/functions/fireworks.py,sha256=k0vUXxeeNYWfL_tdLgF9c-vOilr0g2tTeLkAL9SJ6ws,4972
87
- pixeltable/functions/gemini.py,sha256=zWPsvtq0mPFBC_-4N7NDuhTYZfAzRMmZa9S4GFjIpLg,8328
86
+ pixeltable/functions/deepseek.py,sha256=IAo2e_DhkM0A5NrskxuPQUGYzIYAl4do_mdO1Qc3PeY,3338
87
+ pixeltable/functions/fireworks.py,sha256=q7eWlYfiWbA0d9r3CB_NAe1fw3q-Z7qsw2gyGJNgWLQ,4786
88
+ pixeltable/functions/gemini.py,sha256=ZsbySkoMdOgZEUfFUccDbIdrbLb6DGRxzD88fHW-cRI,8317
88
89
  pixeltable/functions/globals.py,sha256=ZXBV2LPXT2-yQYHHE7q8N1WdAr0WxiIO1ax0qwxhmK8,5118
90
+ pixeltable/functions/groq.py,sha256=FpR_LJpfZfzyhEvoBMMbQpQ-VQSRzBsS9U21qaINwww,3593
89
91
  pixeltable/functions/huggingface.py,sha256=KM1OH0Jt6XWF2jfpHb6rGhi1mV-AQNYAsHAyQfzW4qw,20560
90
92
  pixeltable/functions/image.py,sha256=IKXljMma-uU88efptC3F4aywau7DYcD-Nqd3YpmRNRw,13971
91
93
  pixeltable/functions/json.py,sha256=d7-AvwytUQtQYF_JnWJkptT_Yq0NgMpWfVk-m3U6qTY,807
92
- pixeltable/functions/llama_cpp.py,sha256=uf7WSZIhKDa492snnQv5ojGVLNdBWvuw0Ou3Mch1c_I,3874
94
+ pixeltable/functions/llama_cpp.py,sha256=1QB4vQ7J4Za1mL93bRIBXgokNtpzzYr_QU6KF27i9xo,3919
93
95
  pixeltable/functions/math.py,sha256=eZEFjXxNHDHjcCsOMhzfNbJthTsmtNxtSFV8AEeRIfM,4979
94
- pixeltable/functions/mistralai.py,sha256=yZge5T385RoiFGXEZ6OhwWHj0JnsZ8tN8Jb3VkfDmXc,6274
95
- pixeltable/functions/ollama.py,sha256=AmkP532HwWeTyWkTnHm_hIk0CFjzV5MwCCPnM9Kb7KM,4231
96
- pixeltable/functions/openai.py,sha256=aDh1L2mBbSlrM8c1Rbh2QsCnmBESItLqzZ-frdgb05k,29259
96
+ pixeltable/functions/mistralai.py,sha256=Fk52mfWUfxVy-yCxhH6wrGS7nLLSiOOrWxbTkkiQ-O8,5542
97
+ pixeltable/functions/ollama.py,sha256=4-6h9Foq_7Ut7JtEHGkeg1KbuKaFywSuMrKiw0xAyCA,4231
98
+ pixeltable/functions/openai.py,sha256=kzi8HApD971O54Xl82G0jI7n0E2ui476kV1wAKObx88,27768
97
99
  pixeltable/functions/replicate.py,sha256=SLMPNi44QMa16TVTImZRkNMXXyRZ0mmpnK6P5uXQE0k,2467
98
- pixeltable/functions/string.py,sha256=PjOtpRfQijcL930euR53FmYeQEOjfd5htTGxr_5bRe0,20143
100
+ pixeltable/functions/string.py,sha256=LdBNOna5PUSPmM5VlJ_qhmwzyFhumW0k6Dvx2rXSZtc,25356
99
101
  pixeltable/functions/timestamp.py,sha256=0zp4urJagCcNLfJE0ltTCft-J9qs2C716TmRngKYaa0,9171
100
- pixeltable/functions/together.py,sha256=ufg0RehEoQEqBy9EHSKY4N3ZNT5O__cwDS0Ll467eLk,10014
102
+ pixeltable/functions/together.py,sha256=A8J19BXywyWQ6a2_n05-8uIG5jquOBGqPmW3mb-NrIc,8842
101
103
  pixeltable/functions/util.py,sha256=lVya13gcao8T34OGX7zy1cglQPNwaBbSBw57bVPyHNs,745
102
104
  pixeltable/functions/video.py,sha256=jS4YhMofD448YhGtI6ZXBAkeGw_AYYQTN0AbgHh_hok,6933
103
105
  pixeltable/functions/vision.py,sha256=_a0wY3akkVhWnnxlq__1VzSLylytlNadpNOOPOwSfLk,15393
104
106
  pixeltable/functions/whisper.py,sha256=c9E6trhc2UcShVaGaEBCUEpArke1ql3MV5We0qSgmuU,2960
105
- pixeltable/globals.py,sha256=sbbuDMnZK6stceHZqe6ndBtN4WNopeYE_CtCim2qIn4,31882
107
+ pixeltable/globals.py,sha256=cQUzDiYzDftRhX1jwi1hi6OYx0zlDAMr04nShq75Knk,32226
106
108
  pixeltable/index/__init__.py,sha256=97aFuxiP_oz1ldn5iq8IWApkOV8XG6ZIBW5-9rkS0vM,122
107
- pixeltable/index/base.py,sha256=jrE2Sack14_o_oFWkQf_qdDCSQ85SCZLcJX4GhU_JaY,1527
108
- pixeltable/index/btree.py,sha256=m4eUk8jVG5h2VW_IcsmWG4GN-FFk0uFHyDF6FSw_gbM,2299
109
- pixeltable/index/embedding_index.py,sha256=W-PO-ytmh1UTSZHDIGMJiVInwQUR5WGouEvFwVF39e4,11552
109
+ pixeltable/index/base.py,sha256=200s7v3Zy810bRlbSAYzxxaEjVssl6r8esTHiSvWRwQ,1704
110
+ pixeltable/index/btree.py,sha256=8B06D67ay0DFUtEBC5q4bLjxMq7ILpKyyoLAiSaamzA,2503
111
+ pixeltable/index/embedding_index.py,sha256=B_k_3UJmSv7t2ljUg8GC_D4t1jc03PVsTAvxqiTmHBA,11754
110
112
  pixeltable/io/__init__.py,sha256=Yjq13pBCBoaZv-OkIY2XSusVOC5b6cB5C6NbgJq5H1g,620
111
113
  pixeltable/io/datarows.py,sha256=p1UGxQOTjqI6kgQNAa3aj8TkylcNDtaGBTorOg_Pk84,6088
112
- pixeltable/io/external_store.py,sha256=5gHSHLi-pPWHJ4OtVtY2vxrcbLG899hNMEcLvBfvYqI,16719
114
+ pixeltable/io/external_store.py,sha256=ZGZBMlfeg2euSMub0RK9Yv_h0gnItmEZPRg2IUDmJaE,15566
113
115
  pixeltable/io/fiftyone.py,sha256=v0r28bIk2I0TRP5DfVHtBIUa4DpIJDK5sgExxOmHZ_w,6882
114
116
  pixeltable/io/globals.py,sha256=Z8ww-Pcm59ql1tvame8z0Mu1thIy5BPbW-TswGRXt4s,11368
115
117
  pixeltable/io/hf_datasets.py,sha256=gWyBH_0iFvxcrrxMY9_W399ZRcNDCmWFOAMmb1apnY0,5246
116
- pixeltable/io/label_studio.py,sha256=uB-LReXf1l2OMuzJEENxJP-0C14r14VEmsIulK8Yr3s,31261
118
+ pixeltable/io/label_studio.py,sha256=y_0yEQWKgoLoHUQll6RTbm_Ou7LU882VZoEGb4WWnFs,31260
117
119
  pixeltable/io/pandas.py,sha256=AbOeRDlA4MvUvianSKixsU-x-64nasPWw4HCHD6emz4,8981
118
- pixeltable/io/parquet.py,sha256=Aav5tkqY22gHSWTxsAnlk6MkRLi0OarXgp_N0JYOfHA,7791
119
- pixeltable/io/table_data_conduit.py,sha256=gdjr82HxJpDfH55xmbIUCX5V-Hkaj6Kmo25NESKChtk,23205
120
+ pixeltable/io/parquet.py,sha256=-cxyy9wMRzGFDJWhUIjACfQMyAmajyoFcTXSkB8qESE,7818
121
+ pixeltable/io/table_data_conduit.py,sha256=8SEcOPTgPiKHqlDp0rvGcPOF4v8jRX5TwHwfi5MHYt4,22003
120
122
  pixeltable/io/utils.py,sha256=YMfhpqMitWz1PhXJGkCNOgNtEM1AZ55S0zXVhljC5kY,4260
121
123
  pixeltable/iterators/__init__.py,sha256=bU4EmbX85J1URmRw6G71f2I77b1ctqngEOwDmRB3T0w,455
122
124
  pixeltable/iterators/audio.py,sha256=wSVGdL5GeO3uY_lU-pNlY49E5dExIaJWY6oaXm-MnSU,9150
@@ -125,10 +127,10 @@ pixeltable/iterators/document.py,sha256=wJYSnzusJFaxipv5y0uQw-surN9fFz0Aq-s7w_l_
125
127
  pixeltable/iterators/image.py,sha256=nWm-03CxNvHRdTr8U6PvWEnEiquqIQNG5rB-3Y44Mm4,3440
126
128
  pixeltable/iterators/string.py,sha256=URj5edWp-CsorjN_8nnfWGvtIFs_Zh4VPm6htlJbFkU,1257
127
129
  pixeltable/iterators/video.py,sha256=L5S1YPmT_zM11vW9fK6d5nQpUvHVewQWmfDmy4BD45E,9134
128
- pixeltable/metadata/__init__.py,sha256=Rui2M8f8BcnJGRbYtCYxu-eqkp-3IovQINU8Hs45PHw,2607
130
+ pixeltable/metadata/__init__.py,sha256=3_uviy74LAghHBKU-Ptg3BFmIrH6AoUr6nwvAnfWjWQ,3154
129
131
  pixeltable/metadata/converters/convert_10.py,sha256=myYIo1DyccnsQUxDKG6mafnU5ge_EhZpHg_pesKBoK4,708
130
132
  pixeltable/metadata/converters/convert_12.py,sha256=Ci-qyZW1gqci-8wnjeOB5afdq7KTuN-hVSV9OqSPx8g,162
131
- pixeltable/metadata/converters/convert_13.py,sha256=yFR6lD3pOrZ46ZQBFKYvxiIYa7rRxh46Bsq7yiCBNak,1356
133
+ pixeltable/metadata/converters/convert_13.py,sha256=B-_EkL0pSl1mAiv6DymeUAyBQUcYcV1qDdNz3Q359kc,1369
132
134
  pixeltable/metadata/converters/convert_14.py,sha256=9e_JNm3a35Gs4dvFFaV-_jtCqp3ud6OEOqMIhTQmasE,428
133
135
  pixeltable/metadata/converters/convert_15.py,sha256=wKTdBt8p9GlUM3yBZFX-37J0c0_xc5SK0SXooxtDQJY,1722
134
136
  pixeltable/metadata/converters/convert_16.py,sha256=9sRigN4h3UHEurV1zAwO8AwE_ERkvxNVTUPFiV9h4MU,493
@@ -145,33 +147,36 @@ pixeltable/metadata/converters/convert_26.py,sha256=XaVYFFtlpuUD3bN_UAr9ONgaSkJg
145
147
  pixeltable/metadata/converters/convert_27.py,sha256=1P7DSAXPwHqkXvNxFqjIOcdI8dlsL8ikfaaveBvQHyM,904
146
148
  pixeltable/metadata/converters/convert_28.py,sha256=v2CqpXAbCTQ-3gbn_ZtSl0fXueK1Q7VDECbIc7Ci1VQ,694
147
149
  pixeltable/metadata/converters/convert_29.py,sha256=aBqZeXiYbtcAX3MiuEgqPkfzd8Hu8oNYjO-lJafmfOg,4912
148
- pixeltable/metadata/converters/convert_30.py,sha256=DKCD6ZMgRU2Cu7eonB1kYEnYCKI40m2XIjTiOyFsCyA,1450
150
+ pixeltable/metadata/converters/convert_30.py,sha256=HZsGfXNl0KCPNMu1lnEtIMp0sZhwWtWpYuJQKUoNx3k,1314
149
151
  pixeltable/metadata/converters/convert_31.py,sha256=pFjZGpuFlGRPxKYYidiSCIMNaEEXVuLTnELi3y_pSQo,424
150
152
  pixeltable/metadata/converters/convert_32.py,sha256=YENfuQ_mqhnZWrvHJffaGEqd1IwS2RjTGPkEvOs5sUs,406
151
153
  pixeltable/metadata/converters/convert_33.py,sha256=ZZV3FTyyouBM1eNymXxfHV-Oqmgu2s0KNP6AG3zc5eM,574
152
154
  pixeltable/metadata/converters/convert_34.py,sha256=1hi7m49CMzHRD25rrePS-SMCsZ-4opzDhY0JqU8Jzw4,690
153
- pixeltable/metadata/converters/util.py,sha256=qnhrwUS7nSczCdrMjKG7v3lRxRKh9o19epCtP8HTpsY,7729
154
- pixeltable/metadata/notes.py,sha256=9WMdfKT_mE96oTgRB92i7wZVw4qbwj-iA7hCYN49VhQ,1313
155
- pixeltable/metadata/schema.py,sha256=EKmx29vfQo3eGD2uCJW_lPalPialSb2oUSBGTyewduE,11261
156
- pixeltable/plan.py,sha256=VfXTvEYYiiLPBdw0hoTmdXHE5IeQKZc1ej8l9a3XAns,43632
155
+ pixeltable/metadata/converters/convert_35.py,sha256=c88qft0RFQbdFIE_PZRHMjeku1r5HCLN7wrvndQSXdI,266
156
+ pixeltable/metadata/converters/convert_36.py,sha256=g1rhZhAYfZpAwUgE3D1aipIR4RNvikhbKcrnBJzm0wM,1215
157
+ pixeltable/metadata/converters/convert_37.py,sha256=IVZGtKFaaYMGBs39V_H_okWvpxxadTUWqxoln0cNeQI,392
158
+ pixeltable/metadata/converters/util.py,sha256=95pfg9amEOmhho32PIbNYnqagVIN9adIcLXxB6zSYDY,7527
159
+ pixeltable/metadata/notes.py,sha256=OVHn9iW_y1nyGaMfu0qG3IBkuCdjgNdI6lJnR7LeRIg,1441
160
+ pixeltable/metadata/schema.py,sha256=l8ZGcASiTrtaMW9jPDMtZmoT2BamGIDhujNUVgdag5E,11720
161
+ pixeltable/plan.py,sha256=lM_wZZgxIfiIgN3-IIuyCd2URn-p29T1DwAe6vZ284U,48540
157
162
  pixeltable/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
163
  pixeltable/share/__init__.py,sha256=AtR4nS6YkfkFRkXA-zZXFTK5pSQjHry8MnxdVLUk5SA,68
159
- pixeltable/share/packager.py,sha256=hYpss8DKggZcY9-6Tl8oX6IRUq97p1bqduyfMSfjaZ4,26675
160
- pixeltable/share/publish.py,sha256=MZ_tsCSM9nUnrz8P1gbwatlpbS6EJYjYAd7S06lHw9M,6533
161
- pixeltable/store.py,sha256=HVe99eQ_fk9CYZHFjYFfFy-sc95R9ADc4clPnHZeNZ0,24233
162
- pixeltable/type_system.py,sha256=DSrof2NgKhBzvt7pbDNrGlZ3rkkDJ7MQsQ9rqk9N9pA,53988
164
+ pixeltable/share/packager.py,sha256=wqOuuUXOor6YLzR9oZSYuJmdbkfBetZB3NkndsqbX3I,32172
165
+ pixeltable/share/publish.py,sha256=U6PzOUYiZaPu-sVNjh2nN8qzY2-uMsYeTwQCCuGk7Jg,6537
166
+ pixeltable/store.py,sha256=2tfMgJNVVbGShgAKghGAIFMZ-ViJHE7N9kWd2ugbi2A,24691
167
+ pixeltable/type_system.py,sha256=P-ykQDPKbMZHtkozdrcBBpuX60Zc1nzwjwzSwlxIzPg,55319
163
168
  pixeltable/utils/__init__.py,sha256=Pwgu-Sg1XkxzdCZ4ZhWP77UgLP3tnQsyCKaUJLF4ajo,1741
164
169
  pixeltable/utils/arrow.py,sha256=74wIy58rDYZJBVQ1g85NqzFyiQBvEQhnJ0Gi82iZ0dw,6421
165
170
  pixeltable/utils/coco.py,sha256=Y1DWVYguZD4VhKyf7JruYfHWvhkJLq39fzbiSm5cdyY,7304
166
171
  pixeltable/utils/code.py,sha256=SbG5OUF_fQAbOgGZHDuENijmbzisVqa4VS9guaZ0KtU,1231
167
172
  pixeltable/utils/console_output.py,sha256=x23iDnNwUbsr7Ec20BQ7BLATTsrQZflxc9NucAt_sVU,1150
168
173
  pixeltable/utils/coroutine.py,sha256=IPUqBpwHkDNaioMde7Km3LU8s54SGXVOtRJpYPkm1gE,1425
169
- pixeltable/utils/dbms.py,sha256=qm6O6leJJT0c5323cZnJTW5W_4rvQVfD4YFMbuw1mpM,2021
174
+ pixeltable/utils/dbms.py,sha256=cuQqlzLF7WON_mkJZ4QWlfX6lCxA97V32lhtMcOlDLg,2018
170
175
  pixeltable/utils/description_helper.py,sha256=acibNm36wkZG7h6k8gjcypTD_PVV2SL7YgX6cPYP1i8,3743
171
176
  pixeltable/utils/documents.py,sha256=x3UHU7eykibyA3eVkSrCK1CQoaid228vp96WUEESssU,3105
172
177
  pixeltable/utils/exception_handler.py,sha256=yrTAtUJEOhldps_k6aRLEf5yQ8gYGhl9c6ewYNC4Qfc,2476
173
178
  pixeltable/utils/filecache.py,sha256=8RZZiEkD4awZpR-mn7OhoZPc6_JlPUNSBnMU8BcEAv4,10864
174
- pixeltable/utils/formatter.py,sha256=_pYQOhBh2dZBeCTUKuWaIzm7JRWeMepMZwSd5KTv-tw,9220
179
+ pixeltable/utils/formatter.py,sha256=tbMxE9rBw6wdKUnJhNZ8h9uAF8dZKcihQ2KesqAag9A,10096
175
180
  pixeltable/utils/http_server.py,sha256=B5iQ1s_VuwsVC7pUm1joGjLZqaluV8_RfFiU8V1FuG8,2453
176
181
  pixeltable/utils/iceberg.py,sha256=L_s9G9NMIGMQdRHtNkks6ntTVW4DKKAw97R9gRmtw5s,553
177
182
  pixeltable/utils/media_store.py,sha256=Dhsnj1ZPRSX0iyGOu4JU4pC3fvSBd7sQpruVHqzKm7A,3089
@@ -179,8 +184,8 @@ pixeltable/utils/pytorch.py,sha256=564VHRdDHwD9h0v5lBHEDTJ8c6zx8wuzWYx8ZYjBxlI,3
179
184
  pixeltable/utils/s3.py,sha256=pxip2MlCqd2Qon2dzJXzfxvwtZyc-BAsjAnLL4J_OXY,587
180
185
  pixeltable/utils/sql.py,sha256=Sa4Lh-VGe8GToU5W7DRiWf2lMl9B6saPqemiT0ZdHEc,806
181
186
  pixeltable/utils/transactional_directory.py,sha256=OFKmu90oP7KwBAljwjnzP_w8euGdAXob3y4Nx9SCNHA,1357
182
- pixeltable-0.3.15.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
183
- pixeltable-0.3.15.dist-info/METADATA,sha256=YAC_YaXgK70Eo19mvT9rhBj0WKkwYVrMvz4b9YMB8Ag,20540
184
- pixeltable-0.3.15.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
185
- pixeltable-0.3.15.dist-info/entry_points.txt,sha256=ToOd-pRgG7AitEBgYoBCRRB4-KVDQ0pj_9T4a1LgwA4,97
186
- pixeltable-0.3.15.dist-info/RECORD,,
187
+ pixeltable-0.4.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
188
+ pixeltable-0.4.0.dist-info/METADATA,sha256=2SSBLx25tMosUuisWLXscFlkn4wC9k93yHqSgns_8hg,20577
189
+ pixeltable-0.4.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
190
+ pixeltable-0.4.0.dist-info/entry_points.txt,sha256=ToOd-pRgG7AitEBgYoBCRRB4-KVDQ0pj_9T4a1LgwA4,97
191
+ pixeltable-0.4.0.dist-info/RECORD,,