pixeltable 0.3.0__py3-none-any.whl → 0.3.2__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 (56) hide show
  1. pixeltable/__version__.py +2 -2
  2. pixeltable/catalog/insertable_table.py +3 -3
  3. pixeltable/catalog/table.py +2 -2
  4. pixeltable/catalog/table_version.py +3 -2
  5. pixeltable/catalog/view.py +1 -1
  6. pixeltable/dataframe.py +52 -27
  7. pixeltable/env.py +109 -4
  8. pixeltable/exec/__init__.py +1 -1
  9. pixeltable/exec/aggregation_node.py +3 -3
  10. pixeltable/exec/cache_prefetch_node.py +13 -7
  11. pixeltable/exec/component_iteration_node.py +3 -9
  12. pixeltable/exec/data_row_batch.py +17 -5
  13. pixeltable/exec/exec_node.py +32 -12
  14. pixeltable/exec/expr_eval/__init__.py +1 -0
  15. pixeltable/exec/expr_eval/evaluators.py +240 -0
  16. pixeltable/exec/expr_eval/expr_eval_node.py +408 -0
  17. pixeltable/exec/expr_eval/globals.py +113 -0
  18. pixeltable/exec/expr_eval/row_buffer.py +76 -0
  19. pixeltable/exec/expr_eval/schedulers.py +240 -0
  20. pixeltable/exec/in_memory_data_node.py +2 -2
  21. pixeltable/exec/row_update_node.py +14 -14
  22. pixeltable/exec/sql_node.py +2 -2
  23. pixeltable/exprs/column_ref.py +5 -1
  24. pixeltable/exprs/data_row.py +50 -40
  25. pixeltable/exprs/expr.py +57 -12
  26. pixeltable/exprs/function_call.py +54 -19
  27. pixeltable/exprs/inline_expr.py +12 -21
  28. pixeltable/exprs/literal.py +25 -8
  29. pixeltable/exprs/row_builder.py +25 -2
  30. pixeltable/func/aggregate_function.py +4 -0
  31. pixeltable/func/callable_function.py +54 -4
  32. pixeltable/func/expr_template_function.py +5 -1
  33. pixeltable/func/function.py +48 -7
  34. pixeltable/func/query_template_function.py +16 -7
  35. pixeltable/func/udf.py +7 -1
  36. pixeltable/functions/__init__.py +1 -1
  37. pixeltable/functions/anthropic.py +97 -21
  38. pixeltable/functions/gemini.py +2 -6
  39. pixeltable/functions/openai.py +219 -28
  40. pixeltable/globals.py +2 -3
  41. pixeltable/io/hf_datasets.py +1 -1
  42. pixeltable/io/label_studio.py +5 -5
  43. pixeltable/io/parquet.py +1 -1
  44. pixeltable/metadata/__init__.py +2 -1
  45. pixeltable/plan.py +24 -9
  46. pixeltable/store.py +6 -0
  47. pixeltable/type_system.py +73 -36
  48. pixeltable/utils/arrow.py +3 -8
  49. pixeltable/utils/console_output.py +41 -0
  50. pixeltable/utils/filecache.py +1 -1
  51. {pixeltable-0.3.0.dist-info → pixeltable-0.3.2.dist-info}/METADATA +4 -1
  52. {pixeltable-0.3.0.dist-info → pixeltable-0.3.2.dist-info}/RECORD +55 -49
  53. pixeltable/exec/expr_eval_node.py +0 -232
  54. {pixeltable-0.3.0.dist-info → pixeltable-0.3.2.dist-info}/LICENSE +0 -0
  55. {pixeltable-0.3.0.dist-info → pixeltable-0.3.2.dist-info}/WHEEL +0 -0
  56. {pixeltable-0.3.0.dist-info → pixeltable-0.3.2.dist-info}/entry_points.txt +0 -0
pixeltable/type_system.py CHANGED
@@ -246,8 +246,8 @@ class ColumnType:
246
246
  col_type = ArrayType.from_literal(val, nullable=nullable)
247
247
  if col_type is not None:
248
248
  return col_type
249
- # this could still be json-serializable
250
- if isinstance(val, dict) or isinstance(val, list) or isinstance(val, np.ndarray) or isinstance(val, pydantic.BaseModel):
249
+ # this could still be json-serializable
250
+ if isinstance(val, (list, tuple, dict, np.ndarray, pydantic.BaseModel)):
251
251
  try:
252
252
  JsonType().validate_literal(val)
253
253
  return JsonType(nullable=nullable)
@@ -793,12 +793,19 @@ class JsonType(ColumnType):
793
793
 
794
794
 
795
795
  class ArrayType(ColumnType):
796
- def __init__(self, shape: tuple[Union[int, None], ...], dtype: ColumnType, nullable: bool = False):
796
+
797
+ shape: Optional[tuple[Optional[int], ...]]
798
+ pxt_dtype: Optional[ColumnType]
799
+ dtype: Optional[ColumnType.Type]
800
+
801
+ def __init__(self, shape: Optional[tuple[Optional[int], ...]] = None, dtype: Optional[ColumnType] = None, nullable: bool = False):
797
802
  super().__init__(self.Type.ARRAY, nullable=nullable)
803
+ assert shape is None or dtype is not None, (shape, dtype) # cannot specify a shape without a dtype
804
+ assert dtype is None or dtype.is_int_type() or dtype.is_float_type() or dtype.is_bool_type() or dtype.is_string_type()
805
+
798
806
  self.shape = shape
799
- assert dtype.is_int_type() or dtype.is_float_type() or dtype.is_bool_type() or dtype.is_string_type()
800
- self.pxt_dtype = dtype
801
- self.dtype = dtype._type
807
+ self.pxt_dtype = dtype # we need this for copy() and __str__()
808
+ self.dtype = None if dtype is None else dtype._type
802
809
 
803
810
  def copy(self, nullable: bool) -> ColumnType:
804
811
  return ArrayType(self.shape, self.pxt_dtype, nullable=nullable)
@@ -812,28 +819,38 @@ class ArrayType(ColumnType):
812
819
  def supertype(self, other: ColumnType) -> Optional[ArrayType]:
813
820
  if not isinstance(other, ArrayType):
814
821
  return None
822
+ super_dtype = self.Type.supertype(self.dtype, other.dtype, self.common_supertypes)
823
+ if super_dtype is None:
824
+ # if the dtypes are incompatible, then the supertype is a fully general array
825
+ return ArrayType(nullable=(self.nullable or other.nullable))
826
+ super_shape: Optional[tuple[Optional[int], ...]]
815
827
  if len(self.shape) != len(other.shape):
816
- return None
817
- base_type = self.Type.supertype(self.dtype, other.dtype, self.common_supertypes)
818
- if base_type is None:
819
- return None
820
- shape = [n1 if n1 == n2 else None for n1, n2 in zip(self.shape, other.shape)]
821
- return ArrayType(tuple(shape), self.make_type(base_type), nullable=(self.nullable or other.nullable))
828
+ super_shape = None
829
+ else:
830
+ super_shape = tuple(n1 if n1 == n2 else None for n1, n2 in zip(self.shape, other.shape))
831
+ return ArrayType(super_shape, self.make_type(super_dtype), nullable=(self.nullable or other.nullable))
822
832
 
823
833
  def _as_dict(self) -> dict:
824
834
  result = super()._as_dict()
825
- result.update(shape=list(self.shape), dtype=self.dtype.value)
835
+ shape_as_list = None if self.shape is None else list(self.shape)
836
+ dtype_value = None if self.dtype is None else self.dtype.value
837
+ result.update(shape=shape_as_list, dtype=dtype_value)
826
838
  return result
827
839
 
828
840
  def _to_base_str(self) -> str:
841
+ if self.shape is None and self.dtype is None:
842
+ return 'Array'
843
+ if self.shape is None:
844
+ return f'Array[{self.pxt_dtype}]'
845
+ assert self.dtype is not None
829
846
  return f'Array[{self.shape}, {self.pxt_dtype}]'
830
847
 
831
848
  @classmethod
832
849
  def _from_dict(cls, d: dict) -> ColumnType:
833
850
  assert 'shape' in d
834
851
  assert 'dtype' in d
835
- shape = tuple(d['shape'])
836
- dtype = cls.make_type(cls.Type(d['dtype']))
852
+ shape = None if d['shape'] is None else tuple(d['shape'])
853
+ dtype = None if d['dtype'] is None else cls.make_type(cls.Type(d['dtype']))
837
854
  return cls(shape, dtype, nullable=d['nullable'])
838
855
 
839
856
  @classmethod
@@ -855,18 +872,30 @@ class ArrayType(ColumnType):
855
872
  def is_valid_literal(self, val: np.ndarray) -> bool:
856
873
  if not isinstance(val, np.ndarray):
857
874
  return False
858
- if len(val.shape) != len(self.shape):
875
+
876
+ # If a dtype is specified, check that there's a match
877
+ if self.dtype is not None and not np.issubdtype(val.dtype, self.numpy_dtype()):
859
878
  return False
860
- # check that the shapes are compatible
861
- for n1, n2 in zip(val.shape, self.shape):
862
- if n1 is None:
863
- return False
864
- if n2 is None:
865
- # wildcard
866
- continue
867
- if n1 != n2:
879
+
880
+ # If no dtype is specified, we still need to check that the dtype is one of the supported types
881
+ if self.dtype is None and not any(
882
+ np.issubdtype(val.dtype, ndtype) for ndtype in [np.int64, np.float32, np.bool_, np.str_]
883
+ ):
884
+ return False
885
+
886
+ # If a shape is specified, check that there's a match
887
+ if self.shape is not None:
888
+ if len(val.shape) != len(self.shape):
868
889
  return False
869
- return val.dtype == self.numpy_dtype()
890
+ # check that the shapes are compatible
891
+ for n1, n2 in zip(val.shape, self.shape):
892
+ assert n1 is not None # `val` must have a concrete shape
893
+ if n2 is None:
894
+ continue # wildcard
895
+ if n1 != n2:
896
+ return False
897
+
898
+ return True
870
899
 
871
900
  def _to_json_schema(self) -> dict[str, Any]:
872
901
  return {
@@ -878,9 +907,17 @@ class ArrayType(ColumnType):
878
907
  if not isinstance(val, np.ndarray):
879
908
  raise TypeError(f'Expected numpy.ndarray, got {val.__class__.__name__}')
880
909
  if not self.is_valid_literal(val):
881
- raise TypeError((
882
- f'Expected ndarray({self.shape}, dtype={self.numpy_dtype()}), '
883
- f'got ndarray({val.shape}, dtype={val.dtype})'))
910
+ if self.shape is not None:
911
+ raise TypeError(
912
+ f'Expected numpy.ndarray({self.shape}, dtype={self.numpy_dtype()}), '
913
+ f'got numpy.ndarray({val.shape}, dtype={val.dtype})'
914
+ )
915
+ elif self.dtype is not None:
916
+ raise TypeError(
917
+ f'Expected numpy.ndarray of dtype {self.numpy_dtype()}, got numpy.ndarray of dtype {val.dtype}'
918
+ )
919
+ else:
920
+ raise TypeError(f'Unsupported dtype for numpy.ndarray: {val.dtype}')
884
921
 
885
922
  def _create_literal(self, val: Any) -> Any:
886
923
  if isinstance(val, (list, tuple)):
@@ -892,7 +929,9 @@ class ArrayType(ColumnType):
892
929
  def to_sa_type(self) -> sql.types.TypeEngine:
893
930
  return sql.LargeBinary()
894
931
 
895
- def numpy_dtype(self) -> np.dtype:
932
+ def numpy_dtype(self) -> Optional[np.dtype]:
933
+ if self.dtype is None:
934
+ return None
896
935
  if self.dtype == self.Type.INT:
897
936
  return np.dtype(np.int64)
898
937
  if self.dtype == self.Type.FLOAT:
@@ -901,7 +940,7 @@ class ArrayType(ColumnType):
901
940
  return np.dtype(np.bool_)
902
941
  if self.dtype == self.Type.STRING:
903
942
  return np.dtype(np.str_)
904
- assert False
943
+ assert False, self.dtype
905
944
 
906
945
 
907
946
  class ImageType(ColumnType):
@@ -1174,6 +1213,8 @@ class Array(np.ndarray, _PxtType):
1174
1213
  params = item if isinstance(item, tuple) else (item,)
1175
1214
  shape: Optional[tuple] = None
1176
1215
  dtype: Optional[ColumnType] = None
1216
+ if not any(isinstance(param, (type, _AnnotatedAlias)) for param in params):
1217
+ raise TypeError('Array type parameter must include a dtype.')
1177
1218
  for param in params:
1178
1219
  if isinstance(param, tuple):
1179
1220
  if not all(n is None or (isinstance(n, int) and n >= 1) for n in param):
@@ -1181,21 +1222,17 @@ class Array(np.ndarray, _PxtType):
1181
1222
  if shape is not None:
1182
1223
  raise TypeError(f'Duplicate Array type parameter: {param}')
1183
1224
  shape = param
1184
- elif isinstance(param, type) or isinstance(param, _AnnotatedAlias):
1225
+ elif isinstance(param, (type, _AnnotatedAlias)):
1185
1226
  if dtype is not None:
1186
1227
  raise TypeError(f'Duplicate Array type parameter: {param}')
1187
1228
  dtype = ColumnType.normalize_type(param, allow_builtin_types=False)
1188
1229
  else:
1189
1230
  raise TypeError(f'Invalid Array type parameter: {param}')
1190
- if shape is None:
1191
- raise TypeError('Array type is missing parameter: shape')
1192
- if dtype is None:
1193
- raise TypeError('Array type is missing parameter: dtype')
1194
1231
  return typing.Annotated[np.ndarray, ArrayType(shape=shape, dtype=dtype, nullable=False)]
1195
1232
 
1196
1233
  @classmethod
1197
1234
  def as_col_type(cls, nullable: bool) -> ColumnType:
1198
- raise TypeError('Array type cannot be used without specifying shape and dtype')
1235
+ return ArrayType(nullable=nullable)
1199
1236
 
1200
1237
 
1201
1238
  class Image(PIL.Image.Image, _PxtType):
pixeltable/utils/arrow.py CHANGED
@@ -1,4 +1,3 @@
1
- import logging
2
1
  from typing import Any, Iterator, Optional, Union
3
2
 
4
3
  import numpy as np
@@ -6,11 +5,7 @@ import pyarrow as pa
6
5
  import datetime
7
6
 
8
7
  import pixeltable.type_system as ts
9
- from pixeltable.env import Env
10
8
 
11
- _tz_def = Env().get().default_time_zone
12
-
13
- _logger = logging.getLogger(__name__)
14
9
 
15
10
  _pa_to_pt: dict[pa.DataType, ts.ColumnType] = {
16
11
  pa.string(): ts.StringType(nullable=True),
@@ -75,7 +70,7 @@ def to_arrow_schema(pixeltable_schema: dict[str, Any]) -> pa.Schema:
75
70
  return pa.schema((name, to_arrow_type(typ)) for name, typ in pixeltable_schema.items()) # type: ignore[misc]
76
71
 
77
72
 
78
- def to_pydict(batch: pa.RecordBatch) -> dict[str, Union[list, np.ndarray]]:
73
+ def to_pydict(batch: Union[pa.Table, pa.RecordBatch]) -> dict[str, Union[list, np.ndarray]]:
79
74
  """Convert a RecordBatch to a dictionary of lists, unlike pa.lib.RecordBatch.to_pydict,
80
75
  this function will not convert numpy arrays to lists, and will preserve the original numpy dtype.
81
76
  """
@@ -84,7 +79,7 @@ def to_pydict(batch: pa.RecordBatch) -> dict[str, Union[list, np.ndarray]]:
84
79
  col = batch.column(k)
85
80
  if isinstance(col.type, pa.FixedShapeTensorType):
86
81
  # treat array columns as numpy arrays to easily preserve numpy type
87
- out[name] = col.to_numpy(zero_copy_only=False)
82
+ out[name] = col.to_numpy(zero_copy_only=False) # type: ignore[call-arg]
88
83
  else:
89
84
  # for the rest, use pydict to preserve python types
90
85
  out[name] = col.to_pylist()
@@ -92,7 +87,7 @@ def to_pydict(batch: pa.RecordBatch) -> dict[str, Union[list, np.ndarray]]:
92
87
  return out
93
88
 
94
89
 
95
- def iter_tuples(batch: pa.RecordBatch) -> Iterator[dict[str, Any]]:
90
+ def iter_tuples(batch: Union[pa.Table, pa.RecordBatch]) -> Iterator[dict[str, Any]]:
96
91
  """Convert a RecordBatch to an iterator of dictionaries. also works with pa.Table and pa.RowGroup"""
97
92
  pydict = to_pydict(batch)
98
93
  assert len(pydict) > 0, 'empty record batch'
@@ -0,0 +1,41 @@
1
+ import logging
2
+
3
+ def map_level(verbosity: int) -> int:
4
+ """
5
+ Map verbosity level to logging level.
6
+ 0 - minimum logging - warn and above
7
+ 1 - default logging - info and above
8
+ 2 - more logging - debug and above
9
+ Args:
10
+
11
+ Returns:
12
+ Logging level as integer
13
+ """
14
+ if verbosity == 0:
15
+ return logging.WARN
16
+ if verbosity == 1:
17
+ return logging.INFO
18
+ if verbosity == 2:
19
+ return logging.DEBUG
20
+ return logging.INFO
21
+
22
+ class ConsoleOutputHandler(logging.StreamHandler):
23
+ def __init__(self, stream):
24
+ super().__init__(stream)
25
+
26
+ def emit(self, record):
27
+ if record.msg.endswith('\n'):
28
+ self.stream.write(record.msg)
29
+ else:
30
+ self.stream.write(record.msg + '\n')
31
+
32
+ class ConsoleMessageFilter(logging.Filter):
33
+ def filter(self, record: logging.LogRecord) -> bool:
34
+ if hasattr(record, 'user_visible') and record.user_visible:
35
+ return True
36
+ return False
37
+
38
+ class ConsoleLogger(logging.LoggerAdapter):
39
+ def __init__(self, logger:logging.Logger):
40
+ super().__init__(logger, extra={'user_visible' : True})
41
+
@@ -239,4 +239,4 @@ class FileCache:
239
239
 
240
240
  def debug_print(self) -> None:
241
241
  for entry in self.cache.values():
242
- print(f'CacheEntry: tbl_id={entry.tbl_id}, col_id={entry.col_id}, size={entry.size}')
242
+ _logger.debug(f'CacheEntry: tbl_id={entry.tbl_id}, col_id={entry.col_id}, size={entry.size}')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pixeltable
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: AI Data Infrastructure: Declarative, Multimodal, and Incremental
5
5
  Home-page: https://pixeltable.com/
6
6
  License: Apache-2.0
@@ -27,11 +27,14 @@ Requires-Dist: av (>=10.0.0)
27
27
  Requires-Dist: beautifulsoup4 (>=4.0.0,<5.0.0)
28
28
  Requires-Dist: cloudpickle (>=2.2.1,<3.0.0)
29
29
  Requires-Dist: ftfy (>=6.2.0,<7.0.0)
30
+ Requires-Dist: httpcore (>=1.0.3)
31
+ Requires-Dist: httpx (>=0.27)
30
32
  Requires-Dist: jinja2 (>=3.1.3,<4.0.0)
31
33
  Requires-Dist: jmespath (>=1.0.1,<2.0.0)
32
34
  Requires-Dist: jsonschema (>=4.1.0)
33
35
  Requires-Dist: lxml (>=5.0)
34
36
  Requires-Dist: more-itertools (>=10.2,<11.0)
37
+ Requires-Dist: nest_asyncio (>=1.5)
35
38
  Requires-Dist: numpy (>=1.25,<2.0)
36
39
  Requires-Dist: pandas (>=2.0,<3.0)
37
40
  Requires-Dist: pgvector (>=0.2.1,<0.3.0)
@@ -1,55 +1,60 @@
1
1
  pixeltable/__init__.py,sha256=c-Z21TqJUbzGQKsO4CS4lVFwWlZnVhpIR94cL6RNmDo,1411
2
- pixeltable/__version__.py,sha256=zP_zQgwZByDmFisB1NLZeZLdsIy7Xh24k7e1Y59IAY4,112
2
+ pixeltable/__version__.py,sha256=Ftdd_iaB0tNUSNnDBsJFrHIR6gBXSgcgIbcjGk_8ds4,112
3
3
  pixeltable/catalog/__init__.py,sha256=u8Ods4ncTY7DI5w0jyHVC0QDVDLHAy8Rqia3qsM5OH8,517
4
4
  pixeltable/catalog/catalog.py,sha256=tyDyI5wQw7vV6_FChrp9qgGCRClcjiSdW3eygYT0p9s,7849
5
5
  pixeltable/catalog/column.py,sha256=ezeKoGl6aBTzSZBihDA6vdETcvyCguAD4OsmrxWs73A,9595
6
6
  pixeltable/catalog/dir.py,sha256=-dV0-gn5GfqRmVIJbuUBOXqPuNLDm219cud_kBTNzuk,1203
7
7
  pixeltable/catalog/globals.py,sha256=VgcmwtKYYDQtvtHShVde52n4FzGBtAIFYxoS-WD7OBw,3242
8
- pixeltable/catalog/insertable_table.py,sha256=hOsdYhkhtRcDOrRkweIGFUfjweWF3fLUErkUTlGYoSU,7172
8
+ pixeltable/catalog/insertable_table.py,sha256=VgZ6C0l_NI1orCqeZF_lOC5RZnie36_bQSx3y6SRtW4,7227
9
9
  pixeltable/catalog/named_function.py,sha256=cWf9WxAagSY9uqE7mM0IwWSsDOvQUkJlcHlGqgVciJg,1225
10
10
  pixeltable/catalog/path.py,sha256=QgccEi_QOfaKt8YsR2zLtd_z7z7QQkU_1kprJFi2SPQ,1677
11
11
  pixeltable/catalog/path_dict.py,sha256=V7YQM0QhUWr4FbgUiDUIweGbmMJr687QCm2p614Xrs0,6473
12
12
  pixeltable/catalog/schema_object.py,sha256=NUE6Fx6Km0UUJ6WcE9mOgL2UQCLBMQjINQLp_mljzKA,2382
13
- pixeltable/catalog/table.py,sha256=Gqb1tT9l8oB5eeeFuj45fy0_1fdCqizmRWvyjFH-U9Y,62404
14
- pixeltable/catalog/table_version.py,sha256=hbnAtd-0EsVFCuWE1yrmm_CLar6NNQDRevgDjduh2CY,58581
13
+ pixeltable/catalog/table.py,sha256=DbCX6H1xZL3raytoMrii0ceZiwD_X4FhkUw-1Djuaf0,62460
14
+ pixeltable/catalog/table_version.py,sha256=Ue_iByiT9JdPl_QwXnwq93Nd71Z_w0BHlRjugOLSI60,58625
15
15
  pixeltable/catalog/table_version_path.py,sha256=CczGbcz5ESq663arreri_p4chMZHozgG6k3y-ajkJN4,5787
16
- pixeltable/catalog/view.py,sha256=qUjou_z_YwKTqTIRUY4Q3JxWUEiKvl2pDi7DNOnw4fw,10709
17
- pixeltable/dataframe.py,sha256=Xd1xJ0Drj2WBC1B9fJ2TCFMI23HeMV7L7RZJi7Wm2ew,47735
18
- pixeltable/env.py,sha256=jxnHxliUpWegRbsT6lRz83nNqDG29bWAy5wyAYImNGg,31338
16
+ pixeltable/catalog/view.py,sha256=hzTzS2jtrE8fyI5IeCKlmUQl_w-xE0C0fslmdBOBBZU,10733
17
+ pixeltable/dataframe.py,sha256=KrAB-l_qdArlT3pnlSH69k0mqs0AK2wFhQ4V_7Wcjyw,48639
18
+ pixeltable/env.py,sha256=J0e2dN42O6u1N67sg4OIyBKcElbSueQWdRFBC_8LFRY,35776
19
19
  pixeltable/exceptions.py,sha256=NuFY2WtkQpLfLHT_J70kOw9Tr0kEDkkgo-u7As4Gaq4,410
20
- pixeltable/exec/__init__.py,sha256=bWbIA7U7y1hC40VOSv_p9doaMuOB0i3r1O2UFNw0VEs,494
21
- pixeltable/exec/aggregation_node.py,sha256=0LdoPp_CR_UbcS60XkDw66SqlrQnw6Dy6KDWqi4PJ6k,4005
22
- pixeltable/exec/cache_prefetch_node.py,sha256=hrJA5PxLSmFRuZdZO4Nc-vy6_PSb9YO4rnJc6MSTPHE,12017
23
- pixeltable/exec/component_iteration_node.py,sha256=ABuXGbDRQWLGuaBnfK7bvOxCrz81vMMiAvXHHI8SX4c,4930
24
- pixeltable/exec/data_row_batch.py,sha256=qPN0GtBGt72Jnap-UN53VlUPOpYEvqJhp1nuTeJ_8Co,2925
20
+ pixeltable/exec/__init__.py,sha256=E_ub_ftAJVebEmKHZs47egeJqMfAbbx4SS1l7jR-Nd0,489
21
+ pixeltable/exec/aggregation_node.py,sha256=iE3UHHW0IbkHsY7kYJAg6m1UKyKUu2_tJuzgL_rQUVE,4038
22
+ pixeltable/exec/cache_prefetch_node.py,sha256=9jwCzWuAhymff6xwvBietw2S_eYno6y2n59QWbzowns,12220
23
+ pixeltable/exec/component_iteration_node.py,sha256=4DkEzekeuaKok-VjI0Y3FIMF7BdoKHNmX2tAM10hsOY,4730
24
+ pixeltable/exec/data_row_batch.py,sha256=5WhdS3ahtCP3wROw4NPJjtvaQUAWKwyN1rHKbfdT6TU,3308
25
25
  pixeltable/exec/exec_context.py,sha256=-FbfYLcGOL7mviru5dE1A7x4YxLbdKoXBHN3OSbqbcg,1084
26
- pixeltable/exec/exec_node.py,sha256=3t_Ri_FQfc-dV91YGSq17Av3vPJth5mHC-LAVc-1Whc,3222
27
- pixeltable/exec/expr_eval_node.py,sha256=8IzcxHvXCj69RKFfrt4XEol88SGAlLWMl0bjAijX7Ug,11887
28
- pixeltable/exec/in_memory_data_node.py,sha256=uK3puLZDzUSJUJwGwkTMYoPqNIvE67jtQodhE2sCz2M,3452
29
- pixeltable/exec/row_update_node.py,sha256=b8yuKtkmI2Q6U-7svKbkjdM3Z85ddZoJgJgUa17j-YE,2773
30
- pixeltable/exec/sql_node.py,sha256=TOeSI7TIUh8SG3esExj5zaWgLrjmpqMN74iJlPq16D0,19546
26
+ pixeltable/exec/exec_node.py,sha256=qDp63PFlMQUVwav0JIjuP0r0BH9EwW7s_NgqFE_Zn20,3735
27
+ pixeltable/exec/expr_eval/__init__.py,sha256=t0o2T7MxfH09TI7KlzxEjPUySejn2vkK06LC8t4FjsQ,41
28
+ pixeltable/exec/expr_eval/evaluators.py,sha256=Zb_TW_VLiicVSVZjbmU4eSDzuzO37J6VIvmLZo5fjPY,11061
29
+ pixeltable/exec/expr_eval/expr_eval_node.py,sha256=XSddV59hHkhUGKeRYgbviY5GcB0p61Y9qzIvBcdwpXM,19911
30
+ pixeltable/exec/expr_eval/globals.py,sha256=q3WBI5HRBxgg2msrqcZhuh1oZ_KkI4i1MzICjePGIwM,3856
31
+ pixeltable/exec/expr_eval/row_buffer.py,sha256=Wjc6ZklxSW4-sCAMEGIzESII1uuC6Urzmq6JeUO3ALA,2737
32
+ pixeltable/exec/expr_eval/schedulers.py,sha256=_Tq_JglwcAI_rvhDgWm0tVH2eBPCOsHctoZaK-jiFlo,11257
33
+ pixeltable/exec/in_memory_data_node.py,sha256=CwuwkA2xdyApMfPfSQamlLdbb-IQn7R7zeBBJiI8I7g,3479
34
+ pixeltable/exec/row_update_node.py,sha256=MEvI3Yzw6YcUDTufSNVNVtyG83Hj6zHzEI9fvKtAgRQ,2859
35
+ pixeltable/exec/sql_node.py,sha256=vMHNHzhrlk2Ej58vMZzk7hYAeHFHlBtkLwYZsOVn3CQ,19573
31
36
  pixeltable/exprs/__init__.py,sha256=zx5OTxfUpFs_U36CAO-81v6RCX49wqRw3eHaLfytvkE,1044
32
37
  pixeltable/exprs/arithmetic_expr.py,sha256=I_OESFmUHlMSDmMy699-2JnFb7KbRjvh1GF06u8rBQ8,6322
33
38
  pixeltable/exprs/array_slice.py,sha256=eSqtQRxvweW_CwTRgkDD189i-BmTJ48dsW3znRPDebg,2180
34
39
  pixeltable/exprs/column_property_ref.py,sha256=ycHqZ7_LTFz_gag_53T5KRN6RfZckpw83DvvtxmcynM,3788
35
- pixeltable/exprs/column_ref.py,sha256=Z2YAiZ0nMv_ecbw91qTc9VN6DB2hZj-_RNkogZcu4ng,10784
40
+ pixeltable/exprs/column_ref.py,sha256=win5w5oU0isvpa6bcB9c3I-ufI50RvZ2YOnNcSq-NX0,10886
36
41
  pixeltable/exprs/comparison.py,sha256=w1FuhnGsJRoCLYX3ztIHZDywf8nZeT2tKKwRjIQa6Lc,5101
37
42
  pixeltable/exprs/compound_predicate.py,sha256=6N_zN4A_hKGLordNY0si-8KHeFWG1UtyeiTHcs69IrM,3846
38
- pixeltable/exprs/data_row.py,sha256=rLtKxlst9mK6684A5y-nsjBcalyKEcKAWcYCtNpK10w,9852
39
- pixeltable/exprs/expr.py,sha256=E1V_fU1qA4nkHLHTqGkxr8exJE6I9-b9LwNVXxGNTXo,30463
43
+ pixeltable/exprs/data_row.py,sha256=11WAmLmkhrjsKvKfPwj0dg8IkbeLwVcbFpK6eq3VUsM,10577
44
+ pixeltable/exprs/expr.py,sha256=JYjdweVm6z5Fw37_WhefGDaVN_2jQtUV9BiVwt20oYE,32203
40
45
  pixeltable/exprs/expr_dict.py,sha256=xkvo_iVPOLMq3WkBZQ2FOoXqYoebuV6XGlidPJxdOkY,1588
41
46
  pixeltable/exprs/expr_set.py,sha256=GeUQXadzJbAqQOGdsO6Z5hPAp0A03YUr2hyIvfZDYEE,2576
42
- pixeltable/exprs/function_call.py,sha256=5lMTj4G6jOarabZ0b3xpgAMJe3rgDdCSXbYwnrZEjxs,26196
47
+ pixeltable/exprs/function_call.py,sha256=DrBFDU2cKVBj7TiDsAJFuElFMClg1RO9W8klnLNz8l0,28033
43
48
  pixeltable/exprs/globals.py,sha256=5pwn5vdi-EEpYBpPty658YV45myY7W0iFIfTH7QIzak,2032
44
49
  pixeltable/exprs/in_predicate.py,sha256=VxSn9TA_3UDHTC6rqQ12No5HbZO7SuE4DglpwAoI58s,3783
45
- pixeltable/exprs/inline_expr.py,sha256=oALVAM5BVFskEQgkfgGIhKFm6V2FUlrPtocGtqtXM0w,7867
50
+ pixeltable/exprs/inline_expr.py,sha256=PRiW4kvxBmvbJD27Rr-xQzcL7f5YWmnHd3GuhwOGocw,7707
46
51
  pixeltable/exprs/is_null.py,sha256=rnusy1j33o48Z-qjguj09G7AmsBHFJI5SWQXOAjgKQw,1092
47
52
  pixeltable/exprs/json_mapper.py,sha256=yhefrgvy76czfyTER_oRXnfxOVQb42Q4Us1KkXhSsLM,4545
48
53
  pixeltable/exprs/json_path.py,sha256=UTf3VUcyEmEBJs6yU4kONGcZ8fy1o6mIe9MlntnUd6M,6811
49
- pixeltable/exprs/literal.py,sha256=TTKb0gw6qck9D61SwVDuBrLrBrGwEhkCB-m0ILFpWFk,3764
54
+ pixeltable/exprs/literal.py,sha256=Nhh-fXYMqGL4Tfm2YiFUd4ALMjzG7nJ2H4jHZe9XS1Y,4394
50
55
  pixeltable/exprs/method_ref.py,sha256=3O_uFMP6wWGiwJWri8on-47EVl-QD3AiAc7hXJMADxs,2615
51
56
  pixeltable/exprs/object_ref.py,sha256=GVg6uxZnKwFVTC0kouJq-wMFP-gUPb_ld_syHrsGMdE,1283
52
- pixeltable/exprs/row_builder.py,sha256=fJEb8XU7j8M4PIc67O35a5Pzhoh_fs-i77lYxJPrA6o,18444
57
+ pixeltable/exprs/row_builder.py,sha256=hR-lpd9BDsPesJQ_02Mh0NB3Kou8ELIUnchGI1e--vg,19916
53
58
  pixeltable/exprs/rowid_ref.py,sha256=iNBZ0wIhBAGkGCrNP9UQ2FeK8OajVX-eI4dtDA_bfHU,4401
54
59
  pixeltable/exprs/similarity_expr.py,sha256=GhiopGxN3wu5MOEqfWN4PNbqgSszg2VIC1_bqVPpm3Q,4333
55
60
  pixeltable/exprs/sql_element_cache.py,sha256=8i9ZslKWKTd1lUN7JvwRtQ-PFD1QMi5LBYdwcGA2-p0,1364
@@ -60,21 +65,21 @@ pixeltable/ext/functions/__init__.py,sha256=hIjPEKC5E5uJOXlQqUyhP9yn9ZqWOCJAlj0k
60
65
  pixeltable/ext/functions/whisperx.py,sha256=jojjNhazcYiAh1scwUl-erhIDRr4kOTkcLrjy0xcp6g,2325
61
66
  pixeltable/ext/functions/yolox.py,sha256=k-pQTelv4Tea3AXvDB7Kc7YCIa1uexjVGqxETP0B_hc,5351
62
67
  pixeltable/func/__init__.py,sha256=Tmy5srLdxcWDwxwnXXj2mTNUMimdYY-MdU6fJ9SpePc,457
63
- pixeltable/func/aggregate_function.py,sha256=SWqU3stHBzrZbzoNCNHBhMHqQbT9rpVTelWY6otboSg,12649
64
- pixeltable/func/callable_function.py,sha256=AK2sO-nOlDqDSDJvJ5zOp2UNwDJY-2keJlfPycGzRDw,6500
65
- pixeltable/func/expr_template_function.py,sha256=xoi7yngicX4F_-qa64a38_dvX3Bs_4BDphodTEul06o,5381
66
- pixeltable/func/function.py,sha256=1bGC7e93QrRZhSij-DdMVL94Lz-A7OWwbncmPhJj1ps,16799
68
+ pixeltable/func/aggregate_function.py,sha256=eRPKCX2gdpEokyn5tKWxgbrC2UneaC0o2zIUp39Gd-w,12717
69
+ pixeltable/func/callable_function.py,sha256=KL69czs2EZ9Fv5EoDT4xaXILePhaV9owTBNBgtNU4RU,8941
70
+ pixeltable/func/expr_template_function.py,sha256=prKOIfO5rO_M3y6lSOB2zTYqZYb2nycbJ5m5FlJQ27E,5454
71
+ pixeltable/func/function.py,sha256=Ida2SOKQzryiuOqQDF5l9Q-8LmmGx1rNvzxHwuOrtsg,18853
67
72
  pixeltable/func/function_registry.py,sha256=Ps09iPDRJRKj-NQtancrI07zqFBIPpASGZ636mpBiI0,12333
68
73
  pixeltable/func/globals.py,sha256=sEwn6lGgHMp6VQORb_P5qRd_-Q2_bUSqvqM9-XPN_ec,1483
69
- pixeltable/func/query_template_function.py,sha256=p3zp5aNIxlr0QR1ROVJLISDnZXpfOhqAeMIwr8l2b5g,5170
74
+ pixeltable/func/query_template_function.py,sha256=zaRpthtFDsN0RGsZMebXiCSukW7oBHY4oskUx_93H8Y,5316
70
75
  pixeltable/func/signature.py,sha256=wWf07OawOwDmqZOjUPgHJHAhAQ-fd61PGBx82aWLBgA,11212
71
76
  pixeltable/func/tools.py,sha256=7OAHVb9KbmcPtfMWsbKAoRu3kx-_japSTE-hgRQJefM,5988
72
- pixeltable/func/udf.py,sha256=a8FqOcDqPvUICvELpPOQVsrvr0sgZBQuV4aVHXuexac,8603
73
- pixeltable/functions/__init__.py,sha256=2vdpJ3S1pUle8dBzCVM70o8Lj1c0lgccZPJgPYms_CQ,403
74
- pixeltable/functions/anthropic.py,sha256=FzMK4zhz4HvPqJmOM4CBIlpVa8JLiRShi8jEd2abHsg,4710
77
+ pixeltable/func/udf.py,sha256=p7imgwk7S03q3lHZxqAZUKr63XSeSsrD8kWTbwOLQWo,8882
78
+ pixeltable/functions/__init__.py,sha256=C7Okwst3JdhzwIFWXhyJ3F0EHKGKor2R8dRMvQ3y6Us,428
79
+ pixeltable/functions/anthropic.py,sha256=tAMImdf-L6ZBnHGbX98uM5VuPkiwxzDAjdMZsY26lPI,8866
75
80
  pixeltable/functions/audio.py,sha256=7213nTnqKJ6vM9kalaoJ283OwX5SGEJN10vDhaRNZ6E,644
76
81
  pixeltable/functions/fireworks.py,sha256=qwFC_eIaDs-glxyJ_IVXaNGkpgPzeRsQ_SdpzueBxq0,2605
77
- pixeltable/functions/gemini.py,sha256=RQ3I25nXSXUXdF0rmhnv5XOgZXb_6SIgMc_hEyF83SI,2783
82
+ pixeltable/functions/gemini.py,sha256=0aqsDpxI0AgeWu6zXQxtFbp3nhhuwXqzulZyot6UKdg,2613
78
83
  pixeltable/functions/globals.py,sha256=Q5S84Vk_ovCADLivXkn4vfUnX8oSgW8v1dZ0aPoz7C4,4844
79
84
  pixeltable/functions/huggingface.py,sha256=fXcj6NC5Hz_nYE-0CjvSJ1sD3Jq726hQXzueqnQ6Kr4,20576
80
85
  pixeltable/functions/image.py,sha256=3Qm4ybAT_o4YUl3bzhEXy8dKOwgZ7RCUV-ky-dbL_jc,13836
@@ -83,7 +88,7 @@ pixeltable/functions/llama_cpp.py,sha256=1awALuAXVpQH64l7vQlM8gvxLDix4c1-6DV3nG5
83
88
  pixeltable/functions/math.py,sha256=WPoH9zD9_GdwvBs-FSC3Sqb70gOPNouhPcBZABsuLwI,1541
84
89
  pixeltable/functions/mistralai.py,sha256=GpxtT-a8ltx1kQC8XTJRflxkh-17VhzzFTkxqIUsba8,5494
85
90
  pixeltable/functions/ollama.py,sha256=z-g0cCJ-WMf6RI3SXIVVbbOlrWNR8nxGTyzET1rratU,4320
86
- pixeltable/functions/openai.py,sha256=Jikl9oYPiKy61r5Ohe1xqjvb6SLCbNTYFr4yAHFkYME,17101
91
+ pixeltable/functions/openai.py,sha256=kXIhIMB2wNrrUO81H7ycy30avhgRApKepnkhE3C4uxA,24606
87
92
  pixeltable/functions/replicate.py,sha256=j8ZedScOMInmHWmriQSUOviw6tp8gQr-W6n21PNNL2g,2188
88
93
  pixeltable/functions/string.py,sha256=VqzhVildxTt_XblW89Kl5Zd6MVOU71eaX2LTMY5jkUg,20366
89
94
  pixeltable/functions/timestamp.py,sha256=KOm5eVF51PqOCTqwq8cKCAEJNWMgu2xN_yTtGf7yixU,9095
@@ -92,7 +97,7 @@ pixeltable/functions/util.py,sha256=GgKTzCjvzUQNjWtSObTkfxkvJ9GVUOzKimY45WhE25M,
92
97
  pixeltable/functions/video.py,sha256=12jnOdU0G-Hk42rJx-S5QC77-bDkUflkxfkjej8n5pM,6702
93
98
  pixeltable/functions/vision.py,sha256=MEgkNp-4tUUeQS05VEJBrMgQFM48aNsNlksfAl9rH7w,15494
94
99
  pixeltable/functions/whisper.py,sha256=f2wqRd0n9jSBqRZN3W93UaetiAHtbsK0j9jXR2j2kkQ,2913
95
- pixeltable/globals.py,sha256=W5-4KEVqg9tZwfL6EffkjQYtRNXDLKXj_Bv32liZeHI,33895
100
+ pixeltable/globals.py,sha256=7gYQdZs685OwJm1W49g4LlRdrhzhKTSU_DpJr_MRaXg,33866
96
101
  pixeltable/index/__init__.py,sha256=XBwetNQQwnz0fiKwonOKhyy_U32l_cjt77kNvEIdjWs,102
97
102
  pixeltable/index/base.py,sha256=zo0YvJI3oXiK6hZJztB36ZftKKhLfO75Zq3t-PeQA6M,1556
98
103
  pixeltable/index/btree.py,sha256=JFerLyyLoBaD0FSF_jJ6iJFBVa-z_et--KdNR02xjRg,2264
@@ -101,17 +106,17 @@ pixeltable/io/__init__.py,sha256=j3qDyGO1ejLce-UzIncK3eRqyOCLoOlDqClecMBSJGc,563
101
106
  pixeltable/io/external_store.py,sha256=H1jt7MDn464QRgBvU-PmcPcFlo3EZBCG7fKWEZXOfyc,16676
102
107
  pixeltable/io/fiftyone.py,sha256=hH-FahW6BuMQY8lGa2atnNnJto_pK8kWrP_y_EMsq6g,6965
103
108
  pixeltable/io/globals.py,sha256=9S9wnlIAuhZq7eC_GklTM_UX0UATK9fEagk8-SRCeXQ,17794
104
- pixeltable/io/hf_datasets.py,sha256=o5fqm2CJAjhFd3z-NYGxN0jM1tfrp4szuUX0TGnyNRY,8316
105
- pixeltable/io/label_studio.py,sha256=Yx2ES_Y32eZA8JvJ1k17tSU0GiRTcU0_R116c7RCbZo,31091
109
+ pixeltable/io/hf_datasets.py,sha256=1_NRn1748OT69UlBpnb_AWkEitEHrYiRO4vbJ7XwdQw,8320
110
+ pixeltable/io/label_studio.py,sha256=RtupR5mtql0NUHnoocCdfOhYfO6ienS9_lhEztx6ECU,31231
106
111
  pixeltable/io/pandas.py,sha256=7eHg7wnAfRA9eBk4iC0iSSVTKOM59Ne4pXokKWdt3dY,9793
107
- pixeltable/io/parquet.py,sha256=bvwTRIKhS99M3bAcAP63jnh5-R6Qww1SrYBGWjZvN1g,8800
112
+ pixeltable/io/parquet.py,sha256=3n-4XgCVS8-V3fph_meyDOrvz-f_a-7WbvKMTEfYNUY,8804
108
113
  pixeltable/iterators/__init__.py,sha256=qA9cJTwPO3gk-7y8mUXw2anWSbnUAVGwzl52SxiUjNU,398
109
114
  pixeltable/iterators/base.py,sha256=ZC0ZvXL4iw6AmT8cu-Mdx-T2UG9nmJYV1C6LK4efAfw,1669
110
115
  pixeltable/iterators/document.py,sha256=e5EMUAW4f5SqfC5mRN7Oo2E3gw_vcMSzq2707NVLByU,20254
111
116
  pixeltable/iterators/image.py,sha256=7eJupbyLEl_q4bemEozL8WgTgkxjl-DYnSXyHTQ7Rck,3628
112
117
  pixeltable/iterators/string.py,sha256=NG_fWc_GAITDfzl6MvrDOMrSoMcZdMZf6hPQztCSatE,1305
113
118
  pixeltable/iterators/video.py,sha256=anedQpSOnjYhHLa8UiEx-6ROagb14rpXh9am8oTriUg,9382
114
- pixeltable/metadata/__init__.py,sha256=S99VPq09bEYI7nF6HQ55Fyp9bJ0TUhk9L9gsOQi5XT4,2209
119
+ pixeltable/metadata/__init__.py,sha256=7Ep8e48O7sLiNxarTF_kDunRn7maaj7tTBYUPC76VnI,2276
115
120
  pixeltable/metadata/converters/convert_10.py,sha256=J1_r7LNNAWTdb042AwqFpJ4sEB-i4qhUdk5iOjcZk34,719
116
121
  pixeltable/metadata/converters/convert_12.py,sha256=Ci-qyZW1gqci-8wnjeOB5afdq7KTuN-hVSV9OqSPx8g,162
117
122
  pixeltable/metadata/converters/convert_13.py,sha256=yFR6lD3pOrZ46ZQBFKYvxiIYa7rRxh46Bsq7yiCBNak,1356
@@ -130,17 +135,18 @@ pixeltable/metadata/converters/convert_25.py,sha256=3sCXMbHiLJWMvbghj-XaeW4_1xSE
130
135
  pixeltable/metadata/converters/util.py,sha256=NgzoKralRIXwOqtguifVsBbpEN2M2X1v8lvOnsdGnPs,6100
131
136
  pixeltable/metadata/notes.py,sha256=RsyIuwl3KhFRstB6cLX8ySWfIx67LAyr05HYXovu7Yc,779
132
137
  pixeltable/metadata/schema.py,sha256=H9t51cbhXOhNu9Xog2VTjZlkTCx4cjQAlwOXi3HSd2E,9448
133
- pixeltable/plan.py,sha256=dzG3iD9ClggFyIYmDuIK7H3eBC8HV3ft__f4ZULQvow,40687
138
+ pixeltable/plan.py,sha256=DgzP5kDmBooaUioZ0KBlSUcx_jpqy456CnbDRVzFBJM,41501
134
139
  pixeltable/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
- pixeltable/store.py,sha256=m-OeilqOFai5wUXvtXTV9txzn-GhK2lfA7fkvzrfWFg,21974
136
- pixeltable/type_system.py,sha256=IbUXeaqsguRAneiXZc2WrAXskUiN1IPJ3O9xHBGGQhk,48154
140
+ pixeltable/store.py,sha256=-A7oRGHDpvhUZzx68QSde0t2NvUjeM1rOw9KdwukQ9s,22497
141
+ pixeltable/type_system.py,sha256=t7IOdQj90vBriJiexuSkmx-RSbzZYoijmX9FqYC778s,50019
137
142
  pixeltable/utils/__init__.py,sha256=UYlrf6TIWJT0g-Hac0b34-dEk478B5Qx8dGco34YlIk,439
138
- pixeltable/utils/arrow.py,sha256=4AyCAkkNfNChVTaPAVS5j1ZO7BtTxn11duonolfktV8,3931
143
+ pixeltable/utils/arrow.py,sha256=Fb6dLTC7jiTMH6l2UoVlrcnoIbe-mJH2zmpBFIjajKo,3866
139
144
  pixeltable/utils/coco.py,sha256=WCUyoj0dTyJFbPB7frEQUvY92SlEPxQ068r-3QAwROE,7285
140
145
  pixeltable/utils/code.py,sha256=AOw1u2r8_DQXpX-lxJhyHWARGrCRDXOJHFVgKOi54Uc,1231
146
+ pixeltable/utils/console_output.py,sha256=SB4ibt43-HqIUkv3SR93xyEcu8WhjwPSpMlAs6xyejc,1145
141
147
  pixeltable/utils/description_helper.py,sha256=P-8EE2pRFP8s3coe73frgV68yt4Dp3saErCUehMxKUw,3759
142
148
  pixeltable/utils/documents.py,sha256=pytTYY167wYc1rGaDd9HPK6GOrz1ML78eAD3hIHrG68,2930
143
- pixeltable/utils/filecache.py,sha256=6HKQdItqSSTQvj2HkSJulyhfBedi4PgC7umwxXGOVG8,10637
149
+ pixeltable/utils/filecache.py,sha256=kgRf5tlNZN642wrYIf5qpUMSA8ULHmnoIrvhkR0MwYU,10645
144
150
  pixeltable/utils/formatter.py,sha256=5E_gDg11ClFI-5SthwkiqyE3hAok3JHDj4OSK9cJklM,9257
145
151
  pixeltable/utils/http_server.py,sha256=xYPTvmYrkUpKfOaLDq08D-eHswkcgDf4qAt76ZFH6lM,2411
146
152
  pixeltable/utils/media_store.py,sha256=YwvTjbVqC_aLbDvLuqnDSL8xeIVMZcmzp0ANuM6uMbw,3092
@@ -148,8 +154,8 @@ pixeltable/utils/pytorch.py,sha256=6RvOCjy_QV4gc-aht-3d0zoASkuv-warfpl87vgmuKw,3
148
154
  pixeltable/utils/s3.py,sha256=huA5hxDGkPIu18zWet76o0FsO7Vbtp-iPmnOzCe-MvA,586
149
155
  pixeltable/utils/sql.py,sha256=j_tj0h4ffm-DhUIJbvGphxrVyBKlNTwDKqWGhRQ5_PY,795
150
156
  pixeltable/utils/transactional_directory.py,sha256=UGzCrGtLR3hEEf8sYGuWBzLVFAEQml3vdIavigWeTBM,1349
151
- pixeltable-0.3.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
152
- pixeltable-0.3.0.dist-info/METADATA,sha256=GiNmcGREs3AUhpt4tKPImEGYzzD4XHMR1StiJSEkWhI,19304
153
- pixeltable-0.3.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
154
- pixeltable-0.3.0.dist-info/entry_points.txt,sha256=ToOd-pRgG7AitEBgYoBCRRB4-KVDQ0pj_9T4a1LgwA4,97
155
- pixeltable-0.3.0.dist-info/RECORD,,
157
+ pixeltable-0.3.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
158
+ pixeltable-0.3.2.dist-info/METADATA,sha256=-8DaK2FpbjMasYQkI49akVlIuoPnhMWA0lKLQ_5Ww-o,19404
159
+ pixeltable-0.3.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
160
+ pixeltable-0.3.2.dist-info/entry_points.txt,sha256=ToOd-pRgG7AitEBgYoBCRRB4-KVDQ0pj_9T4a1LgwA4,97
161
+ pixeltable-0.3.2.dist-info/RECORD,,