pixeltable 0.2.4__py3-none-any.whl → 0.2.5__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.
- pixeltable/catalog/column.py +25 -48
- pixeltable/catalog/insertable_table.py +7 -4
- pixeltable/catalog/table.py +163 -57
- pixeltable/catalog/table_version.py +416 -140
- pixeltable/catalog/table_version_path.py +2 -2
- pixeltable/client.py +0 -4
- pixeltable/dataframe.py +65 -21
- pixeltable/env.py +16 -1
- pixeltable/exec/cache_prefetch_node.py +1 -1
- pixeltable/exec/in_memory_data_node.py +11 -7
- pixeltable/exprs/comparison.py +3 -3
- pixeltable/exprs/data_row.py +5 -1
- pixeltable/exprs/literal.py +16 -4
- pixeltable/exprs/row_builder.py +8 -40
- pixeltable/ext/__init__.py +5 -0
- pixeltable/ext/functions/yolox.py +92 -0
- pixeltable/func/aggregate_function.py +15 -15
- pixeltable/func/expr_template_function.py +9 -1
- pixeltable/func/globals.py +24 -14
- pixeltable/func/signature.py +18 -12
- pixeltable/func/udf.py +7 -2
- pixeltable/functions/__init__.py +8 -8
- pixeltable/functions/eval.py +7 -8
- pixeltable/functions/huggingface.py +47 -19
- pixeltable/functions/openai.py +2 -2
- pixeltable/functions/util.py +11 -0
- pixeltable/index/__init__.py +2 -0
- pixeltable/index/base.py +49 -0
- pixeltable/index/embedding_index.py +95 -0
- pixeltable/metadata/schema.py +45 -22
- pixeltable/plan.py +15 -34
- pixeltable/store.py +38 -41
- pixeltable/tests/conftest.py +5 -11
- pixeltable/tests/ext/test_yolox.py +21 -0
- pixeltable/tests/functions/test_fireworks.py +1 -0
- pixeltable/tests/functions/test_huggingface.py +2 -2
- pixeltable/tests/functions/test_openai.py +15 -5
- pixeltable/tests/functions/test_together.py +1 -0
- pixeltable/tests/test_component_view.py +14 -5
- pixeltable/tests/test_dataframe.py +19 -18
- pixeltable/tests/test_exprs.py +99 -102
- pixeltable/tests/test_function.py +51 -43
- pixeltable/tests/test_index.py +138 -0
- pixeltable/tests/test_migration.py +2 -1
- pixeltable/tests/test_snapshot.py +24 -1
- pixeltable/tests/test_table.py +101 -25
- pixeltable/tests/test_types.py +30 -0
- pixeltable/tests/test_video.py +16 -16
- pixeltable/tests/test_view.py +5 -0
- pixeltable/tests/utils.py +43 -9
- pixeltable/tool/create_test_db_dump.py +16 -0
- pixeltable/type_system.py +37 -45
- {pixeltable-0.2.4.dist-info → pixeltable-0.2.5.dist-info}/METADATA +5 -4
- {pixeltable-0.2.4.dist-info → pixeltable-0.2.5.dist-info}/RECORD +56 -49
- {pixeltable-0.2.4.dist-info → pixeltable-0.2.5.dist-info}/LICENSE +0 -0
- {pixeltable-0.2.4.dist-info → pixeltable-0.2.5.dist-info}/WHEEL +0 -0
pixeltable/type_system.py
CHANGED
|
@@ -6,6 +6,8 @@ import enum
|
|
|
6
6
|
import json
|
|
7
7
|
import typing
|
|
8
8
|
import urllib.parse
|
|
9
|
+
import urllib.request
|
|
10
|
+
from copy import copy
|
|
9
11
|
from pathlib import Path
|
|
10
12
|
from typing import Any, Optional, Tuple, Dict, Callable, List, Union, Sequence, Mapping
|
|
11
13
|
|
|
@@ -293,7 +295,7 @@ class ColumnType:
|
|
|
293
295
|
parsed = urllib.parse.urlparse(val)
|
|
294
296
|
if parsed.scheme != '' and parsed.scheme != 'file':
|
|
295
297
|
return
|
|
296
|
-
path = Path(urllib.parse.unquote(parsed.path))
|
|
298
|
+
path = Path(urllib.parse.unquote(urllib.request.url2pathname(parsed.path)))
|
|
297
299
|
if not path.is_file():
|
|
298
300
|
raise TypeError(f'File not found: {str(path)}')
|
|
299
301
|
else:
|
|
@@ -376,30 +378,11 @@ class ColumnType:
|
|
|
376
378
|
pass
|
|
377
379
|
|
|
378
380
|
@abc.abstractmethod
|
|
379
|
-
def to_sa_type(self) ->
|
|
381
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
380
382
|
"""
|
|
381
383
|
Return corresponding SQLAlchemy type.
|
|
382
|
-
return type Any: there doesn't appear to be a superclass for the sqlalchemy types
|
|
383
384
|
"""
|
|
384
|
-
|
|
385
|
-
if self._type == self.Type.STRING:
|
|
386
|
-
return sql.String
|
|
387
|
-
if self._type == self.Type.INT:
|
|
388
|
-
return sql.Integer
|
|
389
|
-
if self._type == self.Type.FLOAT:
|
|
390
|
-
return sql.Float
|
|
391
|
-
if self._type == self.Type.BOOL:
|
|
392
|
-
return sql.Boolean
|
|
393
|
-
if self._type == self.Type.TIMESTAMP:
|
|
394
|
-
return sql.TIMESTAMP
|
|
395
|
-
if self._type == self.Type.IMAGE:
|
|
396
|
-
# the URL
|
|
397
|
-
return sql.String
|
|
398
|
-
if self._type == self.Type.JSON:
|
|
399
|
-
return sql.dialects.postgresql.JSONB
|
|
400
|
-
if self._type == self.Type.ARRAY:
|
|
401
|
-
return sql.VARBINARY
|
|
402
|
-
assert False
|
|
385
|
+
pass
|
|
403
386
|
|
|
404
387
|
@staticmethod
|
|
405
388
|
def no_conversion(v: Any) -> Any:
|
|
@@ -424,7 +407,7 @@ class InvalidType(ColumnType):
|
|
|
424
407
|
def to_sql(self) -> str:
|
|
425
408
|
assert False
|
|
426
409
|
|
|
427
|
-
def to_sa_type(self) ->
|
|
410
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
428
411
|
assert False
|
|
429
412
|
|
|
430
413
|
def print_value(self, val: Any) -> str:
|
|
@@ -433,6 +416,7 @@ class InvalidType(ColumnType):
|
|
|
433
416
|
def _validate_literal(self, val: Any) -> None:
|
|
434
417
|
assert False
|
|
435
418
|
|
|
419
|
+
|
|
436
420
|
class StringType(ColumnType):
|
|
437
421
|
def __init__(self, nullable: bool = False):
|
|
438
422
|
super().__init__(self.Type.STRING, nullable=nullable)
|
|
@@ -451,8 +435,8 @@ class StringType(ColumnType):
|
|
|
451
435
|
def to_sql(self) -> str:
|
|
452
436
|
return 'VARCHAR'
|
|
453
437
|
|
|
454
|
-
def to_sa_type(self) ->
|
|
455
|
-
return sql.String
|
|
438
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
439
|
+
return sql.String()
|
|
456
440
|
|
|
457
441
|
def print_value(self, val: Any) -> str:
|
|
458
442
|
return f"'{val}'"
|
|
@@ -469,6 +453,7 @@ class StringType(ColumnType):
|
|
|
469
453
|
return val.replace('\x00', ' ')
|
|
470
454
|
return val
|
|
471
455
|
|
|
456
|
+
|
|
472
457
|
class IntType(ColumnType):
|
|
473
458
|
def __init__(self, nullable: bool = False):
|
|
474
459
|
super().__init__(self.Type.INT, nullable=nullable)
|
|
@@ -476,8 +461,8 @@ class IntType(ColumnType):
|
|
|
476
461
|
def to_sql(self) -> str:
|
|
477
462
|
return 'BIGINT'
|
|
478
463
|
|
|
479
|
-
def to_sa_type(self) ->
|
|
480
|
-
return sql.BigInteger
|
|
464
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
465
|
+
return sql.BigInteger()
|
|
481
466
|
|
|
482
467
|
def _validate_literal(self, val: Any) -> None:
|
|
483
468
|
if not isinstance(val, int):
|
|
@@ -491,8 +476,8 @@ class FloatType(ColumnType):
|
|
|
491
476
|
def to_sql(self) -> str:
|
|
492
477
|
return 'FLOAT'
|
|
493
478
|
|
|
494
|
-
def to_sa_type(self) ->
|
|
495
|
-
return sql.Float
|
|
479
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
480
|
+
return sql.Float()
|
|
496
481
|
|
|
497
482
|
def _validate_literal(self, val: Any) -> None:
|
|
498
483
|
if not isinstance(val, float):
|
|
@@ -503,6 +488,7 @@ class FloatType(ColumnType):
|
|
|
503
488
|
return float(val)
|
|
504
489
|
return val
|
|
505
490
|
|
|
491
|
+
|
|
506
492
|
class BoolType(ColumnType):
|
|
507
493
|
def __init__(self, nullable: bool = False):
|
|
508
494
|
super().__init__(self.Type.BOOL, nullable=nullable)
|
|
@@ -510,8 +496,8 @@ class BoolType(ColumnType):
|
|
|
510
496
|
def to_sql(self) -> str:
|
|
511
497
|
return 'BOOLEAN'
|
|
512
498
|
|
|
513
|
-
def to_sa_type(self) ->
|
|
514
|
-
return sql.Boolean
|
|
499
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
500
|
+
return sql.Boolean()
|
|
515
501
|
|
|
516
502
|
def _validate_literal(self, val: Any) -> None:
|
|
517
503
|
if not isinstance(val, bool):
|
|
@@ -522,6 +508,7 @@ class BoolType(ColumnType):
|
|
|
522
508
|
return bool(val)
|
|
523
509
|
return val
|
|
524
510
|
|
|
511
|
+
|
|
525
512
|
class TimestampType(ColumnType):
|
|
526
513
|
def __init__(self, nullable: bool = False):
|
|
527
514
|
super().__init__(self.Type.TIMESTAMP, nullable=nullable)
|
|
@@ -529,8 +516,8 @@ class TimestampType(ColumnType):
|
|
|
529
516
|
def to_sql(self) -> str:
|
|
530
517
|
return 'INTEGER'
|
|
531
518
|
|
|
532
|
-
def to_sa_type(self) ->
|
|
533
|
-
return sql.TIMESTAMP
|
|
519
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
520
|
+
return sql.TIMESTAMP()
|
|
534
521
|
|
|
535
522
|
def _validate_literal(self, val: Any) -> None:
|
|
536
523
|
if not isinstance(val, datetime.datetime) and not isinstance(val, datetime.date):
|
|
@@ -541,6 +528,7 @@ class TimestampType(ColumnType):
|
|
|
541
528
|
return datetime.datetime.fromisoformat(val)
|
|
542
529
|
return val
|
|
543
530
|
|
|
531
|
+
|
|
544
532
|
class JsonType(ColumnType):
|
|
545
533
|
# TODO: type_spec also needs to be able to express lists
|
|
546
534
|
def __init__(self, type_spec: Optional[Dict[str, ColumnType]] = None, nullable: bool = False):
|
|
@@ -566,8 +554,8 @@ class JsonType(ColumnType):
|
|
|
566
554
|
def to_sql(self) -> str:
|
|
567
555
|
return 'JSONB'
|
|
568
556
|
|
|
569
|
-
def to_sa_type(self) ->
|
|
570
|
-
return sql.dialects.postgresql.JSONB
|
|
557
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
558
|
+
return sql.dialects.postgresql.JSONB()
|
|
571
559
|
|
|
572
560
|
def print_value(self, val: Any) -> str:
|
|
573
561
|
val_type = self.infer_literal_type(val)
|
|
@@ -588,6 +576,7 @@ class JsonType(ColumnType):
|
|
|
588
576
|
val = list(val)
|
|
589
577
|
return val
|
|
590
578
|
|
|
579
|
+
|
|
591
580
|
class ArrayType(ColumnType):
|
|
592
581
|
def __init__(
|
|
593
582
|
self, shape: Tuple[Union[int, None], ...], dtype: ColumnType, nullable: bool = False):
|
|
@@ -671,8 +660,8 @@ class ArrayType(ColumnType):
|
|
|
671
660
|
def to_sql(self) -> str:
|
|
672
661
|
return 'BYTEA'
|
|
673
662
|
|
|
674
|
-
def to_sa_type(self) ->
|
|
675
|
-
return sql.LargeBinary
|
|
663
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
664
|
+
return sql.LargeBinary()
|
|
676
665
|
|
|
677
666
|
def numpy_dtype(self) -> np.dtype:
|
|
678
667
|
if self.dtype == self.Type.INT:
|
|
@@ -776,8 +765,8 @@ class ImageType(ColumnType):
|
|
|
776
765
|
def to_sql(self) -> str:
|
|
777
766
|
return 'VARCHAR'
|
|
778
767
|
|
|
779
|
-
def to_sa_type(self) ->
|
|
780
|
-
return sql.String
|
|
768
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
769
|
+
return sql.String()
|
|
781
770
|
|
|
782
771
|
def _validate_literal(self, val: Any) -> None:
|
|
783
772
|
if isinstance(val, PIL.Image.Image):
|
|
@@ -791,6 +780,7 @@ class ImageType(ColumnType):
|
|
|
791
780
|
except PIL.UnidentifiedImageError:
|
|
792
781
|
raise excs.Error(f'Not a valid image: {val}') from None
|
|
793
782
|
|
|
783
|
+
|
|
794
784
|
class VideoType(ColumnType):
|
|
795
785
|
def __init__(self, nullable: bool = False):
|
|
796
786
|
super().__init__(self.Type.VIDEO, nullable=nullable)
|
|
@@ -799,8 +789,8 @@ class VideoType(ColumnType):
|
|
|
799
789
|
# stored as a file path
|
|
800
790
|
return 'VARCHAR'
|
|
801
791
|
|
|
802
|
-
def to_sa_type(self) ->
|
|
803
|
-
return sql.String
|
|
792
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
793
|
+
return sql.String()
|
|
804
794
|
|
|
805
795
|
def _validate_literal(self, val: Any) -> None:
|
|
806
796
|
self._validate_file_path(val)
|
|
@@ -825,6 +815,7 @@ class VideoType(ColumnType):
|
|
|
825
815
|
except av.AVError:
|
|
826
816
|
raise excs.Error(f'Not a valid video: {val}') from None
|
|
827
817
|
|
|
818
|
+
|
|
828
819
|
class AudioType(ColumnType):
|
|
829
820
|
def __init__(self, nullable: bool = False):
|
|
830
821
|
super().__init__(self.Type.AUDIO, nullable=nullable)
|
|
@@ -833,8 +824,8 @@ class AudioType(ColumnType):
|
|
|
833
824
|
# stored as a file path
|
|
834
825
|
return 'VARCHAR'
|
|
835
826
|
|
|
836
|
-
def to_sa_type(self) ->
|
|
837
|
-
return sql.String
|
|
827
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
828
|
+
return sql.String()
|
|
838
829
|
|
|
839
830
|
def _validate_literal(self, val: Any) -> None:
|
|
840
831
|
self._validate_file_path(val)
|
|
@@ -854,6 +845,7 @@ class AudioType(ColumnType):
|
|
|
854
845
|
except av.AVError as e:
|
|
855
846
|
raise excs.Error(f'Not a valid audio file: {val}\n{e}') from None
|
|
856
847
|
|
|
848
|
+
|
|
857
849
|
class DocumentType(ColumnType):
|
|
858
850
|
@enum.unique
|
|
859
851
|
class DocumentFormat(enum.Enum):
|
|
@@ -876,8 +868,8 @@ class DocumentType(ColumnType):
|
|
|
876
868
|
# stored as a file path
|
|
877
869
|
return 'VARCHAR'
|
|
878
870
|
|
|
879
|
-
def to_sa_type(self) ->
|
|
880
|
-
return sql.String
|
|
871
|
+
def to_sa_type(self) -> sql.types.TypeEngine:
|
|
872
|
+
return sql.String()
|
|
881
873
|
|
|
882
874
|
def _validate_literal(self, val: Any) -> None:
|
|
883
875
|
self._validate_file_path(val)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pixeltable
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Pixeltable: The Multimodal AI Data Plane
|
|
5
5
|
Author: Marcel Kornacker
|
|
6
6
|
Author-email: marcelk@gmail.com
|
|
@@ -18,7 +18,7 @@ Requires-Dist: jmespath (>=1.0.1,<2.0.0)
|
|
|
18
18
|
Requires-Dist: numpy (>=1.26)
|
|
19
19
|
Requires-Dist: opencv-python-headless (>=4.7.0.68,<5.0.0.0)
|
|
20
20
|
Requires-Dist: pandas (>=2.0,<3.0)
|
|
21
|
-
Requires-Dist: pgserver (==0.1.
|
|
21
|
+
Requires-Dist: pgserver (==0.1.2)
|
|
22
22
|
Requires-Dist: pgvector (>=0.2.1,<0.3.0)
|
|
23
23
|
Requires-Dist: pillow (>=10.0)
|
|
24
24
|
Requires-Dist: psutil (>=5.9.5,<6.0.0)
|
|
@@ -60,11 +60,12 @@ Learn the basics of Pixeltable through interactive examples. View the notebooks
|
|
|
60
60
|
### Pixeltable Basics
|
|
61
61
|
In this tutorial, we'll survey how to create tables, populate them with data, and enhance them with built-in and user-defined transformations and AI operations.
|
|
62
62
|
|
|
63
|
-
[](https://kaggle.com/kernels/welcome?src=https://github.com/pixeltable/pixeltable/blob/master/docs/tutorials/pixeltable-basics.ipynb)
|
|
64
|
+
<a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/master/docs/tutorials/pixeltable-basics.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a>
|
|
64
65
|
|
|
65
66
|
|
|
66
67
|
## 💾 Installation
|
|
67
|
-
Pixeltable works with Python 3.9, 3.10, or 3.
|
|
68
|
+
Pixeltable works with Python 3.9, 3.10, 3.11, or 3.12 running on Linux, MacOS, or Windows.
|
|
68
69
|
|
|
69
70
|
```
|
|
70
71
|
pip install pixeltable
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
pixeltable/__init__.py,sha256=enh38lhZ_38Ys3rCy_XC_BlPNPK9H2CKV4KePaqnV4E,959
|
|
2
2
|
pixeltable/catalog/__init__.py,sha256=E41bxaPeQIcgRYzTWc2vkDOboQhRymrJf4IcHQO7o_8,453
|
|
3
3
|
pixeltable/catalog/catalog.py,sha256=0TYWB1R6YBp9qCkWF7kCcX2Yw70UuburKKIemv5L1Js,7908
|
|
4
|
-
pixeltable/catalog/column.py,sha256=
|
|
4
|
+
pixeltable/catalog/column.py,sha256=2K3rUrcfdF-eXiRB9WhIrFVj1XmjrK51lQA616OYfLQ,7887
|
|
5
5
|
pixeltable/catalog/dir.py,sha256=pG1nMpG123POo6WMSHhAmnwXOQ26uUJfUcbzL-Jb4ws,919
|
|
6
6
|
pixeltable/catalog/globals.py,sha256=yLEGNbsSnLzjWNHVJacfjA9hbw13Q6QXLOSCRmdTlq0,943
|
|
7
|
-
pixeltable/catalog/insertable_table.py,sha256=
|
|
7
|
+
pixeltable/catalog/insertable_table.py,sha256=B9QLN2eoCTjwqH5KLBRy3YQ7_l1nd8hqJd83eIdE1Qc,8303
|
|
8
8
|
pixeltable/catalog/named_function.py,sha256=a96gnKtx-nz5_MzDIiD4t4Hxqdjkg9ZtijRQxvWA5WQ,1147
|
|
9
9
|
pixeltable/catalog/path.py,sha256=QgccEi_QOfaKt8YsR2zLtd_z7z7QQkU_1kprJFi2SPQ,1677
|
|
10
10
|
pixeltable/catalog/path_dict.py,sha256=xfvxg1Ze5jZCARUGASF2DRbQPh7pRVTYhuJ_u82gYUo,5941
|
|
11
11
|
pixeltable/catalog/schema_object.py,sha256=-UxmPLbuEBqJiJi_GGRbFdr7arAFxTqs4bt6TFmSt3M,1059
|
|
12
|
-
pixeltable/catalog/table.py,sha256=
|
|
13
|
-
pixeltable/catalog/table_version.py,sha256=
|
|
14
|
-
pixeltable/catalog/table_version_path.py,sha256=
|
|
12
|
+
pixeltable/catalog/table.py,sha256=6OKvbrFFVu_xoKs68QC7mt-N99rKrBPwos4Bozs9rvg,30675
|
|
13
|
+
pixeltable/catalog/table_version.py,sha256=1KBk1A_iqXtQbUs3P-5bxedOccj2kcryMLmlwxZcLF4,48818
|
|
14
|
+
pixeltable/catalog/table_version_path.py,sha256=2Ofzd0n36flcNm86KWwIWDBAfgnV5Z-FxAHdMSPgMLc,5482
|
|
15
15
|
pixeltable/catalog/view.py,sha256=BIL3s4DV3tWbOcqtqnhn46B2UvLaBhppfJUlNEt5nec,9734
|
|
16
|
-
pixeltable/client.py,sha256=
|
|
17
|
-
pixeltable/dataframe.py,sha256=
|
|
18
|
-
pixeltable/env.py,sha256=
|
|
16
|
+
pixeltable/client.py,sha256=Ypah43hdEByGZ7WGS5-2LWKnsWAuhofq84TMRZD90uQ,23442
|
|
17
|
+
pixeltable/dataframe.py,sha256=GyeutsjdKSAzRorzIsSZ_hElGJM7bRSRv28ynB4qFGY,30014
|
|
18
|
+
pixeltable/env.py,sha256=Qk_Br2gJKDykvz0AoWJ45nDZTjhl-MStxVWWFI4pU3A,16303
|
|
19
19
|
pixeltable/exceptions.py,sha256=MSP9zeL0AmXT93XqjdvgGN4rzno1_KRrGriq6hpemnw,376
|
|
20
20
|
pixeltable/exec/__init__.py,sha256=FOQBSMQ3buGg5kRzymkfDCk5fnVfICn3LrsJtbyNC6E,412
|
|
21
21
|
pixeltable/exec/aggregation_node.py,sha256=cf6rVAgrGh_uaMrCIgXJIwQTmbcboJlnrH_MmPIQSd0,3321
|
|
22
|
-
pixeltable/exec/cache_prefetch_node.py,sha256=
|
|
22
|
+
pixeltable/exec/cache_prefetch_node.py,sha256=d5pEuR6AtJQkEVy9X3XeYFI_q0szMtoNAH96vYdtBE0,5241
|
|
23
23
|
pixeltable/exec/component_iteration_node.py,sha256=Uz6zEeaJMcbvF3S0W0qmLI_uWsZsaSspHKNzuAMrasg,4069
|
|
24
24
|
pixeltable/exec/data_row_batch.py,sha256=ZaS_ciyYhoP50Aoszhgtnh_yDRR6z9H43crnaJdP-xA,3505
|
|
25
25
|
pixeltable/exec/exec_context.py,sha256=E82Q2bJMJ1ulud5L5D9dh2Z8vEUQ659SgT614YKDO34,924
|
|
26
26
|
pixeltable/exec/exec_node.py,sha256=Hji5NCPHfa50IWyjladXrBm4I0zseV7AV4cVdx0Q8Ew,2170
|
|
27
27
|
pixeltable/exec/expr_eval_node.py,sha256=mqACyEy48fsiWkbHSkkMc8gG2nL-WT6eJSG3nltM85c,10810
|
|
28
|
-
pixeltable/exec/in_memory_data_node.py,sha256=
|
|
28
|
+
pixeltable/exec/in_memory_data_node.py,sha256=SNM2AbMQSjmGDWMNJUf_5MmlXWE3P80lsuUjNfzQckA,3171
|
|
29
29
|
pixeltable/exec/media_validation_node.py,sha256=OKfRyKpcn7AZdACy_HD4NsDC87ZfNFs1tdrQz2NiIVw,1514
|
|
30
30
|
pixeltable/exec/sql_scan_node.py,sha256=zKJ2_iM0ah748Vz8jD0Lkm7TRyUChIejnGUPNmYPgbs,10318
|
|
31
31
|
pixeltable/exprs/__init__.py,sha256=EkpjeEW-8rriE9hVb9PdiknHQ3-Y8jPp37yJ-NC_oWA,935
|
|
@@ -33,9 +33,9 @@ pixeltable/exprs/arithmetic_expr.py,sha256=sWBYCBKI6IHj9ASwDcm2BlkQ5gleVtKtmpiPv
|
|
|
33
33
|
pixeltable/exprs/array_slice.py,sha256=VmWc6iFusrM85MjyEBBCfXG1Jnt8-Gr6-J88BXxNoOE,2131
|
|
34
34
|
pixeltable/exprs/column_property_ref.py,sha256=0PHiBys0fxe2LgjaMId5UHob4E-ZggyPLnnW41RgA0E,2706
|
|
35
35
|
pixeltable/exprs/column_ref.py,sha256=5-mbWV8-cWWu0ynxPSQ0L8oLewDrLp17xh8DOCmQ36s,4794
|
|
36
|
-
pixeltable/exprs/comparison.py,sha256=
|
|
36
|
+
pixeltable/exprs/comparison.py,sha256=rAlGUF0AuzkYGspewJPu-6aaQZa4dVMJYGbMwqKyBIc,2964
|
|
37
37
|
pixeltable/exprs/compound_predicate.py,sha256=Gh22MKi625m5A_RunVRd-a1XFi-fitikqBVz2VNXKrs,3830
|
|
38
|
-
pixeltable/exprs/data_row.py,sha256=
|
|
38
|
+
pixeltable/exprs/data_row.py,sha256=2kGnZhDna4bkgzb2y9iDnkLFe8lXSk59QAf9zW2Z-Y0,8278
|
|
39
39
|
pixeltable/exprs/expr.py,sha256=JyEmP8F9LXmxOrVswih1Aq0SrpGcboSRinOYIMWYfKM,23748
|
|
40
40
|
pixeltable/exprs/expr_set.py,sha256=Q64Q2yI0CTq2Ma_E-BUYlMotSstVuMm4OFZnBCedHRk,1222
|
|
41
41
|
pixeltable/exprs/function_call.py,sha256=QFzkb2gKjeALGTgCet-o0HETwTXoFBzsncbghgScmOE,16961
|
|
@@ -47,71 +47,78 @@ pixeltable/exprs/inline_dict.py,sha256=Lb3VS3Mkxb72mWL4qipOQjUgY8AMxk1POj225Xqjt
|
|
|
47
47
|
pixeltable/exprs/is_null.py,sha256=nvpOXtQj1UeYJpkCWzbaGuQElzrA2HSG3XNQugOv-pw,1041
|
|
48
48
|
pixeltable/exprs/json_mapper.py,sha256=I60VNgus64ai80gnFCIsRn0VRWYXMkqH5VNvnATsN9s,4559
|
|
49
49
|
pixeltable/exprs/json_path.py,sha256=Wz_5zFsyc9TPhsSbsDjDmQ3Nb0uVIwMCx5nh-cQYBiE,6526
|
|
50
|
-
pixeltable/exprs/literal.py,sha256=
|
|
50
|
+
pixeltable/exprs/literal.py,sha256=5NNza-WL1dd3hNznwwkr_yAcTGXSIRYUszGfy30lruI,2396
|
|
51
51
|
pixeltable/exprs/object_ref.py,sha256=eTcx84aWRI59fIiGvbdv3_cfL0XW4xEFQ4lwpLpJkM8,1250
|
|
52
52
|
pixeltable/exprs/predicate.py,sha256=OSDgjfSqiK7J_5GZMUXMvjfyomKEGi0JNxeB073SGXw,1859
|
|
53
|
-
pixeltable/exprs/row_builder.py,sha256=
|
|
53
|
+
pixeltable/exprs/row_builder.py,sha256=72bbPPynmzFrWuZoqsCCBmtWAgf3XFyKqUQaoMusmeo,15321
|
|
54
54
|
pixeltable/exprs/rowid_ref.py,sha256=74w4rEy21YysTVbyKNc3op-pYFqDAx8VJdtl7ZPpxHs,4268
|
|
55
55
|
pixeltable/exprs/type_cast.py,sha256=JMg8p1qYoFfiAXfJPSbTEnfrK7lRO_JMaqlPHOrhNQU,1793
|
|
56
56
|
pixeltable/exprs/variable.py,sha256=Kg_O4ytcHYZFijIyMHYBJn063cTKU1-YE583FAz8Qaw,1361
|
|
57
|
+
pixeltable/ext/__init__.py,sha256=0uugfuME1FybVo-MdxaVNGagRjhcvNTnv5MZUem6Cyo,269
|
|
58
|
+
pixeltable/ext/functions/yolox.py,sha256=LwrOtXMT57AP6-IkmRZ_12yN5-EiFRpTuh4Sexm8x24,3131
|
|
57
59
|
pixeltable/func/__init__.py,sha256=4qvDnK_S5yljwtIrxCkeQlz6vuTVfwSU4zl-MBT2TMU,457
|
|
58
|
-
pixeltable/func/aggregate_function.py,sha256=
|
|
60
|
+
pixeltable/func/aggregate_function.py,sha256=OC5dmWKOjNHcgH5KrsxZpISoP5RFXfHFkzHQk8PnOUQ,9267
|
|
59
61
|
pixeltable/func/batched_function.py,sha256=nrfmykJps4QkgzeC4ZroGy8mJ-BACNKbRJABHHG6-Ac,2350
|
|
60
62
|
pixeltable/func/callable_function.py,sha256=WGUwjNEzXGDJ1jzdZ-mrn2cnfEHmFZIh_DRl_Yk89D0,2357
|
|
61
|
-
pixeltable/func/expr_template_function.py,sha256=
|
|
63
|
+
pixeltable/func/expr_template_function.py,sha256=aBIjO5ibd2t56lNKKEmv-YFVcxUW_jqHIiYaslG1u2A,3807
|
|
62
64
|
pixeltable/func/function.py,sha256=NcGyKp7ds6bMzg1qzuaK8pBQH_DhknmSiZzsfXi-z2k,4023
|
|
63
65
|
pixeltable/func/function_registry.py,sha256=1ibSQxEPm3Zd3r497vSlckQiDG9sfCnyJx3zcSm9t7c,11456
|
|
64
|
-
pixeltable/func/globals.py,sha256=
|
|
66
|
+
pixeltable/func/globals.py,sha256=sEwn6lGgHMp6VQORb_P5qRd_-Q2_bUSqvqM9-XPN_ec,1483
|
|
65
67
|
pixeltable/func/nos_function.py,sha256=HzIKK4XjTo1E6pML-EbhuX3u_LYibFWUuTkIxoIih7c,9650
|
|
66
|
-
pixeltable/func/signature.py,sha256=
|
|
67
|
-
pixeltable/func/udf.py,sha256=
|
|
68
|
-
pixeltable/functions/__init__.py,sha256=
|
|
69
|
-
pixeltable/functions/eval.py,sha256=
|
|
68
|
+
pixeltable/func/signature.py,sha256=aQRb-znfblRlMlUN7YmbFHF6-PRAGbYRpqDNd7nawII,7343
|
|
69
|
+
pixeltable/func/udf.py,sha256=DEaXgKrx-Nrszf9cSC_ql9GF016DRbKI5JXAHODUU0I,6711
|
|
70
|
+
pixeltable/functions/__init__.py,sha256=uO-XB4QUbx3Jjs9GoaTXoJY2jn0AuXTL32YLkL_3_CI,3297
|
|
71
|
+
pixeltable/functions/eval.py,sha256=_2FANDJqwtIDzTxtcKc0Yacf7b4LTAjyy2fPDw1FG_s,8404
|
|
70
72
|
pixeltable/functions/fireworks.py,sha256=e_rCITg18yNndNI8TJPXRSN6DR0hYWT-_dUavoPuyfc,908
|
|
71
|
-
pixeltable/functions/huggingface.py,sha256=
|
|
73
|
+
pixeltable/functions/huggingface.py,sha256=_Z-MqqMRVDw1GOS5KonaeEmh5qsU-dfam9EODddiHw4,5693
|
|
72
74
|
pixeltable/functions/image.py,sha256=xR_S_0BuX6Ycc5E366GpOfP0JptD7beQwHE_fLl8ZVM,431
|
|
73
|
-
pixeltable/functions/openai.py,sha256=
|
|
75
|
+
pixeltable/functions/openai.py,sha256=o5-qh_T4JgIyMR8Ky1Y6HbK9yg88fJSkkQCIaLAf9Qg,6870
|
|
74
76
|
pixeltable/functions/pil/image.py,sha256=8gItSXXuJaCkq9FHEJE9qFpRM3WAoa59x89Xa0DgksQ,6217
|
|
75
77
|
pixeltable/functions/string.py,sha256=RYOgZwifjC943YloEMi3PdflnjFqOYB2FddrUvzgtXs,516
|
|
76
78
|
pixeltable/functions/together.py,sha256=sG23nLMScmp4wRA4K1EIJDY9peqE1IPgxlK3fhNrbgw,3423
|
|
77
|
-
pixeltable/functions/util.py,sha256=
|
|
79
|
+
pixeltable/functions/util.py,sha256=djVqro_W5M_jUgYWzZZaXXH3lWaAWj6q-hrpzFl_Ko8,1860
|
|
78
80
|
pixeltable/functions/video.py,sha256=WZF4G3tV-_LfRQHUinXe_rnu1-4N68Ht60JCR_s7Bew,2403
|
|
81
|
+
pixeltable/index/__init__.py,sha256=tlJENOzEq6p_8xu-nX1mN4Zt9asw4481Znl5ZXYIKwc,72
|
|
82
|
+
pixeltable/index/base.py,sha256=LwBXLOBWkQhAOSOo2gtgtgSJglnRUrf0RtG5JmcwwEQ,1362
|
|
83
|
+
pixeltable/index/embedding_index.py,sha256=THFue7f4fKCUXYlxqqRGNcoc1o22GqYcYg6s5vvQFFg,4372
|
|
79
84
|
pixeltable/iterators/__init__.py,sha256=sfsasCypAq5rNOTMlr4j2ROXxzdl4M8L2KvQIEbd0cQ,70
|
|
80
85
|
pixeltable/iterators/base.py,sha256=sugU9mG19xf9I4c_lEQDI_xrXPLuyuIYlKc-9OiS1HQ,1545
|
|
81
86
|
pixeltable/iterators/document.py,sha256=bWK-3oRD9Sbc5vIcxccMyFh8zTP40233NK3ch6uyLI0,13105
|
|
82
87
|
pixeltable/iterators/video.py,sha256=mUdHev0f_XJIfHTB-mejjToURh10Ud7l096eZm2aPjM,3444
|
|
83
88
|
pixeltable/metadata/__init__.py,sha256=6rLGFpWzQMCk0EcSKLp4Bnbk8tLK1cxuONBPqwDCMzU,2083
|
|
84
89
|
pixeltable/metadata/converters/convert_10.py,sha256=0mSGCn7vqtef63riPi9msUaaUvsSQIj-NFj9QFDYPdA,733
|
|
85
|
-
pixeltable/metadata/schema.py,sha256=
|
|
86
|
-
pixeltable/plan.py,sha256=
|
|
87
|
-
pixeltable/store.py,sha256=
|
|
88
|
-
pixeltable/tests/conftest.py,sha256=
|
|
89
|
-
pixeltable/tests/
|
|
90
|
+
pixeltable/metadata/schema.py,sha256=uuk3rzCpYr99PzEO1pIXe8nMaOoTJtwRfhnqgQ_MdDs,8335
|
|
91
|
+
pixeltable/plan.py,sha256=sZe_K_5VUGISPIiRoogXhfYMSx6tU58YPGcx1HCKACo,33549
|
|
92
|
+
pixeltable/store.py,sha256=IAurcG5vyryl4GMIl6nH0vM-R-IXTj5ZaczgtMKsEx0,19426
|
|
93
|
+
pixeltable/tests/conftest.py,sha256=mVZmWdQWNRJPmeyYTkdE2AcOx861A-JsfaZkRmZ5_wE,6339
|
|
94
|
+
pixeltable/tests/ext/test_yolox.py,sha256=hZRCq1bue3PO86zdBdfUa-3I8_pZ4i91J25cLPcmRX0,1085
|
|
95
|
+
pixeltable/tests/functions/test_fireworks.py,sha256=d6-bgB4PUByJ_9pfn7_jcI8weMpUgYM1Bln0ohBu49I,1690
|
|
90
96
|
pixeltable/tests/functions/test_functions.py,sha256=SRE4zRwfJ1Hetu8uMp5X-Iqg-pawn87q07JHa7w_8l0,2884
|
|
91
|
-
pixeltable/tests/functions/test_huggingface.py,sha256=
|
|
92
|
-
pixeltable/tests/functions/test_openai.py,sha256=
|
|
93
|
-
pixeltable/tests/functions/test_together.py,sha256=
|
|
97
|
+
pixeltable/tests/functions/test_huggingface.py,sha256=hmxM-2skPe1xu0uniI2N_IL8djDpBis86wdEh4Oc_84,7657
|
|
98
|
+
pixeltable/tests/functions/test_openai.py,sha256=YT34H6knG-pSypGFxGGjqebjjcYF1Z7BDm1Vo9Ar970,8659
|
|
99
|
+
pixeltable/tests/functions/test_together.py,sha256=sNySFn0tgWAVz99htLA3UvrKFoHevyKOfBQ6uJb4AFM,4812
|
|
94
100
|
pixeltable/tests/test_audio.py,sha256=92PMPrMtYzLoaLiW92MupEfWPEcfoLlYlZKlxmWQXdI,3186
|
|
95
101
|
pixeltable/tests/test_catalog.py,sha256=Npxt72g5aZkfg1fqE-19L8rGilzicAiTC0ithIy3woI,1189
|
|
96
102
|
pixeltable/tests/test_client.py,sha256=9acrjElh1YVX8WXWO04VQ-S6mNx9ZtqAHoh4uBc81y4,531
|
|
97
|
-
pixeltable/tests/test_component_view.py,sha256=
|
|
98
|
-
pixeltable/tests/test_dataframe.py,sha256=
|
|
103
|
+
pixeltable/tests/test_component_view.py,sha256=j0Ri9li_gqEgu_X_MDlHq3SrglwSb-TFt-VgAPiXk1M,18221
|
|
104
|
+
pixeltable/tests/test_dataframe.py,sha256=7MNVGKg7gD__K_EH5PRx2wSDkykpQF2Uoahr_JvQwD4,17906
|
|
99
105
|
pixeltable/tests/test_dirs.py,sha256=WuWGOcpUFPCl1PGZgOMcU5bpzv1ClUqZ5AxavrDeCic,3611
|
|
100
106
|
pixeltable/tests/test_document.py,sha256=5G52cMbkkX2lk5SwyYQ1KYjQjgUfVhjcsjPtL9xjGXU,5810
|
|
101
|
-
pixeltable/tests/test_exprs.py,sha256=
|
|
102
|
-
pixeltable/tests/test_function.py,sha256=
|
|
103
|
-
pixeltable/tests/
|
|
107
|
+
pixeltable/tests/test_exprs.py,sha256=3F2btTIdT6TymaQLtiDIo3sAntW1WLY5oU-ud267VhY,32181
|
|
108
|
+
pixeltable/tests/test_function.py,sha256=zzW7IYTipe23ao5_dNMmGEv2xJOsDUe0DoHI8pfuPDI,12987
|
|
109
|
+
pixeltable/tests/test_index.py,sha256=6ONEKsxHdUJuLTYoeIVqEJzbp_sANzr43D1xre2b-6o,5410
|
|
110
|
+
pixeltable/tests/test_migration.py,sha256=RGpQOjkkjhT4oO9U5X6dG2q8YHTeJPDq_dRlQZY7YQM,1599
|
|
104
111
|
pixeltable/tests/test_nos.py,sha256=ITE7FNEaNreJ_XTz4wYLWuidFSUQMFp3ShuHTz05OrE,2649
|
|
105
|
-
pixeltable/tests/test_snapshot.py,sha256=
|
|
106
|
-
pixeltable/tests/test_table.py,sha256=
|
|
112
|
+
pixeltable/tests/test_snapshot.py,sha256=uTTxnBNZODhhbH2pAxtzKdGrNmbiozKmya-LvK8OQ6g,10331
|
|
113
|
+
pixeltable/tests/test_table.py,sha256=a7BCBsSzlLmIEXtmrLiIFP6B4KoG4B9MuHm_JIwFEic,56557
|
|
107
114
|
pixeltable/tests/test_transactional_directory.py,sha256=Jx55PZgrkHTI0Eli09puwMckvwfCM9arPTQUT9g6Tbg,1308
|
|
108
|
-
pixeltable/tests/test_types.py,sha256=
|
|
109
|
-
pixeltable/tests/test_video.py,sha256=
|
|
110
|
-
pixeltable/tests/test_view.py,sha256=
|
|
111
|
-
pixeltable/tests/utils.py,sha256=
|
|
112
|
-
pixeltable/tool/create_test_db_dump.py,sha256=
|
|
115
|
+
pixeltable/tests/test_types.py,sha256=psRqCDInUPH99W6-FlZhqUoN5FTlfZaUUS7YR3UzvIw,2045
|
|
116
|
+
pixeltable/tests/test_video.py,sha256=zN9h9KM2V8U-Rf3tFxYimp_QoT4hLbbguyEu2o9_PLU,7740
|
|
117
|
+
pixeltable/tests/test_view.py,sha256=EWo_Z-UEbilayXK8iEziPg5fedGtT6o4745S04Z4Lb4,22108
|
|
118
|
+
pixeltable/tests/utils.py,sha256=LNHP9O0vqtKV4_WngD6V3e6iI7dKxLkII2UInR4xKHQ,15106
|
|
119
|
+
pixeltable/tool/create_test_db_dump.py,sha256=mKX42BHgx1JggmG2vupT0kzDM0N2HG-z8ObKcgBRMls,5842
|
|
113
120
|
pixeltable/tool/create_test_video.py,sha256=OLfccymYReIpzE8osZn4rQvLXxxiPC_l0vc06U74hVM,2899
|
|
114
|
-
pixeltable/type_system.py,sha256=
|
|
121
|
+
pixeltable/type_system.py,sha256=VXVxgclkW3_wX818qZ6NnST29M8R4fgQ9_LiEfVOo8k,29929
|
|
115
122
|
pixeltable/utils/__init__.py,sha256=UYlrf6TIWJT0g-Hac0b34-dEk478B5Qx8dGco34YlIk,439
|
|
116
123
|
pixeltable/utils/arrow.py,sha256=83_7aG5UR2qtTktw_otLkQs-RQbLk0VVM0JLJkbweNU,3692
|
|
117
124
|
pixeltable/utils/clip.py,sha256=HXXWFBJXW9XysdMk9_3hP1V1S-3B8Hwd5rNMbJFjjnI,720
|
|
@@ -126,7 +133,7 @@ pixeltable/utils/pytorch.py,sha256=BR4tgfUWw-2rwWTOgzXj5qdMBpe1Arpp5SK4ax6jjpk,3
|
|
|
126
133
|
pixeltable/utils/s3.py,sha256=rkanuhk9DWvSfmbOLQW1j1Iov4sl2KhxGGKN-AJ8LSE,432
|
|
127
134
|
pixeltable/utils/sql.py,sha256=5n5_OmXAGtqFdL6z5XvgnU-vlx6Ba6f1WJrO1ZwUle8,765
|
|
128
135
|
pixeltable/utils/transactional_directory.py,sha256=UGzCrGtLR3hEEf8sYGuWBzLVFAEQml3vdIavigWeTBM,1349
|
|
129
|
-
pixeltable-0.2.
|
|
130
|
-
pixeltable-0.2.
|
|
131
|
-
pixeltable-0.2.
|
|
132
|
-
pixeltable-0.2.
|
|
136
|
+
pixeltable-0.2.5.dist-info/LICENSE,sha256=0UNMmwuqWPC0xDY1NWMm4uNJ2_MyA1pnTNRgQTvuBiQ,746
|
|
137
|
+
pixeltable-0.2.5.dist-info/METADATA,sha256=Fl2vtfThiLTgAhZMSioMssMmq7DvnSe-7V42AfBrT7g,6081
|
|
138
|
+
pixeltable-0.2.5.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
139
|
+
pixeltable-0.2.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|