pixeltable 0.3.4__py3-none-any.whl → 0.3.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.

Files changed (57) hide show
  1. pixeltable/__init__.py +1 -0
  2. pixeltable/__version__.py +2 -2
  3. pixeltable/catalog/catalog.py +9 -2
  4. pixeltable/catalog/column.py +1 -1
  5. pixeltable/catalog/dir.py +1 -1
  6. pixeltable/catalog/table.py +1 -1
  7. pixeltable/catalog/table_version.py +12 -2
  8. pixeltable/catalog/table_version_path.py +2 -2
  9. pixeltable/catalog/view.py +64 -20
  10. pixeltable/dataframe.py +10 -5
  11. pixeltable/env.py +12 -0
  12. pixeltable/exec/expr_eval/evaluators.py +4 -2
  13. pixeltable/exec/expr_eval/expr_eval_node.py +4 -1
  14. pixeltable/exprs/comparison.py +8 -4
  15. pixeltable/exprs/data_row.py +5 -3
  16. pixeltable/exprs/expr.py +2 -2
  17. pixeltable/exprs/function_call.py +155 -313
  18. pixeltable/func/aggregate_function.py +29 -15
  19. pixeltable/func/callable_function.py +11 -8
  20. pixeltable/func/expr_template_function.py +3 -9
  21. pixeltable/func/function.py +148 -74
  22. pixeltable/func/signature.py +65 -30
  23. pixeltable/func/udf.py +1 -1
  24. pixeltable/functions/__init__.py +1 -0
  25. pixeltable/functions/deepseek.py +121 -0
  26. pixeltable/functions/image.py +7 -7
  27. pixeltable/functions/openai.py +23 -9
  28. pixeltable/functions/video.py +14 -7
  29. pixeltable/globals.py +14 -3
  30. pixeltable/index/embedding_index.py +4 -13
  31. pixeltable/io/globals.py +88 -77
  32. pixeltable/io/hf_datasets.py +34 -34
  33. pixeltable/io/pandas.py +75 -76
  34. pixeltable/io/parquet.py +19 -27
  35. pixeltable/io/utils.py +115 -0
  36. pixeltable/iterators/audio.py +2 -1
  37. pixeltable/iterators/video.py +1 -1
  38. pixeltable/metadata/__init__.py +2 -1
  39. pixeltable/metadata/converters/convert_15.py +18 -8
  40. pixeltable/metadata/converters/convert_27.py +31 -0
  41. pixeltable/metadata/converters/convert_28.py +15 -0
  42. pixeltable/metadata/converters/convert_29.py +111 -0
  43. pixeltable/metadata/converters/util.py +12 -1
  44. pixeltable/metadata/notes.py +3 -0
  45. pixeltable/metadata/schema.py +8 -0
  46. pixeltable/share/__init__.py +1 -0
  47. pixeltable/share/packager.py +41 -13
  48. pixeltable/share/publish.py +97 -0
  49. pixeltable/type_system.py +40 -14
  50. pixeltable/utils/__init__.py +41 -0
  51. pixeltable/utils/arrow.py +40 -7
  52. pixeltable/utils/formatter.py +1 -1
  53. {pixeltable-0.3.4.dist-info → pixeltable-0.3.5.dist-info}/METADATA +34 -49
  54. {pixeltable-0.3.4.dist-info → pixeltable-0.3.5.dist-info}/RECORD +57 -51
  55. {pixeltable-0.3.4.dist-info → pixeltable-0.3.5.dist-info}/WHEEL +1 -1
  56. {pixeltable-0.3.4.dist-info → pixeltable-0.3.5.dist-info}/LICENSE +0 -0
  57. {pixeltable-0.3.4.dist-info → pixeltable-0.3.5.dist-info}/entry_points.txt +0 -0
@@ -1,3 +1,10 @@
1
+ import hashlib
2
+ import urllib.parse
3
+ import urllib.request
4
+ from pathlib import Path
5
+ from typing import Optional, Union
6
+
7
+
1
8
  def print_perf_counter_delta(delta: float) -> str:
2
9
  """Prints a performance counter delta in a human-readable format.
3
10
 
@@ -15,3 +22,37 @@ def print_perf_counter_delta(delta: float) -> str:
15
22
  return f'{delta * 1e3:.2f} ms'
16
23
  else:
17
24
  return f'{delta:.2f} s'
25
+
26
+
27
+ def sha256sum(path: Union[Path, str]) -> str:
28
+ """
29
+ Compute the SHA256 hash of a file.
30
+ """
31
+ if isinstance(path, str):
32
+ path = Path(path)
33
+
34
+ h = hashlib.sha256()
35
+ with open(path, 'rb') as file:
36
+ while chunk := file.read(h.block_size):
37
+ h.update(chunk)
38
+
39
+ return h.hexdigest()
40
+
41
+
42
+ def parse_local_file_path(file_or_url: str) -> Optional[Path]:
43
+ """
44
+ Parses a string that may be either a URL or a local file path.
45
+
46
+ If the string is a local file path or a file-scheme URL (file://), then a Path object will be returned.
47
+ Otherwise, None will be returned.
48
+ """
49
+ parsed = urllib.parse.urlparse(file_or_url)
50
+ if len(parsed.scheme) <= 1:
51
+ # We're using `urlparse` to help distinguish file paths from URLs. If there is no scheme, then it's a file path.
52
+ # If there's a single-character scheme, we also interpret this as a file path; this insures that drive letters
53
+ # on Windows pathnames are correctly handled.
54
+ return Path(file_or_url).absolute()
55
+ elif parsed.scheme == 'file':
56
+ return Path(urllib.parse.unquote(urllib.request.url2pathname(parsed.path)))
57
+ else:
58
+ return None
pixeltable/utils/arrow.py CHANGED
@@ -8,6 +8,8 @@ import pixeltable.type_system as ts
8
8
 
9
9
  PA_TO_PXT_TYPES: dict[pa.DataType, ts.ColumnType] = {
10
10
  pa.string(): ts.StringType(nullable=True),
11
+ pa.large_string(): ts.StringType(nullable=True),
12
+ pa.timestamp('us', tz=datetime.timezone.utc): ts.TimestampType(nullable=True),
11
13
  pa.bool_(): ts.BoolType(nullable=True),
12
14
  pa.uint8(): ts.IntType(nullable=True),
13
15
  pa.int8(): ts.IntType(nullable=True),
@@ -16,6 +18,7 @@ PA_TO_PXT_TYPES: dict[pa.DataType, ts.ColumnType] = {
16
18
  pa.int32(): ts.IntType(nullable=True),
17
19
  pa.int64(): ts.IntType(nullable=True),
18
20
  pa.float32(): ts.FloatType(nullable=True),
21
+ pa.float64(): ts.FloatType(nullable=True),
19
22
  }
20
23
 
21
24
  PXT_TO_PA_TYPES: dict[type[ts.ColumnType], pa.DataType] = {
@@ -32,19 +35,20 @@ PXT_TO_PA_TYPES: dict[type[ts.ColumnType], pa.DataType] = {
32
35
  }
33
36
 
34
37
 
35
- def to_pixeltable_type(arrow_type: pa.DataType) -> Optional[ts.ColumnType]:
38
+ def to_pixeltable_type(arrow_type: pa.DataType, nullable: bool) -> Optional[ts.ColumnType]:
36
39
  """Convert a pyarrow DataType to a pixeltable ColumnType if one is defined.
37
40
  Returns None if no conversion is currently implemented.
38
41
  """
39
42
  if isinstance(arrow_type, pa.TimestampType):
40
- return ts.TimestampType(nullable=True)
43
+ return ts.TimestampType(nullable=nullable)
41
44
  elif arrow_type in PA_TO_PXT_TYPES:
42
- return PA_TO_PXT_TYPES[arrow_type]
45
+ pt = PA_TO_PXT_TYPES[arrow_type]
46
+ return pt.copy(nullable=nullable)
43
47
  elif isinstance(arrow_type, pa.FixedShapeTensorType):
44
- dtype = to_pixeltable_type(arrow_type.value_type)
48
+ dtype = to_pixeltable_type(arrow_type.value_type, nullable)
45
49
  if dtype is None:
46
50
  return None
47
- return ts.ArrayType(shape=arrow_type.shape, dtype=dtype)
51
+ return ts.ArrayType(shape=arrow_type.shape, dtype=dtype, nullable=nullable)
48
52
  else:
49
53
  return None
50
54
 
@@ -61,8 +65,17 @@ def to_arrow_type(pixeltable_type: ts.ColumnType) -> Optional[pa.DataType]:
61
65
  return None
62
66
 
63
67
 
64
- def to_pixeltable_schema(arrow_schema: pa.Schema) -> dict[str, ts.ColumnType]:
65
- return {field.name: to_pixeltable_type(field.type) for field in arrow_schema}
68
+ def ar_infer_schema(
69
+ arrow_schema: pa.Schema, schema_overrides: dict[str, Any], primary_key: list[str]
70
+ ) -> dict[str, ts.ColumnType]:
71
+ """Convert a pyarrow Schema to a schema using pyarrow names and pixeltable types."""
72
+ ar_schema = {
73
+ field.name: to_pixeltable_type(field.type, field.name not in primary_key)
74
+ if field.name not in schema_overrides
75
+ else schema_overrides[field.name]
76
+ for field in arrow_schema
77
+ }
78
+ return ar_schema
66
79
 
67
80
 
68
81
  def to_arrow_schema(pixeltable_schema: dict[str, Any]) -> pa.Schema:
@@ -96,3 +109,23 @@ def iter_tuples(batch: Union[pa.Table, pa.RecordBatch]) -> Iterator[dict[str, An
96
109
 
97
110
  for i in range(batch_size):
98
111
  yield {col_name: values[i] for col_name, values in pydict.items()}
112
+
113
+
114
+ def iter_tuples2(
115
+ batch: Union[pa.Table, pa.RecordBatch], col_mapping: Optional[dict[str, str]], schema: dict[str, ts.ColumnType]
116
+ ) -> Iterator[dict[str, Any]]:
117
+ """Convert a RecordBatch to an iterator of dictionaries. also works with pa.Table and pa.RowGroup"""
118
+ pydict = to_pydict(batch)
119
+ assert len(pydict) > 0, 'empty record batch'
120
+ for _, v in pydict.items():
121
+ batch_size = len(v)
122
+ break
123
+
124
+ for i in range(batch_size):
125
+ # Convert a row to insertable format
126
+ yield {
127
+ (pxt_name := col_name if col_mapping is None else col_mapping[col_name]): schema[pxt_name].create_literal(
128
+ values[i]
129
+ )
130
+ for col_name, values in pydict.items()
131
+ }
@@ -6,7 +6,7 @@ import logging
6
6
  import mimetypes
7
7
  from typing import Any, Callable, Optional
8
8
 
9
- import av # type: ignore[import-untyped]
9
+ import av
10
10
  import numpy as np
11
11
  import PIL
12
12
  import PIL.Image as Image
@@ -1,12 +1,11 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: pixeltable
3
- Version: 0.3.4
3
+ Version: 0.3.5
4
4
  Summary: AI Data Infrastructure: Declarative, Multimodal, and Incremental
5
- Home-page: https://pixeltable.com/
6
5
  License: Apache-2.0
7
6
  Keywords: data-science,machine-learning,database,ai,computer-vision,chatbot,ml,artificial-intelligence,feature-engineering,multimodal,mlops,feature-store,vector-database,llm,genai
8
7
  Author: Pixeltable, Inc.
9
- Author-email: contact@pixeltable.com
8
+ Author-email: contact@pixeltable.com>
10
9
  Requires-Python: >=3.9,<4.0
11
10
  Classifier: Intended Audience :: Developers
12
11
  Classifier: Intended Audience :: Science/Research
@@ -14,7 +13,6 @@ Classifier: License :: OSI Approved :: Apache Software License
14
13
  Classifier: Operating System :: MacOS
15
14
  Classifier: Operating System :: Microsoft :: Windows
16
15
  Classifier: Operating System :: POSIX :: Linux
17
- Classifier: Programming Language :: Python :: 3
18
16
  Classifier: Programming Language :: Python :: 3.9
19
17
  Classifier: Programming Language :: Python :: 3.10
20
18
  Classifier: Programming Language :: Python :: 3.11
@@ -24,36 +22,37 @@ Classifier: Topic :: Database
24
22
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
25
23
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
24
  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)
25
+ Requires-Dist: beautifulsoup4 (>=4.0.0)
26
+ Requires-Dist: cloudpickle (>=2.2.1)
27
+ Requires-Dist: ftfy (>=6.2.0)
30
28
  Requires-Dist: httpcore (>=1.0.3)
31
29
  Requires-Dist: httpx (>=0.27)
32
- Requires-Dist: jinja2 (>=3.1.3,<4.0.0)
33
- Requires-Dist: jmespath (>=1.0.1,<2.0.0)
30
+ Requires-Dist: jinja2 (>=3.1.3)
31
+ Requires-Dist: jmespath (>=1.0.1)
34
32
  Requires-Dist: jsonschema (>=4.1.0)
35
33
  Requires-Dist: lxml (>=5.0)
36
- Requires-Dist: more-itertools (>=10.2,<11.0)
34
+ Requires-Dist: more-itertools (>=10.2)
37
35
  Requires-Dist: nest_asyncio (>=1.5)
38
36
  Requires-Dist: numpy (>=1.25,<2.0)
39
37
  Requires-Dist: pandas (>=2.0,<3.0)
40
- Requires-Dist: pgvector (>=0.2.1,<0.3.0)
38
+ Requires-Dist: pgvector (>=0.2.1)
41
39
  Requires-Dist: pillow (>=9.3.0)
42
40
  Requires-Dist: pixeltable-pgserver (==0.3.1)
43
- Requires-Dist: psutil (>=5.9.5,<6.0.0)
41
+ Requires-Dist: psutil (>=5.9.5)
44
42
  Requires-Dist: psycopg[binary] (>=3.1.18)
45
43
  Requires-Dist: puremagic (>=1.20)
46
44
  Requires-Dist: pyarrow (>=13.0.0)
47
45
  Requires-Dist: pydantic (>=2.7.4)
48
46
  Requires-Dist: pyiceberg (>=0.6.0)
49
- Requires-Dist: pymupdf (>=1.24.1,<2.0.0)
50
- Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
51
- Requires-Dist: requests (>=2.31.0,<3.0.0)
52
- Requires-Dist: sqlalchemy (>=2.0.23,<3.0.0)
53
- Requires-Dist: tenacity (>=8.2,<9.0)
47
+ Requires-Dist: pymupdf (>=1.24.1)
48
+ Requires-Dist: pyyaml (>=6.0.1)
49
+ Requires-Dist: requests (>=2.31.0)
50
+ Requires-Dist: sqlalchemy (>=2.0.23)
51
+ Requires-Dist: tenacity (>=8.2)
54
52
  Requires-Dist: toml (>=0.10)
55
53
  Requires-Dist: tqdm (>=4.64)
56
54
  Project-URL: Documentation, https://docs.pixeltable.com/
55
+ Project-URL: Homepage, https://pixeltable.com/
57
56
  Project-URL: Repository, https://github.com/pixeltable/pixeltable
58
57
  Description-Content-Type: text/markdown
59
58
 
@@ -77,31 +76,22 @@ Description-Content-Type: text/markdown
77
76
  </a>
78
77
 
79
78
  [Installation](https://docs.pixeltable.com/docs/installation) |
80
- [Documentation](https://pixeltable.readme.io/) |
79
+ [Documentation](https://docs.pixeltable.com/docs/overview/quick-start) |
81
80
  [API Reference](https://pixeltable.github.io/pixeltable/) |
82
81
  [Code Samples](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#-code-samples) |
83
82
  [Computer Vision](https://docs.pixeltable.com/docs/object-detection-in-videos) |
84
83
  [LLM](https://docs.pixeltable.com/docs/document-indexing-and-rag)
85
84
  </div>
86
85
 
86
+ ## 🔍 What is Pixeltable?
87
87
  Pixeltable is a declarative data infrastructure for building multimodal AI applications, enabling incremental storage, transformation, indexing, and orchestration of your data.
88
+ - **Data Ingestion**: Unified interface for all [data types](https://docs.pixeltable.com/docs/datastore/bringing-data) (images, videos, audio, documents, URLs, blob storage, structured data)
89
+ - **Data Transformation**: [Chunking](https://docs.pixeltable.com/docs/datastore/views), [embedding](https://docs.pixeltable.com/docs/datastore/embedding-index), and processing with declarative [computed columns](https://docs.pixeltable.com/docs/datastore/computed-columns)
90
+ - **Indexing & Storage**: Type-safe tables with [built-in vector indexing](https://docs.pixeltable.com/docs/cookbooks/search/website)
91
+ - **Query & Retrieval**: [Queries](https://docs.pixeltable.com/docs/datastore/filtering-and-selecting) combining filtering, sorting, and similarity search
92
+ - **Inference & Generation**: [Integration](https://docs.pixeltable.com/docs/integrations/frameworks#cloud-llm-providers) with AI models (OpenAI, Anthropic, PyTorch, YOLOX, DETR, Together, Hugging Face and more...)
88
93
 
89
- Consider it your unified foundation for computer vision, LLMs, and multimodal AI development - where complex data operations become simple tables and computed columns, including but not limited to:
90
-
91
- - **Work with all your data**: Interact with
92
- [video data](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#import-media-data-into-pixeltable-videos-images-audio)
93
- at the [frame level](https://github.com/pixeltable/pixeltable?tab=readme-ov-file#text-and-image-similarity-search-on-video-frames-with-embedding-indexes)
94
- 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)
95
- - **Incremental updates**: Maintain an
96
- [embedding index](https://docs.pixeltable.com/docs/embedding-vector-indexes) colocated with your data
97
- - **Lazy evaluation and cache management**: Eliminates the need for
98
- [manual frame extraction](https://docs.pixeltable.com/docs/object-detection-in-videos)
99
- - **Integrates with any Python libraries**: Use
100
- [built-in and custom functions (UDFs)](https://docs.pixeltable.com/docs/user-defined-functions-udfs)
101
- without complex pipelines
102
- - **Data format agnostic and extensibility**: Access tables as Parquet files,
103
- [PyTorch datasets](https://pixeltable.github.io/pixeltable/api/data-frame/#pixeltable.DataFrame.to_pytorch_dataset),
104
- or [COCO annotations](https://pixeltable.github.io/pixeltable/api/table/#pixeltable.Table.to_coco_dataset)
94
+ All with your [custom functions (UDFs)](https://docs.pixeltable.com/docs/datastore/custom-functions), and built-in caching, versioning, lineage tracking, and incremental computation.
105
95
 
106
96
  ## 💾 Installation
107
97
 
@@ -120,7 +110,7 @@ Learn how to create tables, populate them with data, and enhance them with built
120
110
  | 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> |
121
111
  | 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> |
122
112
  | 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> |
123
- | 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"/> |
113
+ | Integrating with Label Studio | <a target="_blank" href="https://docs.pixeltable.com/docs/cookbooks/vision/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"/> |
124
114
  | 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"/> |
125
115
  | 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"/> |
126
116
 
@@ -142,7 +132,7 @@ paths = [
142
132
  v.insert({'video': prefix + p} for p in paths)
143
133
  ```
144
134
 
145
- Learn how to [work with data in Pixeltable](https://pixeltable.readme.io/docs/working-with-external-files).
135
+ Learn how to [work with data in Pixeltable](https://docs.pixeltable.com/docs/datastore/tables-and-operations).
146
136
 
147
137
  ### Object detection in images using DETR model
148
138
 
@@ -175,7 +165,7 @@ t.select(animal = t.image,
175
165
  ```
176
166
 
177
167
  Learn about computed columns and object detection:
178
- [Comparing object detection models](https://pixeltable.readme.io/docs/object-detection-in-videos).
168
+ [Comparing object detection models](https://docs.pixeltable.com/docs/examples/use-cases#multimodal-processing).
179
169
 
180
170
  ### Extend Pixeltable's capabilities with user-defined functions
181
171
 
@@ -190,7 +180,7 @@ def draw_boxes(img: PIL.Image.Image, boxes: list[list[float]]) -> PIL.Image.Imag
190
180
  ```
191
181
 
192
182
  Learn more about user-defined functions:
193
- [UDFs in Pixeltable](https://pixeltable.readme.io/docs/user-defined-functions-udfs).
183
+ [UDFs in Pixeltable](https://docs.pixeltable.com/docs/datastore/custom-functions).
194
184
 
195
185
  ### Automate data operations with views, e.g., split documents into chunks
196
186
 
@@ -206,7 +196,7 @@ chunks_table = pxt.create_view(
206
196
  ```
207
197
 
208
198
  Learn how to leverage views to build your
209
- [RAG workflow](https://pixeltable.readme.io/docs/document-indexing-and-rag).
199
+ [RAG workflow](https://docs.pixeltable.com/docs/cookbooks/chat/memory).
210
200
 
211
201
  ### Evaluate model performance
212
202
 
@@ -215,7 +205,7 @@ Learn how to leverage views to build your
215
205
  frames_view.select(mean_ap(frames_view.eval_yolox_tiny), mean_ap(frames_view.eval_yolox_m)).show()
216
206
  ```
217
207
 
218
- Learn how to leverage Pixeltable for [Model analytics](https://pixeltable.readme.io/docs/object-detection-in-videos).
208
+ Learn how to leverage Pixeltable for [Model analytics](https://github.com/pixeltable/pixeltable/blob/main/docs/notebooks/use-cases/object-detection-in-videos.ipynb).
219
209
 
220
210
  ### Working with inference services
221
211
 
@@ -252,7 +242,7 @@ chat_table.insert([
252
242
  chat_table.select(chat_table.input, chat_table.response).head()
253
243
  ```
254
244
 
255
- Learn how to interact with inference services such as [Together AI](https://pixeltable.readme.io/docs/together-ai) in Pixeltable.
245
+ Learn how to interact with inference services such as [Together AI](https://github.com/pixeltable/pixeltable/blob/main/docs/notebooks/integrations/working-with-together.ipynb) in Pixeltable.
256
246
 
257
247
  ### Text and image similarity search on video frames with embedding indexes
258
248
 
@@ -283,7 +273,7 @@ sim = frames_view.frame.similarity(sample_text)
283
273
  frames_view.order_by(sim, asc=False).limit(5).select(frames_view.frame, sim=sim).collect()
284
274
  ```
285
275
 
286
- Learn how to work with [Embedding and Vector Indexes](https://docs.pixeltable.com/docs/embedding-vector-indexes).
276
+ Learn how to work with [Embedding and Vector Indexes](https://docs.pixeltable.com/docs/datastore/embedding-index).
287
277
 
288
278
  ## 🔄 AI Stack Comparison
289
279
 
@@ -319,11 +309,6 @@ Learn how to work with [Embedding and Vector Indexes](https://docs.pixeltable.co
319
309
 
320
310
  ## ❓ FAQ
321
311
 
322
- ### What is Pixeltable?
323
-
324
- Pixeltable unifies data storage, versioning, and indexing with orchestration and model versioning under a declarative
325
- table interface, with transformations, model inference, and custom logic represented as computed columns.
326
-
327
312
  ### What problems does Pixeltable solve?
328
313
 
329
314
  Today's solutions for AI app development require extensive custom coding and infrastructure plumbing.
@@ -361,7 +346,7 @@ dealing with the customary data plumbing.
361
346
  infrastructure and orchestration.
362
347
 
363
348
  > [!TIP]
364
- > Check out the [Integrations](https://pixeltable.readme.io/docs/working-with-openai) section, and feel free to submit
349
+ > Check out the [Integrations](https://docs.pixeltable.com/docs/integrations/frameworks) section, and feel free to submit
365
350
  > a request for additional ones.
366
351
 
367
352
  ## 🤝 Contributing to Pixeltable
@@ -1,21 +1,21 @@
1
- pixeltable/__init__.py,sha256=FeL_ABFaY6QiShtTao1cfhSAwXV_2dkhL_4-qXoHbPE,1616
2
- pixeltable/__version__.py,sha256=a50-dZlwYU667r1CN3zUS6OONPFGlyZFnAAe8vTD1k8,112
1
+ pixeltable/__init__.py,sha256=DRQQhIkaIs5-m6WzxRd4y0lO1pV4YQ9VHOPq7atc-lY,1638
2
+ pixeltable/__version__.py,sha256=xz1unpHKoihfez0C3obp6Y_GaGHMbk1K0uZMleLspeU,112
3
3
  pixeltable/catalog/__init__.py,sha256=bACh33HpWQed86eV8t9of_ClSXqZx5blZi4y8vJ7-EA,517
4
- pixeltable/catalog/catalog.py,sha256=LFaOtHoGJM306jDlyyQRqCaPR6K4nrN-jPu3_vyZNvc,8267
5
- pixeltable/catalog/column.py,sha256=9Rm4DCP-uUCl3P44uTsD89P63jxmvv9emD2Rc7Bw_us,9684
6
- pixeltable/catalog/dir.py,sha256=slQ_OJuvA6WdL6GFW2EjgsN-GwGkVRHVDfdELcnKB_4,1215
4
+ pixeltable/catalog/catalog.py,sha256=JviNA1bRT_NzenR1mF5X23BYAS_1F3cdXSZeRfiEWus,8547
5
+ pixeltable/catalog/column.py,sha256=lrCTuo22BnALGYeN5isNXBdTPATYNLFDQnrbtYMWpNE,9678
6
+ pixeltable/catalog/dir.py,sha256=ig2j-_zWsi7IJaXvewdS_OQoi6jrDmyRmeNL5ZAPR-w,1244
7
7
  pixeltable/catalog/globals.py,sha256=1x0WuArwwoE4LLeC__55jVbxE8AP16EcLl8pKMMWgRM,3248
8
8
  pixeltable/catalog/insertable_table.py,sha256=a82udrQT7IxUxoZwLgmTeYqQDkj59GLxQzOH4OOJQR8,7362
9
9
  pixeltable/catalog/named_function.py,sha256=RHvKfzR5dyf5ixhmjr0swM2wqnYUhCIQuB6SMl7NkMo,1285
10
10
  pixeltable/catalog/path.py,sha256=5726gocGuq_QRQEhpLO-5y65Ebf1Sx-N2m4Hl6K1Vb4,1679
11
11
  pixeltable/catalog/path_dict.py,sha256=gu987TjUDrJibOhjr3-A7Kw9s_ZDAB4tornGKRCgwJo,6493
12
12
  pixeltable/catalog/schema_object.py,sha256=2xeV9XfriawLWT5B8-fdRJ5HxrnMkhsXS3XEAcALHe4,2383
13
- pixeltable/catalog/table.py,sha256=qfTI7obvSanFt96-jbjSXU9PyninU3_B9K4pnaxlJdM,62451
14
- pixeltable/catalog/table_version.py,sha256=rWBtgnIepVgq5tZ4vb9RzAL5peHnze5ZMOr-7gqMpog,60354
15
- pixeltable/catalog/table_version_path.py,sha256=yDU_KXriAckJqKPfKYhLVDig7glUc--_Fda9X7ekfGo,5810
16
- pixeltable/catalog/view.py,sha256=cTL1jBYHa3RweODoD-y_I9NjAntqJPSofP4BJdSWaBA,11226
17
- pixeltable/dataframe.py,sha256=9eMkOUKYpcml6y_Nsj9nTY_UHaDyzo1GT1c6IfzWfXo,49177
18
- pixeltable/env.py,sha256=1IN2Tju45H-ADNhMfVRDOQ11udBxo4L_euZ6gQKiRC8,35860
13
+ pixeltable/catalog/table.py,sha256=Gl_ULJiVeaNyNQer-Dm1Wrk0wVnvWh4TD3EqxbyfN74,62421
14
+ pixeltable/catalog/table_version.py,sha256=NAT6x1_Z3DbNo3cpd_wK4g6kNC6en-ISLsEYzp8dtOc,60696
15
+ pixeltable/catalog/table_version_path.py,sha256=yU2bIQlSq0wMzM6J_CvPWBvgLfNUdObsm-jlIahDxzM,5897
16
+ pixeltable/catalog/view.py,sha256=5B3RpXGwM-dJWL5g4ClInBow6QVJw4T3gSvFR8b82Bo,13037
17
+ pixeltable/dataframe.py,sha256=heURzMRiTGxpVxoXoE8gsnD-f-X27Q8aYPn_AwBOwGM,49426
18
+ pixeltable/env.py,sha256=plMNx4bhYboDM6otx1qWfDH2g1lmBBShPmHOUI-44Bk,36367
19
19
  pixeltable/exceptions.py,sha256=NuFY2WtkQpLfLHT_J70kOw9Tr0kEDkkgo-u7As4Gaq4,410
20
20
  pixeltable/exec/__init__.py,sha256=Qi0s2BEM8O8MPdYGQAIzclv2GNFsoCPJFvA6s5Tjc_o,489
21
21
  pixeltable/exec/aggregation_node.py,sha256=KR7OLQOfAL4KTF6_vKSuJvFC2ntwWf0NJxhQ9i340-4,4072
@@ -25,8 +25,8 @@ pixeltable/exec/data_row_batch.py,sha256=E0SVjyOBc237DopT0TwqK7JzcgFTEpE3xOS9K0-
25
25
  pixeltable/exec/exec_context.py,sha256=l7GWAbt57H9VEksrDCeocmlc-MgUp8w_nDdAau8Cfqw,1115
26
26
  pixeltable/exec/exec_node.py,sha256=RbMJLDy7jwphNCEphSL0w50Dy1lrpjtEEugzyL6pqlA,4006
27
27
  pixeltable/exec/expr_eval/__init__.py,sha256=t0o2T7MxfH09TI7KlzxEjPUySejn2vkK06LC8t4FjsQ,41
28
- pixeltable/exec/expr_eval/evaluators.py,sha256=gDZhc9z4nUFEPOrvwxsoZFudRRupKQwBp3eLO6anR2k,11077
29
- pixeltable/exec/expr_eval/expr_eval_node.py,sha256=KWCtaG0GwX-968oOT3se63AaVtdbBFEMPt5lHMXdauU,20215
28
+ pixeltable/exec/expr_eval/evaluators.py,sha256=mm_ApByWsEzDewjKUXRz6jy948fL2RS65cJdfJDSqjo,11107
29
+ pixeltable/exec/expr_eval/expr_eval_node.py,sha256=Bk6lDYHr8Yp7fhJjt9mue1MYDYktzdEibYjYKJJB0Ug,20373
30
30
  pixeltable/exec/expr_eval/globals.py,sha256=47HPXyNcSJLF0wsxHTNkj6w3ym7mjM6lfhDdfw0p820,4576
31
31
  pixeltable/exec/expr_eval/row_buffer.py,sha256=YY0thdlMNNReEOTyPp36xKPeMeXSZ0VrI9bJsXgo7sU,2744
32
32
  pixeltable/exec/expr_eval/schedulers.py,sha256=iKfP5DnG9jcmdeY3DVeM7PpanfPyAqAUq8BsXi_8J5E,16804
@@ -38,13 +38,13 @@ pixeltable/exprs/arithmetic_expr.py,sha256=EoRLb9rbK-aFjX85eR00ZCcRBoPtcC50vSzFg
38
38
  pixeltable/exprs/array_slice.py,sha256=Wnn42mZ316aaaNP3LJ0TArgSjrIMCWNk2zFI6XgLBvo,2180
39
39
  pixeltable/exprs/column_property_ref.py,sha256=dkScOhj5rUUB_s26iWhrTz_YZQhYybfbP13_7CRgfLo,3789
40
40
  pixeltable/exprs/column_ref.py,sha256=MBWrNwnbRe0Hswu0q_Arerm9JoQs_0pNSsCYVxXONx0,10891
41
- pixeltable/exprs/comparison.py,sha256=5Bw6fEvVq-ynt3ciGLCouse7ZWFGPA-egsEkgUjUvsc,5132
41
+ pixeltable/exprs/comparison.py,sha256=TABLNY3tIf-eJWBmFTD00PsLrd_aQTYRJFykf1BXihU,5200
42
42
  pixeltable/exprs/compound_predicate.py,sha256=ZN_JL97OZfTwdfgXF2t57EGyTYrpsBHaduZWRuBAekk,3832
43
- pixeltable/exprs/data_row.py,sha256=4lEyTxTw95v3ERuG9mFUBla8FfhPueoZyltcpTsWLK0,10577
44
- pixeltable/exprs/expr.py,sha256=r7eS6-7RCHemYBv_Ap1U9IKcZHpVqAghpxHcCpuk6uY,32463
43
+ pixeltable/exprs/data_row.py,sha256=eW9NG31cTZUjlJfBLyOB-MuiTEfXXrfVmeeKqIjy31k,10716
44
+ pixeltable/exprs/expr.py,sha256=3hpD-_4PMoGPOSkACZXnV_ZI6HQmdoMcJm_25Iy82sI,32474
45
45
  pixeltable/exprs/expr_dict.py,sha256=wf82K-aCPHZcM2A-VbE_0p5OzQFfVsI65uzMLp4Uwu4,1589
46
46
  pixeltable/exprs/expr_set.py,sha256=kkcG9df8fQOblNIKz2xciw9qfu2CnTWb4qwJKYVTUx8,2578
47
- pixeltable/exprs/function_call.py,sha256=3zjWl_vAKHpClR61-wpNNfPWYp5ccHO8CXD3Dts2bcs,28123
47
+ pixeltable/exprs/function_call.py,sha256=t9Cbc2WOWwvtlcBCrv71vdpV9EOgDZdKtkX4PcReBnQ,20178
48
48
  pixeltable/exprs/globals.py,sha256=y5bhU21ME57dTuz9iSU1jA56nWhDe_t-OHFYthwngM8,2033
49
49
  pixeltable/exprs/in_predicate.py,sha256=nNmo7slUvZCR2GN9amWCA8eQv83NdTjXTphjqawpLDw,3799
50
50
  pixeltable/exprs/inline_expr.py,sha256=dLivsKlh_xEfXXXd5tSogg0cAwMOWTv8Hh2DBgKOdzs,7985
@@ -65,64 +65,66 @@ pixeltable/ext/functions/__init__.py,sha256=yraKAwvZxJkuD8_gS2MbwlqQGH9lkLv_Gza0
65
65
  pixeltable/ext/functions/whisperx.py,sha256=CiSW66yjvmYVuEPyfdi5V28fdeS0jZjWGODUP3yWl_8,2342
66
66
  pixeltable/ext/functions/yolox.py,sha256=K-wscfwj6cOc6YVCL3oFZTOFCWBubS8RKzACP9MRR-I,5432
67
67
  pixeltable/func/__init__.py,sha256=Tmy5srLdxcWDwxwnXXj2mTNUMimdYY-MdU6fJ9SpePc,457
68
- pixeltable/func/aggregate_function.py,sha256=jwrIQCaBwp9JF2BmzDn9iCLKJ-gA_WBWfI27YtWGedY,12779
69
- pixeltable/func/callable_function.py,sha256=vsDS0AIht7qFwRTAV0NVBGSaiW_7ORNPutkQ7uhyb1o,8910
70
- pixeltable/func/expr_template_function.py,sha256=8tizAVAq1ur_nlafKBfCJmnMaeKBbFD996zojmbCxrw,5483
71
- pixeltable/func/function.py,sha256=DTql3Ml3WmXree4N9AZFRkCDoMh5239XQwOM9qDU4OU,18894
68
+ pixeltable/func/aggregate_function.py,sha256=I7sS6X7SzzCQV6SXIIdBNtV9LijUf1nr1RY0JntTros,13151
69
+ pixeltable/func/callable_function.py,sha256=Wy5euLVlRtrN_c860m756dpKxXDs2yHxNb-wEkjbHU4,9203
70
+ pixeltable/func/expr_template_function.py,sha256=-MxUGHO-4KgnNydztTw7yGs1gsAXpHQPXMOAkEEdtvU,5058
71
+ pixeltable/func/function.py,sha256=X_abgU3iQkiB3p_OzJSd2YQoCfGByxYJ-uuZlm_iJdg,22112
72
72
  pixeltable/func/function_registry.py,sha256=21E6KVjxuR_EPelVeun7Igk0YWH2zXjDwItgBoFdrLA,12336
73
73
  pixeltable/func/globals.py,sha256=5Wo4GPxYgHRRk5nvV0h_lAthKSalxKvj5n1p-uMPR0U,1501
74
74
  pixeltable/func/query_template_function.py,sha256=p3_NaDBrlMqT2HT8QM-9fzqgko0n6W3CY-z63grqenk,5277
75
- pixeltable/func/signature.py,sha256=e-0GvbTH18yDXJjjAE2SYBPkSP462gYCGTxsA6ldZJ4,11335
75
+ pixeltable/func/signature.py,sha256=Mv-dt2Z87y_hx2jFJiA9mVs3M8of3EJcVqo63YUoi9Y,13501
76
76
  pixeltable/func/tools.py,sha256=gwAzqWPuLSUBxWJ4IMYVWDsoVTUDxZm-Dh3RRed-ro0,5860
77
- pixeltable/func/udf.py,sha256=yivTgtIUjkHJ1dMYLAKIZGAVvtOewiuXNgFzfDKTj78,13143
78
- pixeltable/functions/__init__.py,sha256=_jxG8IZj57kodQVFHBv36nWzB3Cnqeq4xVY7yildJRI,503
77
+ pixeltable/func/udf.py,sha256=qpXkf3-ZO9w6EHj9heniGEWC2lF3AgZEWD2-PaAjDf4,13139
78
+ pixeltable/functions/__init__.py,sha256=QkuN-klq0s-D4PDrqYWNvPzPflmBRLe6Hh-RzeQVrz0,517
79
79
  pixeltable/functions/anthropic.py,sha256=s3tkpbSG0IUWPWI3pMWwvs_8FchFZdvr0gMZ35G6aBU,9079
80
80
  pixeltable/functions/audio.py,sha256=7213nTnqKJ6vM9kalaoJ283OwX5SGEJN10vDhaRNZ6E,644
81
+ pixeltable/functions/deepseek.py,sha256=gmGknLIrsnrsALXcHCr6Y2AltR68juRVROkcbeS6WVQ,3814
81
82
  pixeltable/functions/fireworks.py,sha256=v9F-l3E73QhcyIsz720jJbtZV_GcyMu83zOV3ZC2Pd8,5024
82
83
  pixeltable/functions/gemini.py,sha256=vr1mBZDcDI1GNLp8pKVcQmUEbV9P0L0HRInE78rA4Ok,2952
83
84
  pixeltable/functions/globals.py,sha256=S9HgXYEPZYT58J_GtxLWKplUTLDEY7YvfPHKNemkWJM,4976
84
85
  pixeltable/functions/huggingface.py,sha256=MFuzmEIrQvdWP9DHjg3CCmz2mkhMTTU2TFf4OPO5VB0,20591
85
- pixeltable/functions/image.py,sha256=Iv3rytJ2vKIB_oxpnb3CxsC3QRitXxqJDEPseaR2FXY,13855
86
+ pixeltable/functions/image.py,sha256=10tESKdVVnyNdTJDft-5IBJLQy_qMeW4bgni48R7Rr8,13855
86
87
  pixeltable/functions/json.py,sha256=_9rTUiKOz-gmLuhDghCiCNUIixK82F9qmA4k2BttMxs,757
87
88
  pixeltable/functions/llama_cpp.py,sha256=1nVXgU5ymuNblVNqRQv3iAEvlYpqzDZPAjYnAOHwvsc,3844
88
89
  pixeltable/functions/math.py,sha256=WPoH9zD9_GdwvBs-FSC3Sqb70gOPNouhPcBZABsuLwI,1541
89
90
  pixeltable/functions/mistralai.py,sha256=H2onsnW1R_SaFN5SI_JWO0A5lJdlsnKxmtIu2m19cEg,6212
90
91
  pixeltable/functions/ollama.py,sha256=Et0l7XEMaNLxDwy3qTblljomjCkOQroY1Z7a-Ajmshk,4218
91
- pixeltable/functions/openai.py,sha256=Oc_WApfR8M_-EgUEwV1BBuQwkmhunLUGqUVl5CWDTnA,29083
92
+ pixeltable/functions/openai.py,sha256=KvNrj0IF8-2M0hPDQtwDhrqmVsQxvXlnqOQ0nPSbxG8,29871
92
93
  pixeltable/functions/replicate.py,sha256=BQ5iaFJnw5MioL3X08DQiH41xQ_Pi2H5DDEasux9-fE,2454
93
94
  pixeltable/functions/string.py,sha256=1vFlbqKVm2n6jdh23BIA_8MBJJiNyxbQoFs5tJPgpy4,20433
94
95
  pixeltable/functions/timestamp.py,sha256=KKOw7l1hErYp8QQfFiWVTf7QowZszOyHJu-OJDKaXSg,9114
95
96
  pixeltable/functions/together.py,sha256=JhMzIHx58w1o1Z2qfOoYuk1z51Jx7tHOmVBGd1TNNp8,10319
96
97
  pixeltable/functions/util.py,sha256=GgKTzCjvzUQNjWtSObTkfxkvJ9GVUOzKimY45WhE25M,759
97
- pixeltable/functions/video.py,sha256=yc4Zk4W58Q1Jzmws8VvU-JqIR7rmdCGm8ge-Gu8tF4Y,6703
98
+ pixeltable/functions/video.py,sha256=cxTmtzuchL7ux3qG2V7Dh-wN8zmamXGGvw5WEXUKCVc,6944
98
99
  pixeltable/functions/vision.py,sha256=NIVIiJUzoVmsmqP09RI4flWCHsSXl2Cemky4ZYfYjkU,15486
99
100
  pixeltable/functions/whisper.py,sha256=tPSTb6PO95nH2RoNp1j-mPanGn3bNER4Wpeh-TMat7o,2930
100
- pixeltable/globals.py,sha256=QQAn-RFsy5ZWHVdbihN2LMjTtNBc21xjWSsLn75P55o,34142
101
+ pixeltable/globals.py,sha256=DMoSrmhcZDyOFEIeF4b5nHBJB0DTIZAztQS5-d6Tezk,34652
101
102
  pixeltable/index/__init__.py,sha256=1pdGN3OeoPi7c__0fJYxbiKqRHChdXWlQgh3crO4zZw,102
102
103
  pixeltable/index/base.py,sha256=zo0YvJI3oXiK6hZJztB36ZftKKhLfO75Zq3t-PeQA6M,1556
103
104
  pixeltable/index/btree.py,sha256=C1ABQKLrVBgSWJAyJdgQ1zTP1aTXLXlGmTx1B3q2y-E,2267
104
- pixeltable/index/embedding_index.py,sha256=nBQ24Jyim1s87aGIvcHNjR4uuYvVrGgn_2V8Akhpjyw,11198
105
+ pixeltable/index/embedding_index.py,sha256=WJw98CHzbD1fMI0aXsuynTa93yBRcwKdAZby6AZ9sgQ,10674
105
106
  pixeltable/io/__init__.py,sha256=ZPOMZ5p1tgR2ASG9aVoX2_5gVe72Lh_I-F0roncSx4M,563
106
107
  pixeltable/io/external_store.py,sha256=rfeCO8zegmB5TofP-z0F4en2IXISMONAWqBVmiBiDBU,16670
107
108
  pixeltable/io/fiftyone.py,sha256=nviYiqDOGS5Os374Tl5knGNXpjFlgqcKnSPsBzz60vU,6855
108
- pixeltable/io/globals.py,sha256=0X0sLpVrqPlgNna_vQX4KcBuerdUojZDTyTaX2sKV4I,17838
109
- pixeltable/io/hf_datasets.py,sha256=DV_bHB-LOQB8YC9FK1KYTEgaBPFelk31fYpq8h72eEE,8321
109
+ pixeltable/io/globals.py,sha256=f9FXvtsW9CqswWAbWI4hz5rWxEoUXen7jPv_12OWc9k,18448
110
+ pixeltable/io/hf_datasets.py,sha256=RBexQFxs9_SMB4smbpUHV4_8uZp1Lm3FgTsrwZiJLWk,8479
110
111
  pixeltable/io/label_studio.py,sha256=Dlq-2iVBadDnU0xOn3duLbpBJxiegY04XkWsmqQTXwk,31242
111
- pixeltable/io/pandas.py,sha256=eKoo0tTPnKJUGOIc8VUV1gamsoeOPO6pOtXJyEV_W84,9594
112
- pixeltable/io/parquet.py,sha256=2i3YAQd-ZifxJv4JUU5Ysh7p6SemozBncd989bSl_qw,8745
112
+ pixeltable/io/pandas.py,sha256=4Q0wATRYpuRE61VmFfGcaRgWWfSY1APlouVfUthXUKA,9163
113
+ pixeltable/io/parquet.py,sha256=mLGG9qcQVEZuYvNdrrOw03bcPwEfUaJi9RRCcLM3jpY,8567
114
+ pixeltable/io/utils.py,sha256=pOv7qzn74oy5F9M4GzZZWHULdzQt3Xkjbi0k6I7a9yY,4578
113
115
  pixeltable/iterators/__init__.py,sha256=r5NYNF7qsepOPJnywG5N7jTz3Z1ubrbSzD19JK97cCM,431
114
- pixeltable/iterators/audio.py,sha256=UfWAzUAq33bqN5R7-kFK4LN2VUukhgZhAsnoHuOm2CU,9092
116
+ pixeltable/iterators/audio.py,sha256=d42Frm4c5TbV8Subi7GD8cqbtFzDoleq14Y6HkHhwXc,9130
115
117
  pixeltable/iterators/base.py,sha256=ZC0ZvXL4iw6AmT8cu-Mdx-T2UG9nmJYV1C6LK4efAfw,1669
116
118
  pixeltable/iterators/document.py,sha256=aBx_112XVy64k1aCU9EuBiXr4-k16WG3mAxqYrnZ1Rg,20253
117
119
  pixeltable/iterators/image.py,sha256=nWm-03CxNvHRdTr8U6PvWEnEiquqIQNG5rB-3Y44Mm4,3440
118
120
  pixeltable/iterators/string.py,sha256=8ghLGnraDO1IvO7Oie6jq9eZoBWB972TYMOpIwtLJuc,1269
119
- pixeltable/iterators/video.py,sha256=MZSZJaHTHOFRUc4CxVkOig4dW6k5yYwBodtCoWvarNo,9234
120
- pixeltable/metadata/__init__.py,sha256=0px1VDuaNuLPmkjOnZ6wzOBY0TQmAPQVbzDJdCdjEOk,2282
121
+ pixeltable/iterators/video.py,sha256=hsmTOC4jQ7k0f7T65eVyPU0lDLhR3L6cknVP3_Y4KUc,9202
122
+ pixeltable/metadata/__init__.py,sha256=6W6qXwOKOLXzsmw-WuJf4bANzu4c4kc4oFtvR1p4xJo,2326
121
123
  pixeltable/metadata/converters/convert_10.py,sha256=SkGCdL4JmFmb4-E9k8DUOyQ6vWuOcWQcAkBVf3BABfI,719
122
124
  pixeltable/metadata/converters/convert_12.py,sha256=Ci-qyZW1gqci-8wnjeOB5afdq7KTuN-hVSV9OqSPx8g,162
123
125
  pixeltable/metadata/converters/convert_13.py,sha256=yFR6lD3pOrZ46ZQBFKYvxiIYa7rRxh46Bsq7yiCBNak,1356
124
126
  pixeltable/metadata/converters/convert_14.py,sha256=9e_JNm3a35Gs4dvFFaV-_jtCqp3ud6OEOqMIhTQmasE,428
125
- pixeltable/metadata/converters/convert_15.py,sha256=u2FIDy3j9dzQ--k4sXsS5UQdieLELepvV8kBqdsQBYE,1717
127
+ pixeltable/metadata/converters/convert_15.py,sha256=xZnF1CtYtYg0flifEYrObjoLvDwFAfpWbTis9cYr-Hw,1789
126
128
  pixeltable/metadata/converters/convert_16.py,sha256=9sRigN4h3UHEurV1zAwO8AwE_ERkvxNVTUPFiV9h4MU,493
127
129
  pixeltable/metadata/converters/convert_17.py,sha256=LmE8uAk2yPRN5Ddk8I_KOZjUGBKSUe-s-PoJl9ltWEE,878
128
130
  pixeltable/metadata/converters/convert_18.py,sha256=SylkXMoBPXwKEmUV72ah_5xSGNNLPWwib3km0tUE-68,1461
@@ -134,24 +136,28 @@ pixeltable/metadata/converters/convert_23.py,sha256=_FG8YO1KnuDRxsSh4iGy8sakelJS
134
136
  pixeltable/metadata/converters/convert_24.py,sha256=muYhcooDfG4lHiO9o3MMB6lEH4rS4GFaTdaAQ-_i5X4,2346
135
137
  pixeltable/metadata/converters/convert_25.py,sha256=3sCXMbHiLJWMvbghj-XaeW4_1xSECivlbsdGtGSmntE,620
136
138
  pixeltable/metadata/converters/convert_26.py,sha256=XaVYFFtlpuUD3bN_UAr9ONgaSkJg5u7xtqmbVICWuYE,673
137
- pixeltable/metadata/converters/util.py,sha256=_-cqvxxHwxEgCvoOJHs2EFLjAq2yD0QzW1SlgzAEfmI,6098
138
- pixeltable/metadata/notes.py,sha256=2gQ0fAdAWOKxvzZ5DVBdmTk62q_KFGRFmv0tzi7tklE,841
139
- pixeltable/metadata/schema.py,sha256=kv-PIMfG_NysET1k71iwIkBVlK5HwdnotXUvFeLaxaY,9470
139
+ pixeltable/metadata/converters/convert_27.py,sha256=Y92DsrvR8tZib0X_vutYN06R0RaGMoHI6vxzdPc3jxE,982
140
+ pixeltable/metadata/converters/convert_28.py,sha256=06u5h0UzydDDJgAYjuvlZpCzyUJDtFJdUGof35kI9tU,710
141
+ pixeltable/metadata/converters/convert_29.py,sha256=Uz6zPqFEhxSYQGtu9Mlzkx2YEQPEJUy63T-GAb4h_YE,4952
142
+ pixeltable/metadata/converters/util.py,sha256=5UkfblxgTcLSrEHfbAm3DzA9qxexCByeVbNkawa4S_M,6687
143
+ pixeltable/metadata/notes.py,sha256=COTHgI5SFX0TwlPvC-VVnKEKPXsP4NdgFcCnapHVyuc,1039
144
+ pixeltable/metadata/schema.py,sha256=eqoteUSlveXkAimUgr0kiL95NJfl4PLjflQf3Zz5rPw,9686
140
145
  pixeltable/plan.py,sha256=ZTXpt10Rexvfm3_68CLQzUAS7YubZjbUJLbAN-RZDps,42385
141
146
  pixeltable/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
- pixeltable/share/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
- pixeltable/share/packager.py,sha256=QcMRI5qihNzO9Wcku-KpA8N7jUCkygrJUyyHB5XAGAA,10233
147
+ pixeltable/share/__init__.py,sha256=AdHOJsQ__Q2ER_3iw0d8pZekewfdEs19luN8HauU6P8,38
148
+ pixeltable/share/packager.py,sha256=CWip_Ukve6eHDd33cN68gVgrqi-3zCCaHA0r4yQLh8U,11704
149
+ pixeltable/share/publish.py,sha256=PS74aAB9C_4gdjGslPfJmVy3soOJw2wvcmLOl8K1q5c,3868
144
150
  pixeltable/store.py,sha256=uQKW9A3RWVVuP6bnQx22jhs5_WxQKx3rV0sGpdoBUzY,22555
145
- pixeltable/type_system.py,sha256=c1kVcnX2Siu_V4DDn6DVF7nnDSNzFlDFw583WnWsUIc,50927
146
- pixeltable/utils/__init__.py,sha256=UYlrf6TIWJT0g-Hac0b34-dEk478B5Qx8dGco34YlIk,439
147
- pixeltable/utils/arrow.py,sha256=EVFTHXt1r1b-rbvgG-TOjvl6GiAtm1hH-86A449cKTw,3901
151
+ pixeltable/type_system.py,sha256=QE8Q29dFu9gCM8gLI2dcG3sD0oNYOI2fYbsFwTuFom8,51707
152
+ pixeltable/utils/__init__.py,sha256=Pwgu-Sg1XkxzdCZ4ZhWP77UgLP3tnQsyCKaUJLF4ajo,1741
153
+ pixeltable/utils/arrow.py,sha256=cCWJWvMH2HTjPmye5sp6tZn-tqOwbHWXci9BJYkmTYA,5227
148
154
  pixeltable/utils/coco.py,sha256=dl-IYO4VgfFly4-TvvF9Rw9XK2yY6HGTuL7LcyQk_RA,7290
149
155
  pixeltable/utils/code.py,sha256=SbG5OUF_fQAbOgGZHDuENijmbzisVqa4VS9guaZ0KtU,1231
150
156
  pixeltable/utils/console_output.py,sha256=GJ1oJWanP8_an343CEB35rtc1kcVW1FQtT3vRT4SZPs,1148
151
157
  pixeltable/utils/description_helper.py,sha256=VGcVOj2jSJSR_2CeY2nnn-amZLkcU5F2uI3Ad7G5upA,3741
152
158
  pixeltable/utils/documents.py,sha256=APFujdYq1qe2Do4KAUI0te35jh4925geR9UB8GeFQ1w,2932
153
159
  pixeltable/utils/filecache.py,sha256=sYofh-6TwkQbwe8X64eUt27itSJ8o5rY10HYZJShbbI,10703
154
- pixeltable/utils/formatter.py,sha256=5E_gDg11ClFI-5SthwkiqyE3hAok3JHDj4OSK9cJklM,9257
160
+ pixeltable/utils/formatter.py,sha256=HB6qpQDT7A0BeDgxZUvH91A2y24F33LmgIDWne3rqcE,9225
155
161
  pixeltable/utils/http_server.py,sha256=zsESVjtG1P6hrz-d2N1m6_BChqPt8N3f-EO9sJbWnLs,2388
156
162
  pixeltable/utils/iceberg.py,sha256=L_s9G9NMIGMQdRHtNkks6ntTVW4DKKAw97R9gRmtw5s,553
157
163
  pixeltable/utils/media_store.py,sha256=kSQ6YwQPRQzOhhCChS2hYmY9HxXX1fRq_M_FgkfsYU8,3091
@@ -159,8 +165,8 @@ pixeltable/utils/pytorch.py,sha256=8lJT1SyP9jTMN7uLtrj9T_rGPEYRID44rWXbjBhRUrU,3
159
165
  pixeltable/utils/s3.py,sha256=pxip2MlCqd2Qon2dzJXzfxvwtZyc-BAsjAnLL4J_OXY,587
160
166
  pixeltable/utils/sql.py,sha256=JX_fNI_SJWVUcXif5ho5qVhfJKFupOCFLLrHCMcbzLk,796
161
167
  pixeltable/utils/transactional_directory.py,sha256=4Q8UTylEyw-aZa-NVjfjGR9_JHRJTGQH1k1LNFaZukY,1349
162
- pixeltable-0.3.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
163
- pixeltable-0.3.4.dist-info/METADATA,sha256=nM9QtJyu9ljdyn9ktpCuNLf9uaReun1Lo83BG9zR9Z4,19428
164
- pixeltable-0.3.4.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
165
- pixeltable-0.3.4.dist-info/entry_points.txt,sha256=ToOd-pRgG7AitEBgYoBCRRB4-KVDQ0pj_9T4a1LgwA4,97
166
- pixeltable-0.3.4.dist-info/RECORD,,
168
+ pixeltable-0.3.5.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
169
+ pixeltable-0.3.5.dist-info/METADATA,sha256=nC5GuOA9uMFi7ciAGMO1Ev0dA3mSdl5x4d2G4OSUtlo,18899
170
+ pixeltable-0.3.5.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
171
+ pixeltable-0.3.5.dist-info/entry_points.txt,sha256=ToOd-pRgG7AitEBgYoBCRRB4-KVDQ0pj_9T4a1LgwA4,97
172
+ pixeltable-0.3.5.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.1
2
+ Generator: poetry-core 2.1.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any