pixeltable 0.2.26__py3-none-any.whl → 0.5.7__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.
- pixeltable/__init__.py +83 -19
- pixeltable/_query.py +1444 -0
- pixeltable/_version.py +1 -0
- pixeltable/catalog/__init__.py +7 -4
- pixeltable/catalog/catalog.py +2394 -119
- pixeltable/catalog/column.py +225 -104
- pixeltable/catalog/dir.py +38 -9
- pixeltable/catalog/globals.py +53 -34
- pixeltable/catalog/insertable_table.py +265 -115
- pixeltable/catalog/path.py +80 -17
- pixeltable/catalog/schema_object.py +28 -43
- pixeltable/catalog/table.py +1270 -677
- pixeltable/catalog/table_metadata.py +103 -0
- pixeltable/catalog/table_version.py +1270 -751
- pixeltable/catalog/table_version_handle.py +109 -0
- pixeltable/catalog/table_version_path.py +137 -42
- pixeltable/catalog/tbl_ops.py +53 -0
- pixeltable/catalog/update_status.py +191 -0
- pixeltable/catalog/view.py +251 -134
- pixeltable/config.py +215 -0
- pixeltable/env.py +736 -285
- pixeltable/exceptions.py +26 -2
- pixeltable/exec/__init__.py +7 -2
- pixeltable/exec/aggregation_node.py +39 -21
- pixeltable/exec/cache_prefetch_node.py +87 -109
- pixeltable/exec/cell_materialization_node.py +268 -0
- pixeltable/exec/cell_reconstruction_node.py +168 -0
- pixeltable/exec/component_iteration_node.py +25 -28
- pixeltable/exec/data_row_batch.py +11 -46
- pixeltable/exec/exec_context.py +26 -11
- pixeltable/exec/exec_node.py +35 -27
- pixeltable/exec/expr_eval/__init__.py +3 -0
- pixeltable/exec/expr_eval/evaluators.py +365 -0
- pixeltable/exec/expr_eval/expr_eval_node.py +413 -0
- pixeltable/exec/expr_eval/globals.py +200 -0
- pixeltable/exec/expr_eval/row_buffer.py +74 -0
- pixeltable/exec/expr_eval/schedulers.py +413 -0
- pixeltable/exec/globals.py +35 -0
- pixeltable/exec/in_memory_data_node.py +35 -27
- pixeltable/exec/object_store_save_node.py +293 -0
- pixeltable/exec/row_update_node.py +44 -29
- pixeltable/exec/sql_node.py +414 -115
- pixeltable/exprs/__init__.py +8 -5
- pixeltable/exprs/arithmetic_expr.py +79 -45
- pixeltable/exprs/array_slice.py +5 -5
- pixeltable/exprs/column_property_ref.py +40 -26
- pixeltable/exprs/column_ref.py +254 -61
- pixeltable/exprs/comparison.py +14 -9
- pixeltable/exprs/compound_predicate.py +9 -10
- pixeltable/exprs/data_row.py +213 -72
- pixeltable/exprs/expr.py +270 -104
- pixeltable/exprs/expr_dict.py +6 -5
- pixeltable/exprs/expr_set.py +20 -11
- pixeltable/exprs/function_call.py +383 -284
- pixeltable/exprs/globals.py +18 -5
- pixeltable/exprs/in_predicate.py +7 -7
- pixeltable/exprs/inline_expr.py +37 -37
- pixeltable/exprs/is_null.py +8 -4
- pixeltable/exprs/json_mapper.py +120 -54
- pixeltable/exprs/json_path.py +90 -60
- pixeltable/exprs/literal.py +61 -16
- pixeltable/exprs/method_ref.py +7 -6
- pixeltable/exprs/object_ref.py +19 -8
- pixeltable/exprs/row_builder.py +238 -75
- pixeltable/exprs/rowid_ref.py +53 -15
- pixeltable/exprs/similarity_expr.py +65 -50
- pixeltable/exprs/sql_element_cache.py +5 -5
- pixeltable/exprs/string_op.py +107 -0
- pixeltable/exprs/type_cast.py +25 -13
- pixeltable/exprs/variable.py +2 -2
- pixeltable/func/__init__.py +9 -5
- pixeltable/func/aggregate_function.py +197 -92
- pixeltable/func/callable_function.py +119 -35
- pixeltable/func/expr_template_function.py +101 -48
- pixeltable/func/function.py +375 -62
- pixeltable/func/function_registry.py +20 -19
- pixeltable/func/globals.py +6 -5
- pixeltable/func/mcp.py +74 -0
- pixeltable/func/query_template_function.py +151 -35
- pixeltable/func/signature.py +178 -49
- pixeltable/func/tools.py +164 -0
- pixeltable/func/udf.py +176 -53
- pixeltable/functions/__init__.py +44 -4
- pixeltable/functions/anthropic.py +226 -47
- pixeltable/functions/audio.py +148 -11
- pixeltable/functions/bedrock.py +137 -0
- pixeltable/functions/date.py +188 -0
- pixeltable/functions/deepseek.py +113 -0
- pixeltable/functions/document.py +81 -0
- pixeltable/functions/fal.py +76 -0
- pixeltable/functions/fireworks.py +72 -20
- pixeltable/functions/gemini.py +249 -0
- pixeltable/functions/globals.py +208 -53
- pixeltable/functions/groq.py +108 -0
- pixeltable/functions/huggingface.py +1088 -95
- pixeltable/functions/image.py +155 -84
- pixeltable/functions/json.py +8 -11
- pixeltable/functions/llama_cpp.py +31 -19
- pixeltable/functions/math.py +169 -0
- pixeltable/functions/mistralai.py +50 -75
- pixeltable/functions/net.py +70 -0
- pixeltable/functions/ollama.py +29 -36
- pixeltable/functions/openai.py +548 -160
- pixeltable/functions/openrouter.py +143 -0
- pixeltable/functions/replicate.py +15 -14
- pixeltable/functions/reve.py +250 -0
- pixeltable/functions/string.py +310 -85
- pixeltable/functions/timestamp.py +37 -19
- pixeltable/functions/together.py +77 -120
- pixeltable/functions/twelvelabs.py +188 -0
- pixeltable/functions/util.py +7 -2
- pixeltable/functions/uuid.py +30 -0
- pixeltable/functions/video.py +1528 -117
- pixeltable/functions/vision.py +26 -26
- pixeltable/functions/voyageai.py +289 -0
- pixeltable/functions/whisper.py +19 -10
- pixeltable/functions/whisperx.py +179 -0
- pixeltable/functions/yolox.py +112 -0
- pixeltable/globals.py +716 -236
- pixeltable/index/__init__.py +3 -1
- pixeltable/index/base.py +17 -21
- pixeltable/index/btree.py +32 -22
- pixeltable/index/embedding_index.py +155 -92
- pixeltable/io/__init__.py +12 -7
- pixeltable/io/datarows.py +140 -0
- pixeltable/io/external_store.py +83 -125
- pixeltable/io/fiftyone.py +24 -33
- pixeltable/io/globals.py +47 -182
- pixeltable/io/hf_datasets.py +96 -127
- pixeltable/io/label_studio.py +171 -156
- pixeltable/io/lancedb.py +3 -0
- pixeltable/io/pandas.py +136 -115
- pixeltable/io/parquet.py +40 -153
- pixeltable/io/table_data_conduit.py +702 -0
- pixeltable/io/utils.py +100 -0
- pixeltable/iterators/__init__.py +8 -4
- pixeltable/iterators/audio.py +207 -0
- pixeltable/iterators/base.py +9 -3
- pixeltable/iterators/document.py +144 -87
- pixeltable/iterators/image.py +17 -38
- pixeltable/iterators/string.py +15 -12
- pixeltable/iterators/video.py +523 -127
- pixeltable/metadata/__init__.py +33 -8
- pixeltable/metadata/converters/convert_10.py +2 -3
- pixeltable/metadata/converters/convert_13.py +2 -2
- pixeltable/metadata/converters/convert_15.py +15 -11
- pixeltable/metadata/converters/convert_16.py +4 -5
- pixeltable/metadata/converters/convert_17.py +4 -5
- pixeltable/metadata/converters/convert_18.py +4 -6
- pixeltable/metadata/converters/convert_19.py +6 -9
- pixeltable/metadata/converters/convert_20.py +3 -6
- pixeltable/metadata/converters/convert_21.py +6 -8
- pixeltable/metadata/converters/convert_22.py +3 -2
- pixeltable/metadata/converters/convert_23.py +33 -0
- pixeltable/metadata/converters/convert_24.py +55 -0
- pixeltable/metadata/converters/convert_25.py +19 -0
- pixeltable/metadata/converters/convert_26.py +23 -0
- pixeltable/metadata/converters/convert_27.py +29 -0
- pixeltable/metadata/converters/convert_28.py +13 -0
- pixeltable/metadata/converters/convert_29.py +110 -0
- pixeltable/metadata/converters/convert_30.py +63 -0
- pixeltable/metadata/converters/convert_31.py +11 -0
- pixeltable/metadata/converters/convert_32.py +15 -0
- pixeltable/metadata/converters/convert_33.py +17 -0
- pixeltable/metadata/converters/convert_34.py +21 -0
- pixeltable/metadata/converters/convert_35.py +9 -0
- pixeltable/metadata/converters/convert_36.py +38 -0
- pixeltable/metadata/converters/convert_37.py +15 -0
- pixeltable/metadata/converters/convert_38.py +39 -0
- pixeltable/metadata/converters/convert_39.py +124 -0
- pixeltable/metadata/converters/convert_40.py +73 -0
- pixeltable/metadata/converters/convert_41.py +12 -0
- pixeltable/metadata/converters/convert_42.py +9 -0
- pixeltable/metadata/converters/convert_43.py +44 -0
- pixeltable/metadata/converters/util.py +44 -18
- pixeltable/metadata/notes.py +21 -0
- pixeltable/metadata/schema.py +185 -42
- pixeltable/metadata/utils.py +74 -0
- pixeltable/mypy/__init__.py +3 -0
- pixeltable/mypy/mypy_plugin.py +123 -0
- pixeltable/plan.py +616 -225
- pixeltable/share/__init__.py +3 -0
- pixeltable/share/packager.py +797 -0
- pixeltable/share/protocol/__init__.py +33 -0
- pixeltable/share/protocol/common.py +165 -0
- pixeltable/share/protocol/operation_types.py +33 -0
- pixeltable/share/protocol/replica.py +119 -0
- pixeltable/share/publish.py +349 -0
- pixeltable/store.py +398 -232
- pixeltable/type_system.py +730 -267
- pixeltable/utils/__init__.py +40 -0
- pixeltable/utils/arrow.py +201 -29
- pixeltable/utils/av.py +298 -0
- pixeltable/utils/azure_store.py +346 -0
- pixeltable/utils/coco.py +26 -27
- pixeltable/utils/code.py +4 -4
- pixeltable/utils/console_output.py +46 -0
- pixeltable/utils/coroutine.py +24 -0
- pixeltable/utils/dbms.py +92 -0
- pixeltable/utils/description_helper.py +11 -12
- pixeltable/utils/documents.py +60 -61
- pixeltable/utils/exception_handler.py +36 -0
- pixeltable/utils/filecache.py +38 -22
- pixeltable/utils/formatter.py +88 -51
- pixeltable/utils/gcs_store.py +295 -0
- pixeltable/utils/http.py +133 -0
- pixeltable/utils/http_server.py +14 -13
- pixeltable/utils/iceberg.py +13 -0
- pixeltable/utils/image.py +17 -0
- pixeltable/utils/lancedb.py +90 -0
- pixeltable/utils/local_store.py +322 -0
- pixeltable/utils/misc.py +5 -0
- pixeltable/utils/object_stores.py +573 -0
- pixeltable/utils/pydantic.py +60 -0
- pixeltable/utils/pytorch.py +20 -20
- pixeltable/utils/s3_store.py +527 -0
- pixeltable/utils/sql.py +32 -5
- pixeltable/utils/system.py +30 -0
- pixeltable/utils/transactional_directory.py +4 -3
- pixeltable-0.5.7.dist-info/METADATA +579 -0
- pixeltable-0.5.7.dist-info/RECORD +227 -0
- {pixeltable-0.2.26.dist-info → pixeltable-0.5.7.dist-info}/WHEEL +1 -1
- pixeltable-0.5.7.dist-info/entry_points.txt +2 -0
- pixeltable/__version__.py +0 -3
- pixeltable/catalog/named_function.py +0 -36
- pixeltable/catalog/path_dict.py +0 -141
- pixeltable/dataframe.py +0 -894
- pixeltable/exec/expr_eval_node.py +0 -232
- pixeltable/ext/__init__.py +0 -14
- pixeltable/ext/functions/__init__.py +0 -8
- pixeltable/ext/functions/whisperx.py +0 -77
- pixeltable/ext/functions/yolox.py +0 -157
- pixeltable/tool/create_test_db_dump.py +0 -311
- pixeltable/tool/create_test_video.py +0 -81
- pixeltable/tool/doc_plugins/griffe.py +0 -50
- pixeltable/tool/doc_plugins/mkdocstrings.py +0 -6
- pixeltable/tool/doc_plugins/templates/material/udf.html.jinja +0 -135
- pixeltable/tool/embed_udf.py +0 -9
- pixeltable/tool/mypy_plugin.py +0 -55
- pixeltable/utils/media_store.py +0 -76
- pixeltable/utils/s3.py +0 -16
- pixeltable-0.2.26.dist-info/METADATA +0 -400
- pixeltable-0.2.26.dist-info/RECORD +0 -156
- pixeltable-0.2.26.dist-info/entry_points.txt +0 -3
- {pixeltable-0.2.26.dist-info → pixeltable-0.5.7.dist-info/licenses}/LICENSE +0 -0
pixeltable/utils/media_store.py
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import glob
|
|
2
|
-
import os
|
|
3
|
-
import re
|
|
4
|
-
import shutil
|
|
5
|
-
import uuid
|
|
6
|
-
from collections import defaultdict
|
|
7
|
-
from pathlib import Path
|
|
8
|
-
from typing import Optional
|
|
9
|
-
from uuid import UUID
|
|
10
|
-
|
|
11
|
-
from pixeltable.env import Env
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class MediaStore:
|
|
15
|
-
"""
|
|
16
|
-
Utilities to manage media files stored in Env.media_dir
|
|
17
|
-
|
|
18
|
-
Media file names are a composite of: table id, column id, version, uuid:
|
|
19
|
-
the table id/column id/version are redundant but useful for identifying all files for a table
|
|
20
|
-
or all files created for a particular version of a table
|
|
21
|
-
"""
|
|
22
|
-
pattern = re.compile(r'([0-9a-fA-F]+)_(\d+)_(\d+)_([0-9a-fA-F]+)') # tbl_id, col_id, version, uuid
|
|
23
|
-
|
|
24
|
-
@classmethod
|
|
25
|
-
def prepare_media_path(cls, tbl_id: UUID, col_id: int, version: int, ext: Optional[str] = None) -> Path:
|
|
26
|
-
"""
|
|
27
|
-
Construct a new, unique Path name for a persisted media file, and create the parent directory
|
|
28
|
-
for the new Path if it does not already exist. The Path will reside in
|
|
29
|
-
the environment's media_dir.
|
|
30
|
-
"""
|
|
31
|
-
id_hex = uuid.uuid4().hex
|
|
32
|
-
parent = Env.get().media_dir / tbl_id.hex / id_hex[0:2] / id_hex[0:4]
|
|
33
|
-
parent.mkdir(parents=True, exist_ok=True)
|
|
34
|
-
return parent / f'{tbl_id.hex}_{col_id}_{version}_{id_hex}{ext or ""}'
|
|
35
|
-
|
|
36
|
-
@classmethod
|
|
37
|
-
def delete(cls, tbl_id: UUID, version: Optional[int] = None) -> None:
|
|
38
|
-
"""Delete all files belonging to tbl_id. If version is not None, delete
|
|
39
|
-
only those files belonging to the specified version."""
|
|
40
|
-
assert tbl_id is not None
|
|
41
|
-
if version is None:
|
|
42
|
-
# Remove the entire folder for this table id.
|
|
43
|
-
path = Env.get().media_dir / tbl_id.hex
|
|
44
|
-
if path.exists():
|
|
45
|
-
shutil.rmtree(path)
|
|
46
|
-
else:
|
|
47
|
-
# Remove only the elements for the specified version.
|
|
48
|
-
paths = glob.glob(str(Env.get().media_dir / tbl_id.hex) + f'/**/{tbl_id.hex}_*_{version}_*', recursive=True)
|
|
49
|
-
for p in paths:
|
|
50
|
-
os.remove(p)
|
|
51
|
-
|
|
52
|
-
@classmethod
|
|
53
|
-
def count(cls, tbl_id: UUID) -> int:
|
|
54
|
-
"""
|
|
55
|
-
Return number of files for given tbl_id.
|
|
56
|
-
"""
|
|
57
|
-
paths = glob.glob(str(Env.get().media_dir / tbl_id.hex) + f'/**/{tbl_id.hex}_*', recursive=True)
|
|
58
|
-
return len(paths)
|
|
59
|
-
|
|
60
|
-
@classmethod
|
|
61
|
-
def stats(cls) -> list[tuple[UUID, int, int, int]]:
|
|
62
|
-
paths = glob.glob(str(Env.get().media_dir) + "/**", recursive=True)
|
|
63
|
-
# key: (tbl_id, col_id), value: (num_files, size)
|
|
64
|
-
d: dict[tuple[UUID, int], list[int]] = defaultdict(lambda: [0, 0])
|
|
65
|
-
for p in paths:
|
|
66
|
-
if not os.path.isdir(p):
|
|
67
|
-
matched = re.match(cls.pattern, Path(p).name)
|
|
68
|
-
assert matched is not None
|
|
69
|
-
tbl_id, col_id = UUID(hex=matched[1]), int(matched[2])
|
|
70
|
-
file_info = os.stat(p)
|
|
71
|
-
t = d[(tbl_id, col_id)]
|
|
72
|
-
t[0] += 1
|
|
73
|
-
t[1] += file_info.st_size
|
|
74
|
-
result = [(tbl_id, col_id, num_files, size) for (tbl_id, col_id), (num_files, size) in d.items()]
|
|
75
|
-
result.sort(key=lambda e: e[3], reverse=True)
|
|
76
|
-
return result
|
pixeltable/utils/s3.py
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def get_client(**kwargs: Any) -> Any:
|
|
5
|
-
import boto3
|
|
6
|
-
import botocore
|
|
7
|
-
try:
|
|
8
|
-
boto3.Session().get_credentials().get_frozen_credentials()
|
|
9
|
-
config = botocore.config.Config(**kwargs)
|
|
10
|
-
return boto3.client('s3', config=config) # credentials are available
|
|
11
|
-
except AttributeError:
|
|
12
|
-
# No credentials available, use unsigned mode
|
|
13
|
-
config_args = kwargs.copy()
|
|
14
|
-
config_args['signature_version'] = botocore.UNSIGNED
|
|
15
|
-
config = botocore.config.Config(**config_args)
|
|
16
|
-
return boto3.client('s3', config=config)
|
|
@@ -1,400 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: pixeltable
|
|
3
|
-
Version: 0.2.26
|
|
4
|
-
Summary: AI Data Infrastructure: Declarative, Multimodal, and Incremental
|
|
5
|
-
Home-page: https://pixeltable.com/
|
|
6
|
-
License: Apache-2.0
|
|
7
|
-
Keywords: data-science,machine-learning,database,ai,computer-vision,chatbot,ml,artificial-intelligence,feature-engineering,multimodal,mlops,feature-store,vector-database,llm,genai
|
|
8
|
-
Author: Pixeltable, Inc.
|
|
9
|
-
Author-email: contact@pixeltable.com
|
|
10
|
-
Requires-Python: >=3.9,<4.0
|
|
11
|
-
Classifier: Intended Audience :: Developers
|
|
12
|
-
Classifier: Intended Audience :: Science/Research
|
|
13
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
|
-
Classifier: Operating System :: MacOS
|
|
15
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
16
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
-
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
-
Classifier: Topic :: Database
|
|
24
|
-
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
25
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
26
|
-
Requires-Dist: av (>=10.0.0)
|
|
27
|
-
Requires-Dist: beautifulsoup4 (>=4.0.0,<5.0.0)
|
|
28
|
-
Requires-Dist: cloudpickle (>=2.2.1,<3.0.0)
|
|
29
|
-
Requires-Dist: ftfy (>=6.2.0,<7.0.0)
|
|
30
|
-
Requires-Dist: jinja2 (>=3.1.3,<4.0.0)
|
|
31
|
-
Requires-Dist: jmespath (>=1.0.1,<2.0.0)
|
|
32
|
-
Requires-Dist: lxml (>=5.0)
|
|
33
|
-
Requires-Dist: more-itertools (>=10.2,<11.0)
|
|
34
|
-
Requires-Dist: numpy (>=1.25,<2.0)
|
|
35
|
-
Requires-Dist: pandas (>=2.0,<3.0)
|
|
36
|
-
Requires-Dist: pgvector (>=0.2.1,<0.3.0)
|
|
37
|
-
Requires-Dist: pillow (>=9.3.0)
|
|
38
|
-
Requires-Dist: pixeltable-pgserver (==0.2.8)
|
|
39
|
-
Requires-Dist: psutil (>=5.9.5,<6.0.0)
|
|
40
|
-
Requires-Dist: psycopg[binary] (>=3.1.18)
|
|
41
|
-
Requires-Dist: puremagic (>=1.20)
|
|
42
|
-
Requires-Dist: pymupdf (>=1.24.1,<2.0.0)
|
|
43
|
-
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
|
|
44
|
-
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
|
45
|
-
Requires-Dist: sqlalchemy (>=2.0.23,<3.0.0)
|
|
46
|
-
Requires-Dist: tenacity (>=8.2,<9.0)
|
|
47
|
-
Requires-Dist: toml (>=0.10)
|
|
48
|
-
Requires-Dist: tqdm (>=4.64)
|
|
49
|
-
Project-URL: Documentation, https://docs.pixeltable.com/
|
|
50
|
-
Project-URL: Repository, https://github.com/pixeltable/pixeltable
|
|
51
|
-
Description-Content-Type: text/markdown
|
|
52
|
-
|
|
53
|
-
<div align="center">
|
|
54
|
-
<img src="https://raw.githubusercontent.com/pixeltable/pixeltable/main/docs/resources/pixeltable-logo-large.png"
|
|
55
|
-
alt="Pixeltable" width="50%" />
|
|
56
|
-
<br></br>
|
|
57
|
-
|
|
58
|
-
<h2>AI Data Infrastructure — Declarative, Multimodal, and Incremental</h2>
|
|
59
|
-
|
|
60
|
-
[](https://opensource.org/licenses/Apache-2.0)
|
|
61
|
-

|
|
62
|
-

|
|
63
|
-
<br>
|
|
64
|
-
[](https://github.com/pixeltable/pixeltable/actions/workflows/pytest.yml)
|
|
65
|
-
[](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml)
|
|
66
|
-
[](https://pypi.org/project/pixeltable/)
|
|
67
|
-
[](https://discord.gg/QPyqFYx2UN)
|
|
68
|
-
<a target="_blank" href="https://huggingface.co/Pixeltable">
|
|
69
|
-
<img src="https://img.shields.io/badge/🤗-HF Space-FF7D04" alt="Visit our Hugging Face space"/>
|
|
70
|
-
</a>
|
|
71
|
-
|
|
72
|
-
[Installation](https://docs.pixeltable.com/docs/installation) |
|
|
73
|
-
[Documentation](https://pixeltable.readme.io/) |
|
|
74
|
-
[API Reference](https://pixeltable.github.io/pixeltable/) |
|
|
75
|
-
[Code Samples](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#-code-samples) |
|
|
76
|
-
[Computer Vision](https://docs.pixeltable.com/docs/object-detection-in-videos) |
|
|
77
|
-
[LLM](https://docs.pixeltable.com/docs/document-indexing-and-rag)
|
|
78
|
-
</div>
|
|
79
|
-
|
|
80
|
-
Pixeltable is a Python library providing a declarative interface for multimodal data (text, images, audio, video).
|
|
81
|
-
It features built-in versioning, lineage tracking, and incremental updates, enabling users to **store**, **transform**,
|
|
82
|
-
**index**, and **iterate** on data for their ML workflows.
|
|
83
|
-
|
|
84
|
-
Data transformations, model inference, and custom logic are embedded as **computed columns**.
|
|
85
|
-
|
|
86
|
-
- **Load/Query all data types**: Interact with
|
|
87
|
-
[video data](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#import-media-data-into-pixeltable-videos-images-audio)
|
|
88
|
-
at the [frame level](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#text-and-image-similarity-search-on-video-frames-with-embedding-indexes)
|
|
89
|
-
and documents at the [chunk level](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#automate-data-operations-with-views-eg-split-documents-into-chunks)
|
|
90
|
-
- **Incremental updates for data transformation**: Maintain an
|
|
91
|
-
[embedding index](https://docs.pixeltable.com/docs/embedding-vector-indexes) colocated with your data
|
|
92
|
-
- **Lazy evaluation and cache management**: Eliminates the need for
|
|
93
|
-
[manual frame extraction](https://docs.pixeltable.com/docs/object-detection-in-videos)
|
|
94
|
-
- **Integrates with any Python libraries**: Use
|
|
95
|
-
[built-in and custom functions (UDFs)](https://docs.pixeltable.com/docs/user-defined-functions-udfs)
|
|
96
|
-
without complex pipelines
|
|
97
|
-
- **Data format agnostic and extensibility**: Access tables as Parquet files,
|
|
98
|
-
[PyTorch datasets](https://pixeltable.github.io/pixeltable/api/data-frame/#pixeltable.DataFrame.to_pytorch_dataset),
|
|
99
|
-
or [COCO annotations](https://pixeltable.github.io/pixeltable/api/table/#pixeltable.Table.to_coco_dataset)
|
|
100
|
-
|
|
101
|
-
## 💾 Installation
|
|
102
|
-
|
|
103
|
-
```python
|
|
104
|
-
pip install pixeltable
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
**Pixeltable is persistent. Unlike in-memory Python libraries such as Pandas, Pixeltable is a database.**
|
|
108
|
-
|
|
109
|
-
## 💡 Getting Started
|
|
110
|
-
|
|
111
|
-
Learn how to create tables, populate them with data, and enhance them with built-in or user-defined transformations.
|
|
112
|
-
|
|
113
|
-
| Topic | Notebook | Topic | Notebook |
|
|
114
|
-
|:----------|:-----------------|:-------------------------|:---------------------------------:|
|
|
115
|
-
| 10-Minute Tour of Pixeltable | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/pixeltable-basics.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> | Tables and Data Operations | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/fundamentals/tables-and-data-operations.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> |
|
|
116
|
-
| User-Defined Functions (UDFs) | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/feature-guides/udfs-in-pixeltable.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> | Object Detection Models | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/use-cases/object-detection-in-videos.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> |
|
|
117
|
-
| Incremental Prompt Engineering | <a target="_blank" href="https://colab.research.google.com/github/mistralai/cookbook/blob/main/third_party/Pixeltable/incremental_prompt_engineering_and_model_comparison.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Github"/> | Working with External Files | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/feature-guides/working-with-external-files.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> |
|
|
118
|
-
| Integrating with Label Studio | <a target="_blank" href="https://pixeltable.readme.io/docs/label-studio"> <img src="https://img.shields.io/badge/📚 Documentation-013056" alt="Visit our documentation"/></a> | Audio/Video Transcript Indexing | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/use-cases/audio-transcriptions.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> |
|
|
119
|
-
| Multimodal Application | <a target="_blank" href="https://huggingface.co/spaces/Pixeltable/Multimodal-Powerhouse"> <img src="https://img.shields.io/badge/🤗-Gradio App-FF7D04" alt="Visit our Hugging Face Space"/></a> | Document Indexing and RAG | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/use-cases/rag-demo.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> |
|
|
120
|
-
| Context-Aware Discord Bot | <a target="_blank" href="https://github.com/pixeltable/pixeltable/blob/main/docs/sample-apps/context-aware-discord-bot"> <img src="https://img.shields.io/badge/%F0%9F%92%AC-Discord Bot-%235865F2.svg" alt="Visit our documentation"/></a> | Image/Text Similarity Search | <a target="_blank" href="https://github.com/pixeltable/pixeltable/tree/main/docs/sample-apps/text-and-image-similarity-search-nextjs-fastapi"> <img src="https://img.shields.io/badge/🖥️-Next.js + FastAPI-black.svg" alt="Open In Colab"/> |
|
|
121
|
-
|
|
122
|
-
## 🧱 Code Samples
|
|
123
|
-
|
|
124
|
-
### Import media data into Pixeltable (videos, images, audio...)
|
|
125
|
-
|
|
126
|
-
```python
|
|
127
|
-
import pixeltable as pxt
|
|
128
|
-
|
|
129
|
-
v = pxt.create_table('external_data.videos', {'video': pxt.Video})
|
|
130
|
-
|
|
131
|
-
prefix = 's3://multimedia-commons/'
|
|
132
|
-
paths = [
|
|
133
|
-
'data/videos/mp4/ffe/ffb/ffeffbef41bbc269810b2a1a888de.mp4',
|
|
134
|
-
'data/videos/mp4/ffe/feb/ffefebb41485539f964760e6115fbc44.mp4',
|
|
135
|
-
'data/videos/mp4/ffe/f73/ffef7384d698b5f70d411c696247169.mp4'
|
|
136
|
-
]
|
|
137
|
-
v.insert({'video': prefix + p} for p in paths)
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
Learn how to [work with data in Pixeltable](https://pixeltable.readme.io/docs/working-with-external-files).
|
|
141
|
-
|
|
142
|
-
### Object detection in images using DETR model
|
|
143
|
-
|
|
144
|
-
```python
|
|
145
|
-
import pixeltable as pxt
|
|
146
|
-
from pixeltable.functions import huggingface
|
|
147
|
-
|
|
148
|
-
# Create a table to store data persistently
|
|
149
|
-
t = pxt.create_table('image', {'image': pxt.Image})
|
|
150
|
-
|
|
151
|
-
# Insert some images
|
|
152
|
-
prefix = 'https://upload.wikimedia.org/wikipedia/commons'
|
|
153
|
-
paths = [
|
|
154
|
-
'/1/15/Cat_August_2010-4.jpg',
|
|
155
|
-
'/e/e1/Example_of_a_Dog.jpg',
|
|
156
|
-
'/thumb/b/bf/Bird_Diversity_2013.png/300px-Bird_Diversity_2013.png'
|
|
157
|
-
]
|
|
158
|
-
t.insert({'image': prefix + p} for p in paths)
|
|
159
|
-
|
|
160
|
-
# Add a computed column for image classification
|
|
161
|
-
t.add_computed_column(classification=huggingface.detr_for_object_detection(
|
|
162
|
-
t.image,
|
|
163
|
-
model_id='facebook/detr-resnet-50'
|
|
164
|
-
))
|
|
165
|
-
|
|
166
|
-
# Retrieve the rows where cats have been identified
|
|
167
|
-
t.select(animal = t.image,
|
|
168
|
-
classification = t.classification.label_text[0]) \
|
|
169
|
-
.where(t.classification.label_text[0]=='cat').head()
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Learn about computed columns and object detection:
|
|
173
|
-
[Comparing object detection models](https://pixeltable.readme.io/docs/object-detection-in-videos).
|
|
174
|
-
|
|
175
|
-
### Extend Pixeltable's capabilities with user-defined functions
|
|
176
|
-
|
|
177
|
-
```python
|
|
178
|
-
@pxt.udf
|
|
179
|
-
def draw_boxes(img: PIL.Image.Image, boxes: list[list[float]]) -> PIL.Image.Image:
|
|
180
|
-
result = img.copy() # Create a copy of `img`
|
|
181
|
-
d = PIL.ImageDraw.Draw(result)
|
|
182
|
-
for box in boxes:
|
|
183
|
-
d.rectangle(box, width=3) # Draw bounding box rectangles on the copied image
|
|
184
|
-
return result
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
Learn more about user-defined functions:
|
|
188
|
-
[UDFs in Pixeltable](https://pixeltable.readme.io/docs/user-defined-functions-udfs).
|
|
189
|
-
|
|
190
|
-
### Automate data operations with views, e.g., split documents into chunks
|
|
191
|
-
|
|
192
|
-
```python
|
|
193
|
-
# In this example, the view is defined by iteration over the chunks of a DocumentSplitter
|
|
194
|
-
chunks_table = pxt.create_view(
|
|
195
|
-
'rag_demo.chunks',
|
|
196
|
-
documents_table,
|
|
197
|
-
iterator=DocumentSplitter.create(
|
|
198
|
-
document=documents_table.document,
|
|
199
|
-
separators='token_limit', limit=300)
|
|
200
|
-
)
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
Learn how to leverage views to build your
|
|
204
|
-
[RAG workflow](https://pixeltable.readme.io/docs/document-indexing-and-rag).
|
|
205
|
-
|
|
206
|
-
### Evaluate model performance
|
|
207
|
-
|
|
208
|
-
```python
|
|
209
|
-
# The computation of the mAP metric can become a query over the evaluation output
|
|
210
|
-
frames_view.select(mean_ap(frames_view.eval_yolox_tiny), mean_ap(frames_view.eval_yolox_m)).show()
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
Learn how to leverage Pixeltable for [Model analytics](https://pixeltable.readme.io/docs/object-detection-in-videos).
|
|
214
|
-
|
|
215
|
-
### Working with inference services
|
|
216
|
-
|
|
217
|
-
```python
|
|
218
|
-
chat_table = pxt.create_table('together_demo.chat', {'input': pxt.String})
|
|
219
|
-
|
|
220
|
-
# The chat-completions API expects JSON-formatted input:
|
|
221
|
-
messages = [{'role': 'user', 'content': chat_table.input}]
|
|
222
|
-
|
|
223
|
-
# This example shows how additional parameters from the Together API can be used in Pixeltable
|
|
224
|
-
chat_table.add_computed_column(
|
|
225
|
-
output=chat_completions(
|
|
226
|
-
messages=messages,
|
|
227
|
-
model='mistralai/Mixtral-8x7B-Instruct-v0.1',
|
|
228
|
-
max_tokens=300,
|
|
229
|
-
stop=['\n'],
|
|
230
|
-
temperature=0.7,
|
|
231
|
-
top_p=0.9,
|
|
232
|
-
top_k=40,
|
|
233
|
-
repetition_penalty=1.1,
|
|
234
|
-
logprobs=1,
|
|
235
|
-
echo=True
|
|
236
|
-
)
|
|
237
|
-
)
|
|
238
|
-
chat_table.add_computed_column(
|
|
239
|
-
response=chat_table.output.choices[0].message.content
|
|
240
|
-
)
|
|
241
|
-
|
|
242
|
-
# Start a conversation
|
|
243
|
-
chat_table.insert([
|
|
244
|
-
{'input': 'How many species of felids have been classified?'},
|
|
245
|
-
{'input': 'Can you make me a coffee?'}
|
|
246
|
-
])
|
|
247
|
-
chat_table.select(chat_table.input, chat_table.response).head()
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
Learn how to interact with inference services such as [Together AI](https://pixeltable.readme.io/docs/together-ai) in Pixeltable.
|
|
251
|
-
|
|
252
|
-
### Text and image similarity search on video frames with embedding indexes
|
|
253
|
-
|
|
254
|
-
```python
|
|
255
|
-
import pixeltable as pxt
|
|
256
|
-
from pixeltable.functions.huggingface import clip_image, clip_text
|
|
257
|
-
from pixeltable.iterators import FrameIterator
|
|
258
|
-
import PIL.Image
|
|
259
|
-
|
|
260
|
-
video_table = pxt.create_table('videos', {'video': pxt.Video})
|
|
261
|
-
|
|
262
|
-
video_table.insert([{'video': '/video.mp4'}])
|
|
263
|
-
|
|
264
|
-
frames_view = pxt.create_view(
|
|
265
|
-
'frames', video_table, iterator=FrameIterator.create(video=video_table.video))
|
|
266
|
-
|
|
267
|
-
@pxt.expr_udf
|
|
268
|
-
def embed_image(img: PIL.Image.Image):
|
|
269
|
-
return clip_image(img, model_id='openai/clip-vit-base-patch32')
|
|
270
|
-
|
|
271
|
-
@pxt.expr_udf
|
|
272
|
-
def str_embed(s: str):
|
|
273
|
-
return clip_text(s, model_id='openai/clip-vit-base-patch32')
|
|
274
|
-
|
|
275
|
-
# Create an index on the 'frame' column that allows text and image search
|
|
276
|
-
frames_view.add_embedding_index('frame', string_embed=str_embed, image_embed=embed_image)
|
|
277
|
-
|
|
278
|
-
# Now we will retrieve images based on a sample image
|
|
279
|
-
sample_image = '/image.jpeg'
|
|
280
|
-
sim = frames_view.frame.similarity(sample_image)
|
|
281
|
-
frames_view.order_by(sim, asc=False).limit(5).select(frames_view.frame, sim=sim).collect()
|
|
282
|
-
|
|
283
|
-
# Now we will retrieve images based on a string
|
|
284
|
-
sample_text = 'red truck'
|
|
285
|
-
sim = frames_view.frame.similarity(sample_text)
|
|
286
|
-
frames_view.order_by(sim, asc=False).limit(5).select(frames_view.frame, sim=sim).collect()
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
Learn how to work with [Embedding and Vector Indexes](https://docs.pixeltable.com/docs/embedding-vector-indexes).
|
|
290
|
-
|
|
291
|
-
## 🔄 AI Stack Comparison
|
|
292
|
-
|
|
293
|
-
### 🎯 Computer Vision Workflows
|
|
294
|
-
|
|
295
|
-
| Requirement | Traditional | Pixeltable |
|
|
296
|
-
|-------------|---------------------|------------|
|
|
297
|
-
| Frame Extraction | ffmpeg + custom code | Automatic via FrameIterator |
|
|
298
|
-
| Object Detection | Multiple scripts + caching | Single computed column |
|
|
299
|
-
| Video Indexing | Custom pipelines + Vector DB | Native similarity search |
|
|
300
|
-
| Annotation Management | Separate tools + custom code | Label Studio integration |
|
|
301
|
-
| Model Evaluation | Custom metrics pipeline | Built-in mAP computation |
|
|
302
|
-
|
|
303
|
-
### 🤖 LLM Workflows
|
|
304
|
-
|
|
305
|
-
| Requirement | Traditional | Pixeltable |
|
|
306
|
-
|-------------|---------------------|------------|
|
|
307
|
-
| Document Chunking | Tool + custom code | Native DocumentSplitter |
|
|
308
|
-
| Embedding Generation | Separate pipeline + caching | Computed columns |
|
|
309
|
-
| Vector Search | External vector DB | Built-in vector indexing |
|
|
310
|
-
| Prompt Management | Custom tracking solution | Version-controlled columns |
|
|
311
|
-
| Chain Management | Tool + custom code | Computed column DAGs |
|
|
312
|
-
|
|
313
|
-
### 🎨 Multimodal Workflows
|
|
314
|
-
|
|
315
|
-
| Requirement | Traditional | Pixeltable |
|
|
316
|
-
|-------------|---------------------|------------|
|
|
317
|
-
| Data Types | Multiple storage systems | Unified table interface |
|
|
318
|
-
| Cross-Modal Search | Complex integration | Native similarity support |
|
|
319
|
-
| Pipeline Orchestration | Multiple tools (Airflow, etc.) | Single declarative interface |
|
|
320
|
-
| Asset Management | Custom tracking system | Automatic lineage |
|
|
321
|
-
| Quality Control | Multiple validation tools | Computed validation columns |
|
|
322
|
-
|
|
323
|
-
## ❓ FAQ
|
|
324
|
-
|
|
325
|
-
### What is Pixeltable?
|
|
326
|
-
|
|
327
|
-
Pixeltable unifies data storage, versioning, and indexing with orchestration and model versioning under a declarative
|
|
328
|
-
table interface, with transformations, model inference, and custom logic represented as computed columns.
|
|
329
|
-
|
|
330
|
-
### What problems does Pixeltable solve?
|
|
331
|
-
|
|
332
|
-
Today's solutions for AI app development require extensive custom coding and infrastructure plumbing.
|
|
333
|
-
Tracking lineage and versions between and across data transformations, models, and deployments is cumbersome.
|
|
334
|
-
Pixeltable lets ML Engineers and Data Scientists focus on exploration, modeling, and app development without
|
|
335
|
-
dealing with the customary data plumbing.
|
|
336
|
-
|
|
337
|
-
### What does Pixeltable provide me with? Pixeltable provides:
|
|
338
|
-
|
|
339
|
-
- Data storage and versioning
|
|
340
|
-
- Combined Data and Model Lineage
|
|
341
|
-
- Indexing (e.g. embedding vectors) and Data Retrieval
|
|
342
|
-
- Orchestration of multimodal workloads
|
|
343
|
-
- Incremental updates
|
|
344
|
-
- Code is automatically production-ready
|
|
345
|
-
|
|
346
|
-
### Why should you use Pixeltable?
|
|
347
|
-
|
|
348
|
-
- **It gives you transparency and reproducibility**
|
|
349
|
-
- All generated data is automatically recorded and versioned
|
|
350
|
-
- You will never need to re-run a workload because you lost track of the input data
|
|
351
|
-
- **It saves you money**
|
|
352
|
-
- All data changes are automatically incremental
|
|
353
|
-
- You never need to re-run pipelines from scratch because you’re adding data
|
|
354
|
-
- **It integrates with any existing Python code or libraries**
|
|
355
|
-
- Bring your ever-changing code and workloads
|
|
356
|
-
- You choose the models, tools, and AI practices (e.g., your embedding model for a vector index);
|
|
357
|
-
Pixeltable orchestrates the data
|
|
358
|
-
|
|
359
|
-
### What is Pixeltable not providing?
|
|
360
|
-
|
|
361
|
-
- Pixeltable is not a low-code, prescriptive AI solution. We empower you to use the best frameworks and techniques for
|
|
362
|
-
your specific needs.
|
|
363
|
-
- We do not aim to replace your existing AI toolkit, but rather enhance it by streamlining the underlying data
|
|
364
|
-
infrastructure and orchestration.
|
|
365
|
-
|
|
366
|
-
> [!TIP]
|
|
367
|
-
> Check out the [Integrations](https://pixeltable.readme.io/docs/working-with-openai) section, and feel free to submit
|
|
368
|
-
> a request for additional ones.
|
|
369
|
-
|
|
370
|
-
## 🤝 Contributing to Pixeltable
|
|
371
|
-
|
|
372
|
-
We're excited to welcome contributions from the community! Here's how you can get involved:
|
|
373
|
-
|
|
374
|
-
### 🐛 Report Issues
|
|
375
|
-
|
|
376
|
-
- Found a bug? [Open an issue](https://github.com/pixeltable/pixeltable/issues)
|
|
377
|
-
- Include steps to reproduce and environment details
|
|
378
|
-
|
|
379
|
-
### 💡 Submit Changes
|
|
380
|
-
|
|
381
|
-
- Fork the repository
|
|
382
|
-
- Create a feature branch
|
|
383
|
-
- Submit a [pull request](https://github.com/pixeltable/pixeltable/pulls)
|
|
384
|
-
- See our [Contributing Guide](CONTRIBUTING.md) for detailed instructions
|
|
385
|
-
|
|
386
|
-
### 💬 Join the Discussion
|
|
387
|
-
|
|
388
|
-
- Have questions? Start a [Discussion](https://github.com/pixeltable/pixeltable/discussions)
|
|
389
|
-
- Share your Pixeltable projects and use cases
|
|
390
|
-
- Help others in the community
|
|
391
|
-
|
|
392
|
-
### 📝 Improve Documentation
|
|
393
|
-
|
|
394
|
-
- Suggest examples and tutorials
|
|
395
|
-
- Propose improvements
|
|
396
|
-
|
|
397
|
-
## 🏢 License
|
|
398
|
-
|
|
399
|
-
This library is licensed under the Apache 2.0 License.
|
|
400
|
-
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
pixeltable/__init__.py,sha256=gv2jvZ7H5tEjLear10E7hSH9jF5Mw6iSeryvRp88bOE,1391
|
|
2
|
-
pixeltable/__version__.py,sha256=5OkFhhUIXyKPz2LjEv1DUzoaDvZXzsOKyF_UesfvD_U,114
|
|
3
|
-
pixeltable/catalog/__init__.py,sha256=Ar6_F_6C7tkznIlCPBHVHDop5YssBDjKQr2NPQ21QCI,484
|
|
4
|
-
pixeltable/catalog/catalog.py,sha256=tyDyI5wQw7vV6_FChrp9qgGCRClcjiSdW3eygYT0p9s,7849
|
|
5
|
-
pixeltable/catalog/column.py,sha256=ezeKoGl6aBTzSZBihDA6vdETcvyCguAD4OsmrxWs73A,9595
|
|
6
|
-
pixeltable/catalog/dir.py,sha256=fG_BQM-fLuABpTstMVH-9dvZPx7kqi3sgTQgKveVXJI,922
|
|
7
|
-
pixeltable/catalog/globals.py,sha256=2P9cEfgnYQ19MFS4OsbnA8ZQkWLZPqJmmknDYWCXjWw,2415
|
|
8
|
-
pixeltable/catalog/insertable_table.py,sha256=hOsdYhkhtRcDOrRkweIGFUfjweWF3fLUErkUTlGYoSU,7172
|
|
9
|
-
pixeltable/catalog/named_function.py,sha256=W8vikP_3jMJ9pQQsksO2EfQAlaVxuQHBlo65M4924dc,1150
|
|
10
|
-
pixeltable/catalog/path.py,sha256=QgccEi_QOfaKt8YsR2zLtd_z7z7QQkU_1kprJFi2SPQ,1677
|
|
11
|
-
pixeltable/catalog/path_dict.py,sha256=4b9_Ax7Q8tkmoCYPaKNedpQkU17pE0oGDd2XB53eNZA,5979
|
|
12
|
-
pixeltable/catalog/schema_object.py,sha256=qhpeeUPOYT5doDbsyUNBcPm5QzAQPCAsikqh1PQ6d1k,2226
|
|
13
|
-
pixeltable/catalog/table.py,sha256=RtPvteovF-YE5AuhDjJnHuYMtVleOD0KgN4Yw_LGQk8,54551
|
|
14
|
-
pixeltable/catalog/table_version.py,sha256=W4yrvn-mF63CQ8cQGmjbjYTCf1xYuV6k6rI__ubJOIc,57898
|
|
15
|
-
pixeltable/catalog/table_version_path.py,sha256=CczGbcz5ESq663arreri_p4chMZHozgG6k3y-ajkJN4,5787
|
|
16
|
-
pixeltable/catalog/view.py,sha256=mJbaVE63GaBDy7EcQkQ2q5NKlrHlGyENkRyQVzU-ak8,10854
|
|
17
|
-
pixeltable/dataframe.py,sha256=RnRpOWLOqKNHGK2cO-Zbbc63yLUqrX7eSCYW11K4n7A,41320
|
|
18
|
-
pixeltable/env.py,sha256=oIFeLJVDQuQgW8REAoNkY45BF2o02NxtysgAlJNEBc8,30520
|
|
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
|
|
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=nEMnVTikQyTa3C9xfe6tuWLpQceM_7XJqfMPB_oI0wU,11890
|
|
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=aHLMua4-1M1uAsr0rrW2Y4Uv4OYwKyvYjJEmhtwpc-E,19529
|
|
31
|
-
pixeltable/exprs/__init__.py,sha256=zx5OTxfUpFs_U36CAO-81v6RCX49wqRw3eHaLfytvkE,1044
|
|
32
|
-
pixeltable/exprs/arithmetic_expr.py,sha256=I_OESFmUHlMSDmMy699-2JnFb7KbRjvh1GF06u8rBQ8,6322
|
|
33
|
-
pixeltable/exprs/array_slice.py,sha256=eSqtQRxvweW_CwTRgkDD189i-BmTJ48dsW3znRPDebg,2180
|
|
34
|
-
pixeltable/exprs/column_property_ref.py,sha256=ycHqZ7_LTFz_gag_53T5KRN6RfZckpw83DvvtxmcynM,3788
|
|
35
|
-
pixeltable/exprs/column_ref.py,sha256=Z2YAiZ0nMv_ecbw91qTc9VN6DB2hZj-_RNkogZcu4ng,10784
|
|
36
|
-
pixeltable/exprs/comparison.py,sha256=w1FuhnGsJRoCLYX3ztIHZDywf8nZeT2tKKwRjIQa6Lc,5101
|
|
37
|
-
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=uEyM9cMCkUM0PXIhWh0KhLYkRnEf2ysE3rQQTeDbHP0,30427
|
|
40
|
-
pixeltable/exprs/expr_dict.py,sha256=xkvo_iVPOLMq3WkBZQ2FOoXqYoebuV6XGlidPJxdOkY,1588
|
|
41
|
-
pixeltable/exprs/expr_set.py,sha256=GeUQXadzJbAqQOGdsO6Z5hPAp0A03YUr2hyIvfZDYEE,2576
|
|
42
|
-
pixeltable/exprs/function_call.py,sha256=YojOWiveyZ3kS8zDQs1uwu95w5--Su5TK1vCFZL_PpQ,21416
|
|
43
|
-
pixeltable/exprs/globals.py,sha256=5pwn5vdi-EEpYBpPty658YV45myY7W0iFIfTH7QIzak,2032
|
|
44
|
-
pixeltable/exprs/in_predicate.py,sha256=VxSn9TA_3UDHTC6rqQ12No5HbZO7SuE4DglpwAoI58s,3783
|
|
45
|
-
pixeltable/exprs/inline_expr.py,sha256=NrEDOl7cDen9KrR10SRvGu6rRxg_ob8A0Vrdu18dkPI,7107
|
|
46
|
-
pixeltable/exprs/is_null.py,sha256=rnusy1j33o48Z-qjguj09G7AmsBHFJI5SWQXOAjgKQw,1092
|
|
47
|
-
pixeltable/exprs/json_mapper.py,sha256=yhefrgvy76czfyTER_oRXnfxOVQb42Q4Us1KkXhSsLM,4545
|
|
48
|
-
pixeltable/exprs/json_path.py,sha256=UTf3VUcyEmEBJs6yU4kONGcZ8fy1o6mIe9MlntnUd6M,6811
|
|
49
|
-
pixeltable/exprs/literal.py,sha256=TTKb0gw6qck9D61SwVDuBrLrBrGwEhkCB-m0ILFpWFk,3764
|
|
50
|
-
pixeltable/exprs/method_ref.py,sha256=3O_uFMP6wWGiwJWri8on-47EVl-QD3AiAc7hXJMADxs,2615
|
|
51
|
-
pixeltable/exprs/object_ref.py,sha256=GVg6uxZnKwFVTC0kouJq-wMFP-gUPb_ld_syHrsGMdE,1283
|
|
52
|
-
pixeltable/exprs/row_builder.py,sha256=7f-h4y8xv0ktkk6GYqGrMJvLSwkVYtMPHsBBIskmQLw,18435
|
|
53
|
-
pixeltable/exprs/rowid_ref.py,sha256=iNBZ0wIhBAGkGCrNP9UQ2FeK8OajVX-eI4dtDA_bfHU,4401
|
|
54
|
-
pixeltable/exprs/similarity_expr.py,sha256=WGTYZlmSN5E8kNZnY4Y7pSETHo9TkdnSTlCWOemI-kw,4088
|
|
55
|
-
pixeltable/exprs/sql_element_cache.py,sha256=8i9ZslKWKTd1lUN7JvwRtQ-PFD1QMi5LBYdwcGA2-p0,1364
|
|
56
|
-
pixeltable/exprs/type_cast.py,sha256=DzVVpMo3msAJm42SAGOV4P0ECyM6LEao3zdfmob4MQo,1862
|
|
57
|
-
pixeltable/exprs/variable.py,sha256=3ZV3HzqULk05LKGG1p1T_xIlBfhqHIK4KJSCgoCDDSY,1488
|
|
58
|
-
pixeltable/ext/__init__.py,sha256=iO0J_Jfnv38F5y40sDAW54gpXjIyZgOGgoWQJAwjQec,423
|
|
59
|
-
pixeltable/ext/functions/__init__.py,sha256=hIjPEKC5E5uJOXlQqUyhP9yn9ZqWOCJAlj0kXWDlhlE,159
|
|
60
|
-
pixeltable/ext/functions/whisperx.py,sha256=jojjNhazcYiAh1scwUl-erhIDRr4kOTkcLrjy0xcp6g,2325
|
|
61
|
-
pixeltable/ext/functions/yolox.py,sha256=k-pQTelv4Tea3AXvDB7Kc7YCIa1uexjVGqxETP0B_hc,5351
|
|
62
|
-
pixeltable/func/__init__.py,sha256=WjftUGyNkd6bF_qSxqZ5Gd7Elf8oExb3dUlpydhdFTo,407
|
|
63
|
-
pixeltable/func/aggregate_function.py,sha256=LM6DMldmaUJNlQgEqPFQIKVmwjl3IpBxS4Y61G8-zG0,9477
|
|
64
|
-
pixeltable/func/callable_function.py,sha256=PO5Mn5WL2cd7y5LcKr_K0AaYHf2-1NfuXP2IPOfsiVs,4933
|
|
65
|
-
pixeltable/func/expr_template_function.py,sha256=CWG833LbR6kMFQshNQ3dlXlZ3uyC0kZ5SAOe5OsVY0Q,4104
|
|
66
|
-
pixeltable/func/function.py,sha256=BkY2esrFeRsa5sGZ2InJihV5MTxFoZbEJ8c3pV-mN1w,8622
|
|
67
|
-
pixeltable/func/function_registry.py,sha256=fBXe7NKyk8_JzZz6fsS0LF-WHTdMnmIP_XzrICuj9fA,12328
|
|
68
|
-
pixeltable/func/globals.py,sha256=sEwn6lGgHMp6VQORb_P5qRd_-Q2_bUSqvqM9-XPN_ec,1483
|
|
69
|
-
pixeltable/func/query_template_function.py,sha256=pGqwtWiPsEmo7phVoJJODiuD1Sh0gZoW4BpKnZV9cRE,3537
|
|
70
|
-
pixeltable/func/signature.py,sha256=MzOHayuf2S3EWIl4IRtdNWnaKj5tphnw1z7P6xNU6Xg,8691
|
|
71
|
-
pixeltable/func/udf.py,sha256=_883xbGujeIhYOz-lWH5SvLn22F5JVpP6O_MRvpU4hU,7362
|
|
72
|
-
pixeltable/functions/__init__.py,sha256=EtR9M3ewYpmtHeshNULqZVBd87bNeKSFAdpOuWCMl6o,389
|
|
73
|
-
pixeltable/functions/anthropic.py,sha256=P1E5o4-8QP1LTIUsWVgo_wMJ4WOnxtXUUXuFWUagChU,3032
|
|
74
|
-
pixeltable/functions/audio.py,sha256=7213nTnqKJ6vM9kalaoJ283OwX5SGEJN10vDhaRNZ6E,644
|
|
75
|
-
pixeltable/functions/fireworks.py,sha256=qwFC_eIaDs-glxyJ_IVXaNGkpgPzeRsQ_SdpzueBxq0,2605
|
|
76
|
-
pixeltable/functions/globals.py,sha256=pCFX2a_N87SwG9GxyPjSOC3TVMowMB6XIHSWKfFOuGE,3917
|
|
77
|
-
pixeltable/functions/huggingface.py,sha256=s5KmOfi9-TOYyrL1Wv-voKP7ykkUN7LlLAA_uo01UQc,21210
|
|
78
|
-
pixeltable/functions/image.py,sha256=3Qm4ybAT_o4YUl3bzhEXy8dKOwgZ7RCUV-ky-dbL_jc,13836
|
|
79
|
-
pixeltable/functions/json.py,sha256=ehCnBA5WiIl-crV9PFVgmxrsWsiO8FpRs9LDwcSpLa4,879
|
|
80
|
-
pixeltable/functions/llama_cpp.py,sha256=1awALuAXVpQH64l7vQlM8gvxLDix4c1-6DV3nG5RHu4,3881
|
|
81
|
-
pixeltable/functions/mistralai.py,sha256=GpxtT-a8ltx1kQC8XTJRflxkh-17VhzzFTkxqIUsba8,5494
|
|
82
|
-
pixeltable/functions/ollama.py,sha256=J_o3juzgejZ1kNjzz2lNVFjO29vxuRcQDL33NGEgsns,4330
|
|
83
|
-
pixeltable/functions/openai.py,sha256=e1-NZP5v0h9Axlo1oxUYzWfVRxKZVhOrKnqwcy0jH88,15583
|
|
84
|
-
pixeltable/functions/replicate.py,sha256=j8ZedScOMInmHWmriQSUOviw6tp8gQr-W6n21PNNL2g,2188
|
|
85
|
-
pixeltable/functions/string.py,sha256=VqzhVildxTt_XblW89Kl5Zd6MVOU71eaX2LTMY5jkUg,20366
|
|
86
|
-
pixeltable/functions/timestamp.py,sha256=Q5l2iEscrS3ZfKAa4R940bSM_x4FsmF-PF2i-wQ_4_c,9096
|
|
87
|
-
pixeltable/functions/together.py,sha256=xbgQMlA2G2FXdoQR4O9DlkmBsm2mivAdiOnxtxcyPwo,9440
|
|
88
|
-
pixeltable/functions/util.py,sha256=GgKTzCjvzUQNjWtSObTkfxkvJ9GVUOzKimY45WhE25M,759
|
|
89
|
-
pixeltable/functions/video.py,sha256=yW1Lwqu4_jYXp1aAOUThKB5-_Qxy-In_vTgB5cuW7Lg,6809
|
|
90
|
-
pixeltable/functions/vision.py,sha256=K_E1Q-n2plPuFoOPlbKWRMiJp9dPgftIJ2T_o3TNL3I,15594
|
|
91
|
-
pixeltable/functions/whisper.py,sha256=f2wqRd0n9jSBqRZN3W93UaetiAHtbsK0j9jXR2j2kkQ,2913
|
|
92
|
-
pixeltable/globals.py,sha256=Ahfq5Au0HvL9W9oBOnf3-EzAOEAfagtiVxEgh3IznJg,20522
|
|
93
|
-
pixeltable/index/__init__.py,sha256=XBwetNQQwnz0fiKwonOKhyy_U32l_cjt77kNvEIdjWs,102
|
|
94
|
-
pixeltable/index/base.py,sha256=zo0YvJI3oXiK6hZJztB36ZftKKhLfO75Zq3t-PeQA6M,1556
|
|
95
|
-
pixeltable/index/btree.py,sha256=JFerLyyLoBaD0FSF_jJ6iJFBVa-z_et--KdNR02xjRg,2264
|
|
96
|
-
pixeltable/index/embedding_index.py,sha256=XeWPgr4zWhcHnQxVMiyEaV_8wOV-gk2Ius1E917ZV84,8064
|
|
97
|
-
pixeltable/io/__init__.py,sha256=j3qDyGO1ejLce-UzIncK3eRqyOCLoOlDqClecMBSJGc,563
|
|
98
|
-
pixeltable/io/external_store.py,sha256=H1jt7MDn464QRgBvU-PmcPcFlo3EZBCG7fKWEZXOfyc,16676
|
|
99
|
-
pixeltable/io/fiftyone.py,sha256=hH-FahW6BuMQY8lGa2atnNnJto_pK8kWrP_y_EMsq6g,6965
|
|
100
|
-
pixeltable/io/globals.py,sha256=9S9wnlIAuhZq7eC_GklTM_UX0UATK9fEagk8-SRCeXQ,17794
|
|
101
|
-
pixeltable/io/hf_datasets.py,sha256=o5fqm2CJAjhFd3z-NYGxN0jM1tfrp4szuUX0TGnyNRY,8316
|
|
102
|
-
pixeltable/io/label_studio.py,sha256=7KTro1H-AlVbwWuoYwU-mxH3zejZWTpQbz56uX-Wnjs,31078
|
|
103
|
-
pixeltable/io/pandas.py,sha256=7eHg7wnAfRA9eBk4iC0iSSVTKOM59Ne4pXokKWdt3dY,9793
|
|
104
|
-
pixeltable/io/parquet.py,sha256=bvwTRIKhS99M3bAcAP63jnh5-R6Qww1SrYBGWjZvN1g,8800
|
|
105
|
-
pixeltable/iterators/__init__.py,sha256=qA9cJTwPO3gk-7y8mUXw2anWSbnUAVGwzl52SxiUjNU,398
|
|
106
|
-
pixeltable/iterators/base.py,sha256=ZC0ZvXL4iw6AmT8cu-Mdx-T2UG9nmJYV1C6LK4efAfw,1669
|
|
107
|
-
pixeltable/iterators/document.py,sha256=AsvEmZ5RGRi3AFGCrH2_-UNx5rTCFA-0WmMYQBTQI20,19679
|
|
108
|
-
pixeltable/iterators/image.py,sha256=7eJupbyLEl_q4bemEozL8WgTgkxjl-DYnSXyHTQ7Rck,3628
|
|
109
|
-
pixeltable/iterators/string.py,sha256=NG_fWc_GAITDfzl6MvrDOMrSoMcZdMZf6hPQztCSatE,1305
|
|
110
|
-
pixeltable/iterators/video.py,sha256=anedQpSOnjYhHLa8UiEx-6ROagb14rpXh9am8oTriUg,9382
|
|
111
|
-
pixeltable/metadata/__init__.py,sha256=Hgd3a_so_lFkE51bEgvzNDiS1Kj293oKcpUB9yfo6fg,2209
|
|
112
|
-
pixeltable/metadata/converters/convert_10.py,sha256=J1_r7LNNAWTdb042AwqFpJ4sEB-i4qhUdk5iOjcZk34,719
|
|
113
|
-
pixeltable/metadata/converters/convert_12.py,sha256=Ci-qyZW1gqci-8wnjeOB5afdq7KTuN-hVSV9OqSPx8g,162
|
|
114
|
-
pixeltable/metadata/converters/convert_13.py,sha256=yFR6lD3pOrZ46ZQBFKYvxiIYa7rRxh46Bsq7yiCBNak,1356
|
|
115
|
-
pixeltable/metadata/converters/convert_14.py,sha256=9e_JNm3a35Gs4dvFFaV-_jtCqp3ud6OEOqMIhTQmasE,428
|
|
116
|
-
pixeltable/metadata/converters/convert_15.py,sha256=jMfL5wGil0-gZeIfmCbgtR3LSVNyOcxVp6YRhBECqY4,1741
|
|
117
|
-
pixeltable/metadata/converters/convert_16.py,sha256=SvcWOYgLwRw_gLTnLbCSI9f2cpdkXazYOmmtJUOOzv4,476
|
|
118
|
-
pixeltable/metadata/converters/convert_17.py,sha256=vJg4y2lg53WSj9OSntWsdUiCr6yRgMQm0eFbs_Geqjg,861
|
|
119
|
-
pixeltable/metadata/converters/convert_18.py,sha256=NxSroQntVLgmvXfae1f0-jYJIhM2W7dhRY3I7g0RxPY,1482
|
|
120
|
-
pixeltable/metadata/converters/convert_19.py,sha256=QgUDjNoH87KZg_f3cx4k0ZR67NqWRhZQKIIojbqxSkg,2080
|
|
121
|
-
pixeltable/metadata/converters/convert_20.py,sha256=NLMeke9QUGqIJUe5MNqKmVdaLs6pPFrjyigImhogaT4,2768
|
|
122
|
-
pixeltable/metadata/converters/convert_21.py,sha256=YTztkbqOC2zQcTWrXfhrP8diUbfxy5DHwsu_IT-bBok,1115
|
|
123
|
-
pixeltable/metadata/converters/convert_22.py,sha256=f_oauWGEiefr9tZOtGBJMcqqIsTmJwhLNr6DqKlZZkg,590
|
|
124
|
-
pixeltable/metadata/converters/util.py,sha256=nycZk_UecJcrVZsIyxQrz5ngbke8-yfY-_UcERuzhPk,5983
|
|
125
|
-
pixeltable/metadata/notes.py,sha256=8bFw8vi2qSW3BAcpLCA0sbuqeXgdms_eeOQGaaFL5WM,630
|
|
126
|
-
pixeltable/metadata/schema.py,sha256=CnEsMqLn4hzLDaAr5lyd-NqiOUFQdvhxdCoXMR4Qcs4,9352
|
|
127
|
-
pixeltable/plan.py,sha256=dzG3iD9ClggFyIYmDuIK7H3eBC8HV3ft__f4ZULQvow,40687
|
|
128
|
-
pixeltable/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
129
|
-
pixeltable/store.py,sha256=m-OeilqOFai5wUXvtXTV9txzn-GhK2lfA7fkvzrfWFg,21974
|
|
130
|
-
pixeltable/tool/create_test_db_dump.py,sha256=LpqPcLbsWUHi_jGsHw9fmWgU3dbcUzlQsCRkWyqoBXE,12063
|
|
131
|
-
pixeltable/tool/create_test_video.py,sha256=4cQmqoKjn3juy7Ilty75gWBygqBxTZ1E9XPlrsC0Ssk,2931
|
|
132
|
-
pixeltable/tool/doc_plugins/griffe.py,sha256=J5zxyEUchfR3mkWmhx4Vjl_iSodL_pHiuOyD2eczbNU,2182
|
|
133
|
-
pixeltable/tool/doc_plugins/mkdocstrings.py,sha256=afq7XOaSC5WRmugkh-FMFMK8PqOgIlDIsJdD8cuPhtE,207
|
|
134
|
-
pixeltable/tool/doc_plugins/templates/material/udf.html.jinja,sha256=R-7Q57nmDd5BUea-F1-MjwjK3pq7uBHXNoSo8_QjZG4,4890
|
|
135
|
-
pixeltable/tool/embed_udf.py,sha256=EXvfvuzZm0uTgH-aAATSrKV8ixCU8OMwpzXlJMg845Y,299
|
|
136
|
-
pixeltable/tool/mypy_plugin.py,sha256=__oTFElirrK25jCX1z_asD_gxGnGxtD2TaU6r1if-Ic,1784
|
|
137
|
-
pixeltable/type_system.py,sha256=QPQ2Q065WQJY7uz1U3Y5dlgUPYwnWxBYfPmiZZXb-JE,41936
|
|
138
|
-
pixeltable/utils/__init__.py,sha256=UYlrf6TIWJT0g-Hac0b34-dEk478B5Qx8dGco34YlIk,439
|
|
139
|
-
pixeltable/utils/arrow.py,sha256=4AyCAkkNfNChVTaPAVS5j1ZO7BtTxn11duonolfktV8,3931
|
|
140
|
-
pixeltable/utils/coco.py,sha256=WCUyoj0dTyJFbPB7frEQUvY92SlEPxQ068r-3QAwROE,7285
|
|
141
|
-
pixeltable/utils/code.py,sha256=AOw1u2r8_DQXpX-lxJhyHWARGrCRDXOJHFVgKOi54Uc,1231
|
|
142
|
-
pixeltable/utils/description_helper.py,sha256=P-8EE2pRFP8s3coe73frgV68yt4Dp3saErCUehMxKUw,3759
|
|
143
|
-
pixeltable/utils/documents.py,sha256=B984nVigJgHZ5Rm-zX4LLuHuMnfmz-zr24bbAsc_y3w,2511
|
|
144
|
-
pixeltable/utils/filecache.py,sha256=6HKQdItqSSTQvj2HkSJulyhfBedi4PgC7umwxXGOVG8,10637
|
|
145
|
-
pixeltable/utils/formatter.py,sha256=5E_gDg11ClFI-5SthwkiqyE3hAok3JHDj4OSK9cJklM,9257
|
|
146
|
-
pixeltable/utils/http_server.py,sha256=xYPTvmYrkUpKfOaLDq08D-eHswkcgDf4qAt76ZFH6lM,2411
|
|
147
|
-
pixeltable/utils/media_store.py,sha256=YwvTjbVqC_aLbDvLuqnDSL8xeIVMZcmzp0ANuM6uMbw,3092
|
|
148
|
-
pixeltable/utils/pytorch.py,sha256=6RvOCjy_QV4gc-aht-3d0zoASkuv-warfpl87vgmuKw,3450
|
|
149
|
-
pixeltable/utils/s3.py,sha256=huA5hxDGkPIu18zWet76o0FsO7Vbtp-iPmnOzCe-MvA,586
|
|
150
|
-
pixeltable/utils/sql.py,sha256=j_tj0h4ffm-DhUIJbvGphxrVyBKlNTwDKqWGhRQ5_PY,795
|
|
151
|
-
pixeltable/utils/transactional_directory.py,sha256=UGzCrGtLR3hEEf8sYGuWBzLVFAEQml3vdIavigWeTBM,1349
|
|
152
|
-
pixeltable-0.2.26.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
153
|
-
pixeltable-0.2.26.dist-info/METADATA,sha256=qgtP333OuS_5GC1MBPPuS7Eu3V_Kb1hXxcnEs3l0QLA,19476
|
|
154
|
-
pixeltable-0.2.26.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
155
|
-
pixeltable-0.2.26.dist-info/entry_points.txt,sha256=TNI1Gb5vPwFrTdw6TimSYjO8FeK8c_HuPr28vcf7o_I,108
|
|
156
|
-
pixeltable-0.2.26.dist-info/RECORD,,
|