pixeltable 0.4.0rc3__py3-none-any.whl → 0.4.20__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 (202) hide show
  1. pixeltable/__init__.py +23 -5
  2. pixeltable/_version.py +1 -0
  3. pixeltable/catalog/__init__.py +5 -3
  4. pixeltable/catalog/catalog.py +1318 -404
  5. pixeltable/catalog/column.py +186 -115
  6. pixeltable/catalog/dir.py +1 -2
  7. pixeltable/catalog/globals.py +11 -43
  8. pixeltable/catalog/insertable_table.py +167 -79
  9. pixeltable/catalog/path.py +61 -23
  10. pixeltable/catalog/schema_object.py +9 -10
  11. pixeltable/catalog/table.py +626 -308
  12. pixeltable/catalog/table_metadata.py +101 -0
  13. pixeltable/catalog/table_version.py +713 -569
  14. pixeltable/catalog/table_version_handle.py +37 -6
  15. pixeltable/catalog/table_version_path.py +42 -29
  16. pixeltable/catalog/tbl_ops.py +50 -0
  17. pixeltable/catalog/update_status.py +191 -0
  18. pixeltable/catalog/view.py +108 -94
  19. pixeltable/config.py +128 -22
  20. pixeltable/dataframe.py +188 -100
  21. pixeltable/env.py +407 -136
  22. pixeltable/exceptions.py +6 -0
  23. pixeltable/exec/__init__.py +3 -0
  24. pixeltable/exec/aggregation_node.py +7 -8
  25. pixeltable/exec/cache_prefetch_node.py +83 -110
  26. pixeltable/exec/cell_materialization_node.py +231 -0
  27. pixeltable/exec/cell_reconstruction_node.py +135 -0
  28. pixeltable/exec/component_iteration_node.py +4 -3
  29. pixeltable/exec/data_row_batch.py +8 -65
  30. pixeltable/exec/exec_context.py +16 -4
  31. pixeltable/exec/exec_node.py +13 -36
  32. pixeltable/exec/expr_eval/evaluators.py +7 -6
  33. pixeltable/exec/expr_eval/expr_eval_node.py +27 -12
  34. pixeltable/exec/expr_eval/globals.py +8 -5
  35. pixeltable/exec/expr_eval/row_buffer.py +1 -2
  36. pixeltable/exec/expr_eval/schedulers.py +190 -30
  37. pixeltable/exec/globals.py +32 -0
  38. pixeltable/exec/in_memory_data_node.py +18 -18
  39. pixeltable/exec/object_store_save_node.py +293 -0
  40. pixeltable/exec/row_update_node.py +16 -9
  41. pixeltable/exec/sql_node.py +206 -101
  42. pixeltable/exprs/__init__.py +1 -1
  43. pixeltable/exprs/arithmetic_expr.py +27 -22
  44. pixeltable/exprs/array_slice.py +3 -3
  45. pixeltable/exprs/column_property_ref.py +34 -30
  46. pixeltable/exprs/column_ref.py +92 -96
  47. pixeltable/exprs/comparison.py +5 -5
  48. pixeltable/exprs/compound_predicate.py +5 -4
  49. pixeltable/exprs/data_row.py +152 -55
  50. pixeltable/exprs/expr.py +62 -43
  51. pixeltable/exprs/expr_dict.py +3 -3
  52. pixeltable/exprs/expr_set.py +17 -10
  53. pixeltable/exprs/function_call.py +75 -37
  54. pixeltable/exprs/globals.py +1 -2
  55. pixeltable/exprs/in_predicate.py +4 -4
  56. pixeltable/exprs/inline_expr.py +10 -27
  57. pixeltable/exprs/is_null.py +1 -3
  58. pixeltable/exprs/json_mapper.py +8 -8
  59. pixeltable/exprs/json_path.py +56 -22
  60. pixeltable/exprs/literal.py +5 -5
  61. pixeltable/exprs/method_ref.py +2 -2
  62. pixeltable/exprs/object_ref.py +2 -2
  63. pixeltable/exprs/row_builder.py +127 -53
  64. pixeltable/exprs/rowid_ref.py +8 -12
  65. pixeltable/exprs/similarity_expr.py +50 -25
  66. pixeltable/exprs/sql_element_cache.py +4 -4
  67. pixeltable/exprs/string_op.py +5 -5
  68. pixeltable/exprs/type_cast.py +3 -5
  69. pixeltable/func/__init__.py +1 -0
  70. pixeltable/func/aggregate_function.py +8 -8
  71. pixeltable/func/callable_function.py +9 -9
  72. pixeltable/func/expr_template_function.py +10 -10
  73. pixeltable/func/function.py +18 -20
  74. pixeltable/func/function_registry.py +6 -7
  75. pixeltable/func/globals.py +2 -3
  76. pixeltable/func/mcp.py +74 -0
  77. pixeltable/func/query_template_function.py +20 -18
  78. pixeltable/func/signature.py +43 -16
  79. pixeltable/func/tools.py +23 -13
  80. pixeltable/func/udf.py +18 -20
  81. pixeltable/functions/__init__.py +6 -0
  82. pixeltable/functions/anthropic.py +93 -33
  83. pixeltable/functions/audio.py +114 -10
  84. pixeltable/functions/bedrock.py +13 -6
  85. pixeltable/functions/date.py +1 -1
  86. pixeltable/functions/deepseek.py +20 -9
  87. pixeltable/functions/fireworks.py +2 -2
  88. pixeltable/functions/gemini.py +28 -11
  89. pixeltable/functions/globals.py +13 -13
  90. pixeltable/functions/groq.py +108 -0
  91. pixeltable/functions/huggingface.py +1046 -23
  92. pixeltable/functions/image.py +9 -18
  93. pixeltable/functions/llama_cpp.py +23 -8
  94. pixeltable/functions/math.py +3 -4
  95. pixeltable/functions/mistralai.py +4 -15
  96. pixeltable/functions/ollama.py +16 -9
  97. pixeltable/functions/openai.py +104 -82
  98. pixeltable/functions/openrouter.py +143 -0
  99. pixeltable/functions/replicate.py +2 -2
  100. pixeltable/functions/reve.py +250 -0
  101. pixeltable/functions/string.py +21 -28
  102. pixeltable/functions/timestamp.py +13 -14
  103. pixeltable/functions/together.py +4 -6
  104. pixeltable/functions/twelvelabs.py +92 -0
  105. pixeltable/functions/util.py +6 -1
  106. pixeltable/functions/video.py +1388 -106
  107. pixeltable/functions/vision.py +7 -7
  108. pixeltable/functions/whisper.py +15 -7
  109. pixeltable/functions/whisperx.py +179 -0
  110. pixeltable/{ext/functions → functions}/yolox.py +2 -4
  111. pixeltable/globals.py +332 -105
  112. pixeltable/index/base.py +13 -22
  113. pixeltable/index/btree.py +23 -22
  114. pixeltable/index/embedding_index.py +32 -44
  115. pixeltable/io/__init__.py +4 -2
  116. pixeltable/io/datarows.py +7 -6
  117. pixeltable/io/external_store.py +49 -77
  118. pixeltable/io/fiftyone.py +11 -11
  119. pixeltable/io/globals.py +29 -28
  120. pixeltable/io/hf_datasets.py +17 -9
  121. pixeltable/io/label_studio.py +70 -66
  122. pixeltable/io/lancedb.py +3 -0
  123. pixeltable/io/pandas.py +12 -11
  124. pixeltable/io/parquet.py +13 -93
  125. pixeltable/io/table_data_conduit.py +71 -47
  126. pixeltable/io/utils.py +3 -3
  127. pixeltable/iterators/__init__.py +2 -1
  128. pixeltable/iterators/audio.py +21 -11
  129. pixeltable/iterators/document.py +116 -55
  130. pixeltable/iterators/image.py +5 -2
  131. pixeltable/iterators/video.py +293 -13
  132. pixeltable/metadata/__init__.py +4 -2
  133. pixeltable/metadata/converters/convert_18.py +2 -2
  134. pixeltable/metadata/converters/convert_19.py +2 -2
  135. pixeltable/metadata/converters/convert_20.py +2 -2
  136. pixeltable/metadata/converters/convert_21.py +2 -2
  137. pixeltable/metadata/converters/convert_22.py +2 -2
  138. pixeltable/metadata/converters/convert_24.py +2 -2
  139. pixeltable/metadata/converters/convert_25.py +2 -2
  140. pixeltable/metadata/converters/convert_26.py +2 -2
  141. pixeltable/metadata/converters/convert_29.py +4 -4
  142. pixeltable/metadata/converters/convert_34.py +2 -2
  143. pixeltable/metadata/converters/convert_36.py +2 -2
  144. pixeltable/metadata/converters/convert_37.py +15 -0
  145. pixeltable/metadata/converters/convert_38.py +39 -0
  146. pixeltable/metadata/converters/convert_39.py +124 -0
  147. pixeltable/metadata/converters/convert_40.py +73 -0
  148. pixeltable/metadata/converters/util.py +13 -12
  149. pixeltable/metadata/notes.py +4 -0
  150. pixeltable/metadata/schema.py +79 -42
  151. pixeltable/metadata/utils.py +74 -0
  152. pixeltable/mypy/__init__.py +3 -0
  153. pixeltable/mypy/mypy_plugin.py +123 -0
  154. pixeltable/plan.py +274 -223
  155. pixeltable/share/__init__.py +1 -1
  156. pixeltable/share/packager.py +259 -129
  157. pixeltable/share/protocol/__init__.py +34 -0
  158. pixeltable/share/protocol/common.py +170 -0
  159. pixeltable/share/protocol/operation_types.py +33 -0
  160. pixeltable/share/protocol/replica.py +109 -0
  161. pixeltable/share/publish.py +213 -57
  162. pixeltable/store.py +238 -175
  163. pixeltable/type_system.py +104 -63
  164. pixeltable/utils/__init__.py +2 -3
  165. pixeltable/utils/arrow.py +108 -13
  166. pixeltable/utils/av.py +298 -0
  167. pixeltable/utils/azure_store.py +305 -0
  168. pixeltable/utils/code.py +3 -3
  169. pixeltable/utils/console_output.py +4 -1
  170. pixeltable/utils/coroutine.py +6 -23
  171. pixeltable/utils/dbms.py +31 -5
  172. pixeltable/utils/description_helper.py +4 -5
  173. pixeltable/utils/documents.py +5 -6
  174. pixeltable/utils/exception_handler.py +7 -30
  175. pixeltable/utils/filecache.py +6 -6
  176. pixeltable/utils/formatter.py +4 -6
  177. pixeltable/utils/gcs_store.py +283 -0
  178. pixeltable/utils/http_server.py +2 -3
  179. pixeltable/utils/iceberg.py +1 -2
  180. pixeltable/utils/image.py +17 -0
  181. pixeltable/utils/lancedb.py +88 -0
  182. pixeltable/utils/local_store.py +316 -0
  183. pixeltable/utils/misc.py +5 -0
  184. pixeltable/utils/object_stores.py +528 -0
  185. pixeltable/utils/pydantic.py +60 -0
  186. pixeltable/utils/pytorch.py +5 -6
  187. pixeltable/utils/s3_store.py +392 -0
  188. pixeltable-0.4.20.dist-info/METADATA +587 -0
  189. pixeltable-0.4.20.dist-info/RECORD +218 -0
  190. {pixeltable-0.4.0rc3.dist-info → pixeltable-0.4.20.dist-info}/WHEEL +1 -1
  191. pixeltable-0.4.20.dist-info/entry_points.txt +2 -0
  192. pixeltable/__version__.py +0 -3
  193. pixeltable/ext/__init__.py +0 -17
  194. pixeltable/ext/functions/__init__.py +0 -11
  195. pixeltable/ext/functions/whisperx.py +0 -77
  196. pixeltable/utils/media_store.py +0 -77
  197. pixeltable/utils/s3.py +0 -17
  198. pixeltable/utils/sample.py +0 -25
  199. pixeltable-0.4.0rc3.dist-info/METADATA +0 -435
  200. pixeltable-0.4.0rc3.dist-info/RECORD +0 -189
  201. pixeltable-0.4.0rc3.dist-info/entry_points.txt +0 -3
  202. {pixeltable-0.4.0rc3.dist-info → pixeltable-0.4.20.dist-info/licenses}/LICENSE +0 -0
@@ -1,435 +0,0 @@
1
- Metadata-Version: 2.3
2
- Name: pixeltable
3
- Version: 0.4.0rc3
4
- Summary: AI Data Infrastructure: Declarative, Multimodal, and Incremental
5
- License: Apache-2.0
6
- Keywords: data-science,machine-learning,database,ai,computer-vision,chatbot,ml,artificial-intelligence,feature-engineering,multimodal,mlops,feature-store,vector-database,llm,genai
7
- Author: Pixeltable, Inc.
8
- Author-email: contact@pixeltable.com>
9
- Requires-Python: >=3.10
10
- Classifier: Intended Audience :: Developers
11
- Classifier: Intended Audience :: Science/Research
12
- Classifier: License :: OSI Approved :: Apache Software License
13
- Classifier: Operating System :: MacOS
14
- Classifier: Operating System :: Microsoft :: Windows
15
- Classifier: Operating System :: POSIX :: Linux
16
- Classifier: Programming Language :: Python :: 3.10
17
- Classifier: Programming Language :: Python :: 3.11
18
- Classifier: Programming Language :: Python :: 3.12
19
- Classifier: Programming Language :: Python :: 3.13
20
- Classifier: Topic :: Database
21
- Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
- Requires-Dist: av (>=10.0.0)
24
- Requires-Dist: beautifulsoup4 (>=4.0.0)
25
- Requires-Dist: cloudpickle (>=2.2.1)
26
- Requires-Dist: ftfy (>=6.2.0)
27
- Requires-Dist: httpcore (>=1.0.3)
28
- Requires-Dist: httpx (>=0.27)
29
- Requires-Dist: jinja2 (>=3.1.3)
30
- Requires-Dist: jmespath (>=1.0.1)
31
- Requires-Dist: jsonschema (>=4.1.0)
32
- Requires-Dist: lxml (>=5.0)
33
- Requires-Dist: more-itertools (>=10.2)
34
- Requires-Dist: nest_asyncio (>=1.5)
35
- Requires-Dist: numpy (>=1.25)
36
- Requires-Dist: pandas (>=2.0,<3.0)
37
- Requires-Dist: pgvector (>=0.2.1)
38
- Requires-Dist: pillow (>=9.3.0)
39
- Requires-Dist: pillow-heif (>=0.15.0)
40
- Requires-Dist: pixeltable-pgserver (==0.3.1)
41
- Requires-Dist: psutil (>=5.9.5)
42
- Requires-Dist: psycopg[binary] (>=3.1.18)
43
- Requires-Dist: puremagic (>=1.20)
44
- Requires-Dist: pyarrow (>=13.0.0)
45
- Requires-Dist: pydantic (>=2.7.4)
46
- Requires-Dist: pymupdf (>=1.24.1)
47
- Requires-Dist: pyyaml (>=6.0.1)
48
- Requires-Dist: requests (>=2.31.0)
49
- Requires-Dist: sqlalchemy (>=2.0.23)
50
- Requires-Dist: tenacity (>=8.2)
51
- Requires-Dist: toml (>=0.10)
52
- Requires-Dist: tqdm (>=4.64)
53
- Project-URL: Documentation, https://docs.pixeltable.com/
54
- Project-URL: Homepage, https://pixeltable.com/
55
- Project-URL: Repository, https://github.com/pixeltable/pixeltable
56
- Description-Content-Type: text/markdown
57
-
58
- <div align="center">
59
- <img src="https://raw.githubusercontent.com/pixeltable/pixeltable/main/docs/resources/pixeltable-logo-large.png"
60
- alt="Pixeltable Logo" width="50%" />
61
- <br></br>
62
-
63
- <h2>Declarative Data Infrastructure for Multimodal AI Apps</h2>
64
-
65
- [![License](https://img.shields.io/badge/License-Apache%202.0-0530AD.svg)](https://opensource.org/licenses/Apache-2.0)
66
- ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pixeltable?logo=python&logoColor=white&)
67
- ![Platform Support](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-E5DDD4)
68
- <br>
69
- [![tests status](https://github.com/pixeltable/pixeltable/actions/workflows/pytest.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/pytest.yml)
70
- [![tests status](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml/badge.svg)](https://github.com/pixeltable/pixeltable/actions/workflows/nightly.yml)
71
- [![PyPI Package](https://img.shields.io/pypi/v/pixeltable?color=4D148C)](https://pypi.org/project/pixeltable/)
72
- [![My Discord (1306431018890166272)](https://img.shields.io/badge/💬-Discord-%235865F2.svg)](https://discord.gg/QPyqFYx2UN)
73
-
74
- [**Installation**](https://docs.pixeltable.com/docs/overview/installation) |
75
- [**Quick Start**](https://docs.pixeltable.com/docs/overview/quick-start) |
76
- [**Documentation**](https://docs.pixeltable.com/) |
77
- [**API Reference**](https://pixeltable.github.io/pixeltable/) |
78
- [**Examples**](https://docs.pixeltable.com/docs/examples/use-cases) |
79
- [**Discord Community**](https://discord.gg/QPyqFYx2UN)
80
-
81
- </div>
82
-
83
- ---
84
-
85
- Pixeltable is the only Python framework that provides incremental storage, transformation, indexing, and orchestration of your multimodal data.
86
-
87
- ## 😩 Maintaining Production-Ready Multimodal AI Apps is Still Too Hard
88
-
89
- Building robust AI applications, especially [multimodal](https://docs.pixeltable.com/docs/datastore/bringing-data) ones, requires stitching together numerous tools:
90
- * ETL pipelines for data loading and transformation.
91
- * Vector databases for semantic search.
92
- * Feature stores for ML models.
93
- * Orchestrators for scheduling.
94
- * Model serving infrastructure for inference.
95
- * Separate systems for parallelization, caching, versioning, and lineage tracking.
96
-
97
- This complex "data plumbing" slows down development, increases costs, and makes applications brittle and hard to reproduce.
98
-
99
- ## 💾 Installation
100
-
101
- ```python
102
- pip install pixeltable
103
- ```
104
-
105
- **Pixeltable is a database.** It stores metadata and computed results persistently, typically in a `.pixeltable` directory in your workspace. See [configuration](https://docs.pixeltable.com/docs/overview/configuration) options for your setup.
106
-
107
- ## ✨ What is Pixeltable?
108
-
109
- With Pixeltable, you define your *entire* data processing and AI workflow declaratively using **[computed columns](https://docs.pixeltable.com/docs/datastore/computed-columns)** on **[tables](https://docs.pixeltable.com/docs/datastore/tables-and-operations)**. Pixeltable's engine then automatically handles:
110
-
111
- * **Data Ingestion & Storage:** References [files](https://docs.pixeltable.com/docs/datastore/bringing-data) (images, videos, audio, docs) in place, handles structured data.
112
- * **Transformation & Processing:** Applies *any* Python function ([UDFs](https://docs.pixeltable.com/docs/datastore/custom-functions)) or built-in operations ([chunking, frame extraction](https://docs.pixeltable.com/docs/datastore/iterators)) automatically.
113
- * **AI Model Integration:** Runs inference ([embeddings](https://docs.pixeltable.com/docs/datastore/embedding-index), [object detection](https://docs.pixeltable.com/docs/examples/vision/yolox), [LLMs](https://docs.pixeltable.com/docs/integrations/frameworks#cloud-llm-providers)) as part of the data pipeline.
114
- * **Indexing & Retrieval:** Creates and manages vector indexes for fast [semantic search](https://docs.pixeltable.com/docs/datastore/embedding-index#phase-3%3A-query) alongside traditional filtering.
115
- * **Incremental Computation:** Only [recomputes](https://docs.pixeltable.com/docs/overview/quick-start) what's necessary when data or code changes, saving time and cost.
116
- * **Versioning & Lineage:** Automatically tracks data and schema changes for reproducibility.
117
-
118
- **Focus on your application logic, not the infrastructure.**
119
-
120
-
121
- ## 🚀 Key Features
122
-
123
- * **[Unified Multimodal Interface:](https://docs.pixeltable.com/docs/datastore/tables-and-operations)** `pxt.Image`, `pxt.Video`, `pxt.Audio`, `pxt.Document`, etc. – manage diverse data consistently.
124
- ```python
125
- t = pxt.create_table(
126
- 'media',
127
- {
128
- 'img': pxt.Image,
129
- 'video': pxt.Video
130
- }
131
- )
132
- ```
133
-
134
- * **[Declarative Computed Columns:](https://docs.pixeltable.com/docs/datastore/computed-columns)** Define processing steps once; they run automatically on new/updated data.
135
- ```python
136
- t.add_computed_column(
137
- classification=huggingface.vit_for_image_classification(
138
- t.image
139
- )
140
- )
141
- ```
142
-
143
- * **[Built-in Vector Search:](https://docs.pixeltable.com/docs/datastore/embedding-index)** Add embedding indexes and perform similarity searches directly on tables/views.
144
- ```python
145
- t.add_embedding_index(
146
- 'img',
147
- embedding=clip.using(
148
- model_id='openai/clip-vit-base-patch32'
149
- )
150
- )
151
-
152
- sim = t.img.similarity("cat playing with yarn")
153
- ```
154
-
155
- * **[On-the-Fly Data Views:](https://docs.pixeltable.com/docs/datastore/views)** Create virtual tables using iterators for efficient processing without data duplication.
156
- ```python
157
- frames = pxt.create_view(
158
- 'frames',
159
- videos,
160
- iterator=FrameIterator.create(
161
- video=videos.video,
162
- fps=1
163
- )
164
- )
165
- ```
166
-
167
- * **[Seamless AI Integration:](https://docs.pixeltable.com/docs/integrations/frameworks)** Built-in functions for OpenAI, Anthropic, Hugging Face, CLIP, YOLOX, and more.
168
- ```python
169
- t.add_computed_column(
170
- response=openai.chat_completions(
171
- messages=[{"role": "user", "content": t.prompt}]
172
- )
173
- )
174
- ```
175
-
176
- * **[Bring Your Own Code:](https://docs.pixeltable.com/docs/datastore/custom-functions)** Extend Pixeltable with simple Python User-Defined Functions.
177
- ```python
178
- @pxt.udf
179
- def format_prompt(context: list, question: str) -> str:
180
- return f"Context: {context}\nQuestion: {question}"
181
- ```
182
-
183
- * **[Agentic Workflows / Tool Calling:](https://docs.pixeltable.com/docs/examples/chat/tools)** Register `@pxt.udf` or `@pxt.query` functions as tools and orchestrate LLM-based tool use (incl. multimodal).
184
- ```python
185
- # Example tools: a UDF and a Query function for RAG
186
- tools = pxt.tools(get_weather_udf, search_context_query)
187
-
188
- # LLM decides which tool to call; Pixeltable executes it
189
- t.add_computed_column(
190
- tool_output=invoke_tools(tools, t.llm_tool_choice)
191
- )
192
- ```
193
-
194
- * **[Persistent & Versioned:](https://docs.pixeltable.com/docs/datastore/tables-and-operations#data-operations)** All data, metadata, and computed results are automatically stored.
195
- ```python
196
- t.revert() # Revert to a previous version
197
- stored_table = pxt.get_table('my_existing_table') # Retrieve persisted table
198
- ```
199
-
200
- * **[SQL-like Python Querying:](https://docs.pixeltable.com/docs/datastore/filtering-and-selecting)** Familiar syntax combined with powerful AI capabilities.
201
- ```python
202
- results = (
203
- t.where(t.score > 0.8)
204
- .order_by(t.timestamp)
205
- .select(t.image, score=t.score)
206
- .limit(10)
207
- .collect()
208
- )
209
- ```
210
-
211
- ## 💡 Key Examples
212
-
213
- *(See the [Full Quick Start](https://docs.pixeltable.com/docs/overview/quick-start) or [Notebook Gallery](#-notebook-gallery) for more details)*
214
-
215
- **1. Multimodal Data Store and Data Transformation (Computed Column):**
216
- ```bash
217
- pip install pixeltable
218
- ```
219
-
220
- ```python
221
- import pixeltable as pxt
222
-
223
- # Create a table
224
- t = pxt.create_table(
225
- 'films',
226
- {'name': pxt.String, 'revenue': pxt.Float, 'budget': pxt.Float},
227
- if_exists="replace"
228
- )
229
-
230
- t.insert([
231
- {'name': 'Inside Out', 'revenue': 800.5, 'budget': 200.0},
232
- {'name': 'Toy Story', 'revenue': 1073.4, 'budget': 200.0}
233
- ])
234
-
235
- # Add a computed column for profit - runs automatically!
236
- t.add_computed_column(profit=(t.revenue - t.budget), if_exists="replace")
237
-
238
- # Query the results
239
- print(t.select(t.name, t.profit).collect())
240
- # Output includes the automatically computed 'profit' column
241
- ```
242
-
243
- **2. Object Detection with [YOLOX](https://github.com/pixeltable/pixeltable-yolox):**
244
-
245
- ```bash
246
- pip install pixeltable pixeltable-yolox
247
- ```
248
-
249
- ```python
250
- import PIL
251
- import pixeltable as pxt
252
- from yolox.models import Yolox
253
- from yolox.data.datasets import COCO_CLASSES
254
-
255
- t = pxt.create_table('image', {'image': pxt.Image}, if_exists='replace')
256
-
257
- # Insert some images
258
- prefix = 'https://upload.wikimedia.org/wikipedia/commons'
259
- paths = [
260
- '/1/15/Cat_August_2010-4.jpg',
261
- '/e/e1/Example_of_a_Dog.jpg',
262
- '/thumb/b/bf/Bird_Diversity_2013.png/300px-Bird_Diversity_2013.png'
263
- ]
264
- t.insert({'image': prefix + p} for p in paths)
265
-
266
- @pxt.udf
267
- def detect(image: PIL.Image.Image) -> list[str]:
268
- model = Yolox.from_pretrained("yolox_s")
269
- result = model([image])
270
- coco_labels = [COCO_CLASSES[label] for label in result[0]["labels"]]
271
- return coco_labels
272
-
273
- t.add_computed_column(classification=detect(t.image))
274
-
275
- print(t.select().collect())
276
- ```
277
-
278
- **3. Image Similarity Search (CLIP Embedding Index):**
279
-
280
- ```bash
281
- pip install pixeltable sentence-transformers
282
- ```
283
-
284
- ```python
285
- import pixeltable as pxt
286
- from pixeltable.functions.huggingface import clip
287
-
288
- # Create image table and add sample images
289
- images = pxt.create_table('my_images', {'img': pxt.Image}, if_exists='replace')
290
- images.insert([
291
- {'img': 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Orange_tabby_cat_sitting_on_fallen_leaves-Hisashi-01A.jpg/1920px-Orange_tabby_cat_sitting_on_fallen_leaves-Hisashi-01A.jpg'},
292
- {'img': 'https://upload.wikimedia.org/wikipedia/commons/d/d5/Retriever_in_water.jpg'}
293
- ])
294
-
295
- # Add CLIP embedding index for similarity search
296
- images.add_embedding_index(
297
- 'img',
298
- embedding=clip.using(model_id='openai/clip-vit-base-patch32')
299
- )
300
-
301
- # Text-based image search
302
- query_text = "a dog playing fetch"
303
- sim_text = images.img.similarity(query_text)
304
- results_text = images.order_by(sim_text, asc=False).limit(3).select(
305
- image=images.img, similarity=sim_text
306
- ).collect()
307
- print("--- Text Query Results ---")
308
- print(results_text)
309
-
310
- # Image-based image search
311
- query_image_url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Huskiesatrest.jpg/2880px-Huskiesatrest.jpg'
312
- sim_image = images.img.similarity(query_image_url)
313
- results_image = images.order_by(sim_image, asc=False).limit(3).select(
314
- image=images.img, similarity=sim_image
315
- ).collect()
316
- print("--- Image URL Query Results ---")
317
- print(results_image)
318
- ```
319
-
320
- **4. Multimodal/Incremental RAG Workflow (Document Chunking & LLM Call):**
321
-
322
- ```bash
323
- pip install pixeltable openai spacy sentence-transformers
324
- ```
325
-
326
- ```bash
327
- python -m spacy download en_core_web_sm
328
- ```
329
-
330
- ```python
331
- import pixeltable as pxt
332
- import pixeltable.functions as pxtf
333
- from pixeltable.functions import openai, huggingface
334
- from pixeltable.iterators import DocumentSplitter
335
-
336
- # Manage your tables by directories
337
- directory = "my_docs"
338
- pxt.drop_dir(directory, if_not_exists="ignore", force=True)
339
- pxt.create_dir("my_docs")
340
-
341
- # Create a document table and add a PDF
342
- docs = pxt.create_table(f'{directory}.docs', {'doc': pxt.Document})
343
- docs.insert([{'doc': 'https://github.com/pixeltable/pixeltable/raw/release/docs/resources/rag-demo/Jefferson-Amazon.pdf'}])
344
-
345
- # Create chunks view with sentence-based splitting
346
- chunks = pxt.create_view(
347
- 'doc_chunks',
348
- docs,
349
- iterator=DocumentSplitter.create(document=docs.doc, separators='sentence')
350
- )
351
-
352
- # Explicitly create the embedding function object
353
- embed_model = huggingface.sentence_transformer.using(model_id='all-MiniLM-L6-v2')
354
- # Add embedding index using the function object
355
- chunks.add_embedding_index('text', string_embed=embed_model)
356
-
357
- # Define query function for retrieval - Returns a DataFrame expression
358
- @pxt.query
359
- def get_relevant_context(query_text: str, limit: int = 3):
360
- sim = chunks.text.similarity(query_text)
361
- # Return a list of strings (text of relevant chunks)
362
- return chunks.order_by(sim, asc=False).limit(limit).select(chunks.text)
363
-
364
- # Build a simple Q&A table
365
- qa = pxt.create_table(f'{directory}.qa_system', {'prompt': pxt.String})
366
-
367
- # 1. Add retrieved context (now a list of strings)
368
- qa.add_computed_column(context=get_relevant_context(qa.prompt))
369
-
370
- # 2. Format the prompt with context
371
- qa.add_computed_column(
372
- final_prompt=pxtf.string.format(
373
- """
374
- PASSAGES:
375
- {0}
376
-
377
- QUESTION:
378
- {1}
379
- """,
380
- qa.context,
381
- qa.prompt
382
- )
383
- )
384
-
385
- # 4. Generate the answer using the well-formatted prompt column
386
- qa.add_computed_column(
387
- answer=openai.chat_completions(
388
- model='gpt-4o-mini',
389
- messages=[{
390
- 'role': 'user',
391
- 'content': qa.final_prompt
392
- }]
393
- ).choices[0].message.content
394
- )
395
-
396
- # Ask a question and get the answer
397
- qa.insert([{'prompt': 'What can you tell me about Amazon?'}])
398
- print("--- Final Answer ---")
399
- print(qa.select(qa.answer).collect())
400
- ```
401
-
402
- ## 📚 Notebook Gallery
403
-
404
- Explore Pixeltable's capabilities interactively:
405
-
406
- | Topic | Notebook | Topic | Notebook |
407
- |:----------|:-----------------|:-------------------------|:---------------------------------:|
408
- | **Fundamentals** | | **Integrations** | |
409
- | 10-Min Tour | <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> | OpenAI | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/integrations/working-with-openai.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> |
410
- | Tables & Ops | <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> | Anthropic | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/integrations/working-with-anthropic.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> |
411
- | 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> | Together AI | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/integrations/working-with-together.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> |
412
- | Embedding Index | <a target="_blank" href="https://colab.research.google.com/github/pixeltable/pixeltable/blob/release/docs/notebooks/feature-guides/embedding-and-vector-indexes.ipynb"> <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> </a> | Label Studio | <a target="_blank" href="https://docs.pixeltable.com/docs/cookbooks/vision/label-studio"> <img src="https://img.shields.io/badge/📚%20Docs-013056" alt="Visit Docs"/></a> |
413
- | 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> | Mistral | <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"/> |
414
- | **Use Cases** | | **Sample Apps** | |
415
- | RAG Demo | <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"/> | Multimodal Agent | <a target="_blank" href="https://huggingface.co/spaces/Pixeltable/Multimodal-Powerhouse"> <img src="https://img.shields.io/badge/🤗%20Demo-FF7D04" alt="HF Space"/></a> |
416
- | Object Detection | <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> | Image/Text 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/🖥️%20App-black.svg" alt="GitHub App"/> |
417
- | Audio Transcription | <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"/> | 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%20Bot-%235865F2.svg" alt="GitHub App"/></a> |
418
-
419
- ## 🔮 Roadmap (2025)
420
-
421
- ### Cloud Infrastructure and Deployment
422
- We're working on a hosted Pixeltable service that will:
423
-
424
- - Enable Multimodal Data Sharing of Pixeltable Tables and Views
425
- - Provide a persistent cloud instance
426
- - Turn Pixeltable workflows (Tables, Queries, UDFs) into API endpoints/[MCP Servers](https://github.com/pixeltable/pixeltable-mcp-server)
427
-
428
- ## 🤝 Contributing
429
-
430
- We love contributions! Whether it's reporting bugs, suggesting features, improving documentation, or submitting code changes, please check out our [Contributing Guide](CONTRIBUTING.md) and join the [Discussions](https://github.com/pixeltable/pixeltable/discussions) or our [Discord Server](https://discord.gg/QPyqFYx2UN).
431
-
432
- ## 🏢 License
433
-
434
- Pixeltable is licensed under the Apache 2.0 License.
435
-
@@ -1,189 +0,0 @@
1
- pixeltable/__init__.py,sha256=-uXHuiXH98kAlCupUTPbkBh4ToZgxcYUOk7-c9hqCC8,1439
2
- pixeltable/__version__.py,sha256=l1gVhW4YjeNouBt4ti5Rxsd1ETc8Ls5nKRC8aMceXrM,120
3
- pixeltable/catalog/__init__.py,sha256=rQmjveID4bk6NI4Ql09lGsZ0K0HVE2l1yqKAveipHzc,558
4
- pixeltable/catalog/catalog.py,sha256=ExHm2bbAs_4-T6zq3ow2fQ5a9Zja6G3WzHoo3Qk0X40,59399
5
- pixeltable/catalog/column.py,sha256=v3SE6CQs_ZXTDkBeiJ7gu9sxBJD-6EbkjsB1TZvLSJI,11280
6
- pixeltable/catalog/dir.py,sha256=HFemOf67Nfw13EOpQsR_UgzP2L1w4LDfw2009DrSK0Y,2063
7
- pixeltable/catalog/globals.py,sha256=7fNUs67D18PZ1ZajcGz7KQOV6tuXEcYLSrePzgmDkRw,4036
8
- pixeltable/catalog/insertable_table.py,sha256=tl3tvMVPzi9A_SRARV6660NQnt8w09hNbOYZwMsSJw8,9195
9
- pixeltable/catalog/named_function.py,sha256=vZ-j7P4HugWh9OmUzBMwyRYvO3tQn9jWyJz_1stPavU,1210
10
- pixeltable/catalog/path.py,sha256=gk8TIlO_7Jpji5mAN0dUNvHmvU0uneTHeB_qCTWnszQ,2529
11
- pixeltable/catalog/schema_object.py,sha256=B9Am6W1bWnAMFZ4qFTfYw6g8F0-q_2aezBB1bUHL_RY,1812
12
- pixeltable/catalog/table.py,sha256=JUiQPQP33486KiPVio8aBTibNGUYwulDgU1UfGDaprU,68609
13
- pixeltable/catalog/table_version.py,sha256=1dq2uq-I2E4d2SkBMA5MQFqkutPQCi-7HlNo24Trrjw,66775
14
- pixeltable/catalog/table_version_handle.py,sha256=E0iPIp2PUbE7r3WZzerBJ7fgKX3vaTWPnn6cOwKLF-A,2581
15
- pixeltable/catalog/table_version_path.py,sha256=2JEprCdDzCfr9dPxlMhsQ80jYqJ0-8uBNgNXt3D-bao,9042
16
- pixeltable/catalog/view.py,sha256=1UN-k0Ck0IWyy2Ae5b520L08GAfQ17L4FaZtS2bQ-TA,14786
17
- pixeltable/config.py,sha256=gnRI4G9GE7mQJDcMcn8JsEzYk8oKVfHB-BwoLRWnRDo,3971
18
- pixeltable/dataframe.py,sha256=L1lNcfHtxxRw_b8kgkmvcuYXQyniAzwLnI4ww79P5B4,60393
19
- pixeltable/env.py,sha256=BtBxkKgU3wi6_0rfor3k3Kx6SF660JH24sWprbBzB8w,36132
20
- pixeltable/exceptions.py,sha256=eI2f4oXqv678_fDOxeYOTPE_EF1CMX3pwCqtJvN8i7s,926
21
- pixeltable/exec/__init__.py,sha256=hQvj4ra4ubxu94qyuCBTHKsuYGzundkTTluOTIb5Bx8,524
22
- pixeltable/exec/aggregation_node.py,sha256=HqzISO1nv7_DFyqjZLRkjtbDJl9fIEto1i6Kh5ru8vA,4498
23
- pixeltable/exec/cache_prefetch_node.py,sha256=GOa70eJDFY3FQV3VvJOrUVI8LFvro-r-V6sh3w-eJAc,12130
24
- pixeltable/exec/component_iteration_node.py,sha256=FZszWHrzsjHxCbUTwXtJIlgQqgYtvKZB6QWiDGkfIbs,4757
25
- pixeltable/exec/data_row_batch.py,sha256=EAB15JRhXbWIe91x1J5N5lFiMXzjB8NGTFjZsBDSbf8,3393
26
- pixeltable/exec/exec_context.py,sha256=jKeLStfkjwCKKAooC-7a7qZUnZU5O0_JQhanhVerV9c,984
27
- pixeltable/exec/exec_node.py,sha256=WIN1sBEBNS7TlBk5QpHsDUCZUUdcvs6Os_Bxq2HoWdo,4077
28
- pixeltable/exec/expr_eval/__init__.py,sha256=sQThSEByK_DLfB-_-18RFhpARx49cSXYEkpCDyi0vQI,61
29
- pixeltable/exec/expr_eval/evaluators.py,sha256=-6s_y29Wh8p35SVKkXtnA0NkzcHVw1Z8PgHGiFrMsqs,17135
30
- pixeltable/exec/expr_eval/expr_eval_node.py,sha256=ABkC2yAcMSCtQ7AvNAn6rfj3AMscVzezttKSs1ExNhw,18972
31
- pixeltable/exec/expr_eval/globals.py,sha256=fFrj2O53TgHDfVF8dgnyn1fPLi4ZHQuylewf5aHMwYk,7752
32
- pixeltable/exec/expr_eval/row_buffer.py,sha256=YY0thdlMNNReEOTyPp36xKPeMeXSZ0VrI9bJsXgo7sU,2744
33
- pixeltable/exec/expr_eval/schedulers.py,sha256=tAvCQKa1q0x7y7cdnGcTGbeku8QcoKH1GkgSm8ktOnM,17000
34
- pixeltable/exec/in_memory_data_node.py,sha256=vmxD2Jwn15Wjkf_3wufr35SPjb60H_I4zpUKaO1Zo_s,3592
35
- pixeltable/exec/row_update_node.py,sha256=zU0eSyn81-vRrjAMOadRqU8luTshnPUtIbS7npyLBKY,2798
36
- pixeltable/exec/sql_node.py,sha256=MM9wD0AMXh11qJayhMgieCJ36hww-ym1p7kfS2y9-wM,26540
37
- pixeltable/exprs/__init__.py,sha256=AxSMjKNavCT9F6vBaNR-nwX2iupAI5hbMb5hEj65Tfk,1096
38
- pixeltable/exprs/arithmetic_expr.py,sha256=sZPao0qdFWbrDx0eiAVxw1wGHJXZ5ZoCpQaScysBldE,7333
39
- pixeltable/exprs/array_slice.py,sha256=8Zv0E2RghdJi1Mbk0kKtOz2ccGQuXwLLb6R9v1jk7hA,2180
40
- pixeltable/exprs/column_property_ref.py,sha256=28UcsrMIoXmMy6DAgJ0GP6Vw4sYwXcspVySmKSvejaE,4178
41
- pixeltable/exprs/column_ref.py,sha256=LljuQiNYh6dQa_EV57ylPfNkQD-lfHBFTGDY8WlnnfY,14942
42
- pixeltable/exprs/comparison.py,sha256=lgaRx000ZaNH10A4hrtsi5XoZKE-CNEONGMi7jxJfcM,5133
43
- pixeltable/exprs/compound_predicate.py,sha256=vJVRVueAmaKnjiHCLWyh8wHgktzzK0DVqbOIQJgTjF8,3801
44
- pixeltable/exprs/data_row.py,sha256=8p0eWunvg_2ZH-e7Gtz_woxBAoizaCV2QtN87Is8_ys,11484
45
- pixeltable/exprs/expr.py,sha256=YFPL81s9N1_Obl15zpk_yYUvKqVoBT8fpAXhkYqgHLs,36000
46
- pixeltable/exprs/expr_dict.py,sha256=2ZeZ0eACx3VrRNEOjipuT5WxOIzjXQ_DSip8NTH0KRo,1584
47
- pixeltable/exprs/expr_set.py,sha256=OlRTbHAAYH2fOEs1HE-8DIu7Z247xVfoT_9Y58GZoOQ,2559
48
- pixeltable/exprs/function_call.py,sha256=_PxrEACVyiihdQdmTiiSv5WkZfOXSQFcGO18wPueM_Y,21989
49
- pixeltable/exprs/globals.py,sha256=NIi16GCPYNFNrhDC0_IemHjFZEtbILJNmdxdguSdy00,2315
50
- pixeltable/exprs/in_predicate.py,sha256=u98JmBX9XsglKe5uCy1NUMnyi3wioBri_tue2vI9_sk,3799
51
- pixeltable/exprs/inline_expr.py,sha256=XYVKKXZN9BtHN5qlvZna-mgdOlot6WcmPu5usRBYei0,7972
52
- pixeltable/exprs/is_null.py,sha256=NfA_485hfT69pWyY6u8BhykDUkz5k91AH93azGu6lCg,1087
53
- pixeltable/exprs/json_mapper.py,sha256=bJSB39sZgpN9KS0RReDnUhTCwg-4Y4cgXXaFNy3o3wU,7035
54
- pixeltable/exprs/json_path.py,sha256=sFuDjfz8_rlea4TKd68CS4pQTUiLDi68YwsgcQRHffI,7162
55
- pixeltable/exprs/literal.py,sha256=OCJL_pw_WKqx3bXMEwL6yNaKVAKDtGRzSZUFwucRxZI,4860
56
- pixeltable/exprs/method_ref.py,sha256=NNhJTGo7luZLh8EJdFIZAax9LiiqqDCEK1AwPmHip0w,2642
57
- pixeltable/exprs/object_ref.py,sha256=idYFcT27jv0BjtJT3paL37xDrZZc35_3eCJyQOIqdZU,1999
58
- pixeltable/exprs/row_builder.py,sha256=LL8q_8AthTqH8duWqKwdaS8DlvUsC8chclzQRR4MJAE,21150
59
- pixeltable/exprs/rowid_ref.py,sha256=SCPsDx3R55wtK-ND2xQQdV823RdeTF5HTcQ76e40NOE,5186
60
- pixeltable/exprs/similarity_expr.py,sha256=i0UUnMSKKGXd3Uksu6FU2NvkfG0qzfzfi-GPy-LdutM,3688
61
- pixeltable/exprs/sql_element_cache.py,sha256=c7Q6vFK4xnf9vmcRYnXiAcwPBBwmw0dolftM4BwDO8c,1359
62
- pixeltable/exprs/string_op.py,sha256=8GkqYpZrSJjHX1ghsUMI9Op2NJyBbvmLWJwDYf_vad0,4171
63
- pixeltable/exprs/type_cast.py,sha256=_nDzTxg5kXVGLewI0FrH2zmwJzgptdxYd5Jvuyig0UI,2322
64
- pixeltable/exprs/variable.py,sha256=UwWwaNECbtwyC8v0g8iqCa3a6mO8z9lK7ta5NrlCwvs,1493
65
- pixeltable/ext/__init__.py,sha256=UgDXWzGWiQIrwOuEvWTePLBcR2kecllPAE7gp-42Awg,457
66
- pixeltable/ext/functions/__init__.py,sha256=Ox3kUHn5IslVEmEKsjrHfkHDrUkmLl9RCO2YkrPJkgc,193
67
- pixeltable/ext/functions/whisperx.py,sha256=qda6kFQSvZTY2asfrYPwHb1cvSa03LbhJ-Wf9b7qPhw,2355
68
- pixeltable/ext/functions/yolox.py,sha256=dX22nMb-0n2hZi7WhZ1Y4LIpFk5loyeXXuSUcc2Fgrg,3724
69
- pixeltable/func/__init__.py,sha256=2BtyvXvFrLF0S5Qnmtg9S7dDSEVoBh5GDX6XFC25d7o,509
70
- pixeltable/func/aggregate_function.py,sha256=5_MgqHAlMaacX2sPIHv_auTvYXtqR5MIZy_WqYQSdho,13264
71
- pixeltable/func/callable_function.py,sha256=g_pA-g631YcFGLix9PpHYfgjOeS2qF0Csm1VxX8fah0,9278
72
- pixeltable/func/expr_template_function.py,sha256=wEidKrOBTZkA3U1PAtG6-6RlDFiiRJszIG4zNOuPcNY,5940
73
- pixeltable/func/function.py,sha256=w1U3j8XNeE4ZZ-rKuG13aTa8YGFkWAXjalh4j29_-e4,23136
74
- pixeltable/func/function_registry.py,sha256=7AQ1bdF2DJbTRn9xx6s5cC_VHtCBXGt_GyJJEjJHcMw,12308
75
- pixeltable/func/globals.py,sha256=5Wo4GPxYgHRRk5nvV0h_lAthKSalxKvj5n1p-uMPR0U,1501
76
- pixeltable/func/query_template_function.py,sha256=25nvgadWgk16BU7X5uI7PvKfkoluJSuOqsAcY5AN-Yw,7915
77
- pixeltable/func/signature.py,sha256=0PI6xdhLgwy9-GMkzkm7GlsBnsNMiS9aoNI9LWXwvN0,13700
78
- pixeltable/func/tools.py,sha256=bmHnnd9lXkQ8sYHp5RSMF56NimSTE3uhG2xbIxs4Np4,5726
79
- pixeltable/func/udf.py,sha256=qQfaX1O3ZhUvSgiNnitW7nRKnZFJ5yu_Fj9ioqQgjqg,13219
80
- pixeltable/functions/__init__.py,sha256=x_ZodeEtayD2XDjlDZE4L_QTzajF6riftIc5P4ZjEiY,578
81
- pixeltable/functions/anthropic.py,sha256=G2E0sH5vP933eZZxhz1tOByy5cg6N2XPvhSqIBzqufo,8782
82
- pixeltable/functions/audio.py,sha256=7bsm4igQEW7RYSrSevwqaUOqyEnvBbPbJ8c-VknDl1E,657
83
- pixeltable/functions/bedrock.py,sha256=lTCFHjYunF3minBGWcjXR90yJ8resFjXr4niyKhfxms,4217
84
- pixeltable/functions/date.py,sha256=WUwqyrOWB8A00cTNEd6Vd7anQZo40_-7EWhpfpI-P6c,5323
85
- pixeltable/functions/deepseek.py,sha256=IAo2e_DhkM0A5NrskxuPQUGYzIYAl4do_mdO1Qc3PeY,3338
86
- pixeltable/functions/fireworks.py,sha256=q7eWlYfiWbA0d9r3CB_NAe1fw3q-Z7qsw2gyGJNgWLQ,4786
87
- pixeltable/functions/gemini.py,sha256=ZsbySkoMdOgZEUfFUccDbIdrbLb6DGRxzD88fHW-cRI,8317
88
- pixeltable/functions/globals.py,sha256=ZXBV2LPXT2-yQYHHE7q8N1WdAr0WxiIO1ax0qwxhmK8,5118
89
- pixeltable/functions/huggingface.py,sha256=KM1OH0Jt6XWF2jfpHb6rGhi1mV-AQNYAsHAyQfzW4qw,20560
90
- pixeltable/functions/image.py,sha256=IKXljMma-uU88efptC3F4aywau7DYcD-Nqd3YpmRNRw,13971
91
- pixeltable/functions/json.py,sha256=d7-AvwytUQtQYF_JnWJkptT_Yq0NgMpWfVk-m3U6qTY,807
92
- pixeltable/functions/llama_cpp.py,sha256=1QB4vQ7J4Za1mL93bRIBXgokNtpzzYr_QU6KF27i9xo,3919
93
- pixeltable/functions/math.py,sha256=eZEFjXxNHDHjcCsOMhzfNbJthTsmtNxtSFV8AEeRIfM,4979
94
- pixeltable/functions/mistralai.py,sha256=PTXQegC2LO5Pw0zXBO_SVV7I2c5qBvqVVgfm_mK1ir0,5845
95
- pixeltable/functions/ollama.py,sha256=4-6h9Foq_7Ut7JtEHGkeg1KbuKaFywSuMrKiw0xAyCA,4231
96
- pixeltable/functions/openai.py,sha256=kzi8HApD971O54Xl82G0jI7n0E2ui476kV1wAKObx88,27768
97
- pixeltable/functions/replicate.py,sha256=SLMPNi44QMa16TVTImZRkNMXXyRZ0mmpnK6P5uXQE0k,2467
98
- pixeltable/functions/string.py,sha256=LdBNOna5PUSPmM5VlJ_qhmwzyFhumW0k6Dvx2rXSZtc,25356
99
- pixeltable/functions/timestamp.py,sha256=0zp4urJagCcNLfJE0ltTCft-J9qs2C716TmRngKYaa0,9171
100
- pixeltable/functions/together.py,sha256=A8J19BXywyWQ6a2_n05-8uIG5jquOBGqPmW3mb-NrIc,8842
101
- pixeltable/functions/util.py,sha256=lVya13gcao8T34OGX7zy1cglQPNwaBbSBw57bVPyHNs,745
102
- pixeltable/functions/video.py,sha256=jS4YhMofD448YhGtI6ZXBAkeGw_AYYQTN0AbgHh_hok,6933
103
- pixeltable/functions/vision.py,sha256=_a0wY3akkVhWnnxlq__1VzSLylytlNadpNOOPOwSfLk,15393
104
- pixeltable/functions/whisper.py,sha256=c9E6trhc2UcShVaGaEBCUEpArke1ql3MV5We0qSgmuU,2960
105
- pixeltable/globals.py,sha256=cM3uKvDJWIs1I9A8rzXaZsKCDSaLBh7KVb1lakQqGzk,32377
106
- pixeltable/index/__init__.py,sha256=97aFuxiP_oz1ldn5iq8IWApkOV8XG6ZIBW5-9rkS0vM,122
107
- pixeltable/index/base.py,sha256=200s7v3Zy810bRlbSAYzxxaEjVssl6r8esTHiSvWRwQ,1704
108
- pixeltable/index/btree.py,sha256=8B06D67ay0DFUtEBC5q4bLjxMq7ILpKyyoLAiSaamzA,2503
109
- pixeltable/index/embedding_index.py,sha256=B_k_3UJmSv7t2ljUg8GC_D4t1jc03PVsTAvxqiTmHBA,11754
110
- pixeltable/io/__init__.py,sha256=Yjq13pBCBoaZv-OkIY2XSusVOC5b6cB5C6NbgJq5H1g,620
111
- pixeltable/io/datarows.py,sha256=p1UGxQOTjqI6kgQNAa3aj8TkylcNDtaGBTorOg_Pk84,6088
112
- pixeltable/io/external_store.py,sha256=0ayZybxKRc600n-W7-3kEo0n_6LjAkIz-B4kLoPyukc,15554
113
- pixeltable/io/fiftyone.py,sha256=v0r28bIk2I0TRP5DfVHtBIUa4DpIJDK5sgExxOmHZ_w,6882
114
- pixeltable/io/globals.py,sha256=Z8ww-Pcm59ql1tvame8z0Mu1thIy5BPbW-TswGRXt4s,11368
115
- pixeltable/io/hf_datasets.py,sha256=gWyBH_0iFvxcrrxMY9_W399ZRcNDCmWFOAMmb1apnY0,5246
116
- pixeltable/io/label_studio.py,sha256=rEJCN4hmONRMXVGkj1Cq_E-wowcvg6d7KToXxheOh2w,31242
117
- pixeltable/io/pandas.py,sha256=AbOeRDlA4MvUvianSKixsU-x-64nasPWw4HCHD6emz4,8981
118
- pixeltable/io/parquet.py,sha256=-cxyy9wMRzGFDJWhUIjACfQMyAmajyoFcTXSkB8qESE,7818
119
- pixeltable/io/table_data_conduit.py,sha256=oag9BDAjz6CZCCvZWuk3FnBNWb_m01bUzvbM0BW8tPI,21997
120
- pixeltable/io/utils.py,sha256=YMfhpqMitWz1PhXJGkCNOgNtEM1AZ55S0zXVhljC5kY,4260
121
- pixeltable/iterators/__init__.py,sha256=bU4EmbX85J1URmRw6G71f2I77b1ctqngEOwDmRB3T0w,455
122
- pixeltable/iterators/audio.py,sha256=wSVGdL5GeO3uY_lU-pNlY49E5dExIaJWY6oaXm-MnSU,9150
123
- pixeltable/iterators/base.py,sha256=ZC0ZvXL4iw6AmT8cu-Mdx-T2UG9nmJYV1C6LK4efAfw,1669
124
- pixeltable/iterators/document.py,sha256=wJYSnzusJFaxipv5y0uQw-surN9fFz0Aq-s7w_l_Yk8,20306
125
- pixeltable/iterators/image.py,sha256=nWm-03CxNvHRdTr8U6PvWEnEiquqIQNG5rB-3Y44Mm4,3440
126
- pixeltable/iterators/string.py,sha256=URj5edWp-CsorjN_8nnfWGvtIFs_Zh4VPm6htlJbFkU,1257
127
- pixeltable/iterators/video.py,sha256=L5S1YPmT_zM11vW9fK6d5nQpUvHVewQWmfDmy4BD45E,9134
128
- pixeltable/metadata/__init__.py,sha256=fZ3HaB-L8lHJdrtmKqfIJJlvYG0CqzzxKFRrh9IWoa0,3154
129
- pixeltable/metadata/converters/convert_10.py,sha256=myYIo1DyccnsQUxDKG6mafnU5ge_EhZpHg_pesKBoK4,708
130
- pixeltable/metadata/converters/convert_12.py,sha256=Ci-qyZW1gqci-8wnjeOB5afdq7KTuN-hVSV9OqSPx8g,162
131
- pixeltable/metadata/converters/convert_13.py,sha256=B-_EkL0pSl1mAiv6DymeUAyBQUcYcV1qDdNz3Q359kc,1369
132
- pixeltable/metadata/converters/convert_14.py,sha256=9e_JNm3a35Gs4dvFFaV-_jtCqp3ud6OEOqMIhTQmasE,428
133
- pixeltable/metadata/converters/convert_15.py,sha256=wKTdBt8p9GlUM3yBZFX-37J0c0_xc5SK0SXooxtDQJY,1722
134
- pixeltable/metadata/converters/convert_16.py,sha256=9sRigN4h3UHEurV1zAwO8AwE_ERkvxNVTUPFiV9h4MU,493
135
- pixeltable/metadata/converters/convert_17.py,sha256=LmE8uAk2yPRN5Ddk8I_KOZjUGBKSUe-s-PoJl9ltWEE,878
136
- pixeltable/metadata/converters/convert_18.py,sha256=SylkXMoBPXwKEmUV72ah_5xSGNNLPWwib3km0tUE-68,1461
137
- pixeltable/metadata/converters/convert_19.py,sha256=NfU9Z6svr-x0UwVhjj1NTIZxV0QaDttGv9SIB4v_j0U,2036
138
- pixeltable/metadata/converters/convert_20.py,sha256=M6w3FuJypRsqUUX3K1b5sTKaQcOug6asosMfnhbUv_c,2746
139
- pixeltable/metadata/converters/convert_21.py,sha256=w35qzY6EfxBap3r_WEdXKTmtczsGV9KKfBOR18Ivl84,1095
140
- pixeltable/metadata/converters/convert_22.py,sha256=rQu4kCyCI0UguU2D4fJK8YqS-01DnOTs6H0Puzu_TV8,591
141
- pixeltable/metadata/converters/convert_23.py,sha256=95o72p2A_7ZTVG4N8tJLVPHg34uuIWh7AYxowfwrHc4,1134
142
- pixeltable/metadata/converters/convert_24.py,sha256=4A78PIXvYGDtml478u0vHy0eDWfdAjLQEf3xxAXn-pU,2346
143
- pixeltable/metadata/converters/convert_25.py,sha256=VYSejFDv5CGu25pe4wWsQCLjJOxmFk39feYA3so1D7k,620
144
- pixeltable/metadata/converters/convert_26.py,sha256=XaVYFFtlpuUD3bN_UAr9ONgaSkJg5u7xtqmbVICWuYE,673
145
- pixeltable/metadata/converters/convert_27.py,sha256=1P7DSAXPwHqkXvNxFqjIOcdI8dlsL8ikfaaveBvQHyM,904
146
- pixeltable/metadata/converters/convert_28.py,sha256=v2CqpXAbCTQ-3gbn_ZtSl0fXueK1Q7VDECbIc7Ci1VQ,694
147
- pixeltable/metadata/converters/convert_29.py,sha256=aBqZeXiYbtcAX3MiuEgqPkfzd8Hu8oNYjO-lJafmfOg,4912
148
- pixeltable/metadata/converters/convert_30.py,sha256=HZsGfXNl0KCPNMu1lnEtIMp0sZhwWtWpYuJQKUoNx3k,1314
149
- pixeltable/metadata/converters/convert_31.py,sha256=pFjZGpuFlGRPxKYYidiSCIMNaEEXVuLTnELi3y_pSQo,424
150
- pixeltable/metadata/converters/convert_32.py,sha256=YENfuQ_mqhnZWrvHJffaGEqd1IwS2RjTGPkEvOs5sUs,406
151
- pixeltable/metadata/converters/convert_33.py,sha256=ZZV3FTyyouBM1eNymXxfHV-Oqmgu2s0KNP6AG3zc5eM,574
152
- pixeltable/metadata/converters/convert_34.py,sha256=1hi7m49CMzHRD25rrePS-SMCsZ-4opzDhY0JqU8Jzw4,690
153
- pixeltable/metadata/converters/convert_35.py,sha256=c88qft0RFQbdFIE_PZRHMjeku1r5HCLN7wrvndQSXdI,266
154
- pixeltable/metadata/converters/convert_36.py,sha256=g1rhZhAYfZpAwUgE3D1aipIR4RNvikhbKcrnBJzm0wM,1215
155
- pixeltable/metadata/converters/util.py,sha256=95pfg9amEOmhho32PIbNYnqagVIN9adIcLXxB6zSYDY,7527
156
- pixeltable/metadata/notes.py,sha256=7HKk4yQLh8zaTVgv4pGXvpn3PoF5x7OFO8YSog5TLHI,1408
157
- pixeltable/metadata/schema.py,sha256=5r-loBIyYiZdkbszrLdn0XktOgDh96UVp_GScmm-14g,11489
158
- pixeltable/plan.py,sha256=bL6B32J63P1QtGjLhwwcfbh2SrSEeuyb1Zh6txdKQ6Q,52136
159
- pixeltable/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
- pixeltable/share/__init__.py,sha256=AtR4nS6YkfkFRkXA-zZXFTK5pSQjHry8MnxdVLUk5SA,68
161
- pixeltable/share/packager.py,sha256=udwsorQDWX0N9eHcPHlT5xyAeUxGvT7DBnsFuq8PALM,32149
162
- pixeltable/share/publish.py,sha256=U6PzOUYiZaPu-sVNjh2nN8qzY2-uMsYeTwQCCuGk7Jg,6537
163
- pixeltable/store.py,sha256=2tfMgJNVVbGShgAKghGAIFMZ-ViJHE7N9kWd2ugbi2A,24691
164
- pixeltable/type_system.py,sha256=DSrof2NgKhBzvt7pbDNrGlZ3rkkDJ7MQsQ9rqk9N9pA,53988
165
- pixeltable/utils/__init__.py,sha256=Pwgu-Sg1XkxzdCZ4ZhWP77UgLP3tnQsyCKaUJLF4ajo,1741
166
- pixeltable/utils/arrow.py,sha256=74wIy58rDYZJBVQ1g85NqzFyiQBvEQhnJ0Gi82iZ0dw,6421
167
- pixeltable/utils/coco.py,sha256=Y1DWVYguZD4VhKyf7JruYfHWvhkJLq39fzbiSm5cdyY,7304
168
- pixeltable/utils/code.py,sha256=SbG5OUF_fQAbOgGZHDuENijmbzisVqa4VS9guaZ0KtU,1231
169
- pixeltable/utils/console_output.py,sha256=x23iDnNwUbsr7Ec20BQ7BLATTsrQZflxc9NucAt_sVU,1150
170
- pixeltable/utils/coroutine.py,sha256=IPUqBpwHkDNaioMde7Km3LU8s54SGXVOtRJpYPkm1gE,1425
171
- pixeltable/utils/dbms.py,sha256=cuQqlzLF7WON_mkJZ4QWlfX6lCxA97V32lhtMcOlDLg,2018
172
- pixeltable/utils/description_helper.py,sha256=acibNm36wkZG7h6k8gjcypTD_PVV2SL7YgX6cPYP1i8,3743
173
- pixeltable/utils/documents.py,sha256=x3UHU7eykibyA3eVkSrCK1CQoaid228vp96WUEESssU,3105
174
- pixeltable/utils/exception_handler.py,sha256=yrTAtUJEOhldps_k6aRLEf5yQ8gYGhl9c6ewYNC4Qfc,2476
175
- pixeltable/utils/filecache.py,sha256=8RZZiEkD4awZpR-mn7OhoZPc6_JlPUNSBnMU8BcEAv4,10864
176
- pixeltable/utils/formatter.py,sha256=tbMxE9rBw6wdKUnJhNZ8h9uAF8dZKcihQ2KesqAag9A,10096
177
- pixeltable/utils/http_server.py,sha256=B5iQ1s_VuwsVC7pUm1joGjLZqaluV8_RfFiU8V1FuG8,2453
178
- pixeltable/utils/iceberg.py,sha256=L_s9G9NMIGMQdRHtNkks6ntTVW4DKKAw97R9gRmtw5s,553
179
- pixeltable/utils/media_store.py,sha256=Dhsnj1ZPRSX0iyGOu4JU4pC3fvSBd7sQpruVHqzKm7A,3089
180
- pixeltable/utils/pytorch.py,sha256=564VHRdDHwD9h0v5lBHEDTJ8c6zx8wuzWYx8ZYjBxlI,3621
181
- pixeltable/utils/s3.py,sha256=pxip2MlCqd2Qon2dzJXzfxvwtZyc-BAsjAnLL4J_OXY,587
182
- pixeltable/utils/sample.py,sha256=Pj8oSZw0WsdASD1BpTtKiWP4cwef7KQqVAfIFKlJNxA,643
183
- pixeltable/utils/sql.py,sha256=Sa4Lh-VGe8GToU5W7DRiWf2lMl9B6saPqemiT0ZdHEc,806
184
- pixeltable/utils/transactional_directory.py,sha256=OFKmu90oP7KwBAljwjnzP_w8euGdAXob3y4Nx9SCNHA,1357
185
- pixeltable-0.4.0rc3.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
186
- pixeltable-0.4.0rc3.dist-info/METADATA,sha256=iRhLy9JQXIsjwIOKQnvJBQCJuGfh_Xc56W3dcgWGs-A,20580
187
- pixeltable-0.4.0rc3.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
188
- pixeltable-0.4.0rc3.dist-info/entry_points.txt,sha256=ToOd-pRgG7AitEBgYoBCRRB4-KVDQ0pj_9T4a1LgwA4,97
189
- pixeltable-0.4.0rc3.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- [mkdocstrings.python.templates]
2
- extension-name=tool.doc_plugins.mkdocstrings:get_templates_path
3
-