datachain 0.3.17__py3-none-any.whl → 0.3.19__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 datachain might be problematic. Click here for more details.
- datachain/__init__.py +5 -2
- datachain/cache.py +14 -55
- datachain/catalog/catalog.py +17 -97
- datachain/cli.py +7 -2
- datachain/client/fsspec.py +29 -63
- datachain/client/local.py +2 -3
- datachain/dataset.py +7 -2
- datachain/error.py +6 -4
- datachain/lib/arrow.py +10 -4
- datachain/lib/dc.py +6 -2
- datachain/lib/file.py +64 -28
- datachain/lib/listing.py +2 -0
- datachain/listing.py +4 -4
- datachain/node.py +6 -6
- datachain/nodes_fetcher.py +12 -5
- datachain/nodes_thread_pool.py +1 -1
- datachain/progress.py +2 -12
- datachain/query/dataset.py +6 -40
- datachain/query/dispatch.py +2 -15
- datachain/query/schema.py +25 -24
- datachain/query/udf.py +0 -106
- datachain/sql/types.py +4 -2
- datachain/telemetry.py +37 -0
- datachain/utils.py +11 -0
- {datachain-0.3.17.dist-info → datachain-0.3.19.dist-info}/METADATA +5 -4
- {datachain-0.3.17.dist-info → datachain-0.3.19.dist-info}/RECORD +30 -29
- {datachain-0.3.17.dist-info → datachain-0.3.19.dist-info}/LICENSE +0 -0
- {datachain-0.3.17.dist-info → datachain-0.3.19.dist-info}/WHEEL +0 -0
- {datachain-0.3.17.dist-info → datachain-0.3.19.dist-info}/entry_points.txt +0 -0
- {datachain-0.3.17.dist-info → datachain-0.3.19.dist-info}/top_level.txt +0 -0
datachain/query/udf.py
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import typing
|
|
2
2
|
from collections.abc import Iterable, Iterator, Sequence
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
-
from functools import WRAPPER_ASSIGNMENTS
|
|
5
4
|
from typing import (
|
|
6
5
|
TYPE_CHECKING,
|
|
7
6
|
Any,
|
|
8
|
-
Callable,
|
|
9
|
-
Optional,
|
|
10
|
-
Union,
|
|
11
7
|
)
|
|
12
8
|
|
|
13
9
|
from fsspec.callbacks import DEFAULT_CALLBACK, Callback
|
|
@@ -128,105 +124,3 @@ class UDFBase:
|
|
|
128
124
|
for row_id, signals in zip(row_ids, results)
|
|
129
125
|
if signals is not None # skip rows with no output
|
|
130
126
|
]
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
class UDFClassWrapper:
|
|
134
|
-
"""
|
|
135
|
-
A wrapper for class-based (stateful) UDFs.
|
|
136
|
-
"""
|
|
137
|
-
|
|
138
|
-
def __init__(
|
|
139
|
-
self,
|
|
140
|
-
udf_class: type,
|
|
141
|
-
properties: UDFProperties,
|
|
142
|
-
method: Optional[str] = None,
|
|
143
|
-
):
|
|
144
|
-
self.udf_class = udf_class
|
|
145
|
-
self.udf_method = method
|
|
146
|
-
self.properties = properties
|
|
147
|
-
self.output = properties.output
|
|
148
|
-
|
|
149
|
-
def __call__(self, *args, **kwargs) -> "UDFFactory":
|
|
150
|
-
return UDFFactory(
|
|
151
|
-
self.udf_class,
|
|
152
|
-
args,
|
|
153
|
-
kwargs,
|
|
154
|
-
self.properties,
|
|
155
|
-
self.udf_method,
|
|
156
|
-
)
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
class UDFWrapper(UDFBase):
|
|
160
|
-
"""A wrapper class for function UDFs to be used in custom signal generation."""
|
|
161
|
-
|
|
162
|
-
def __init__(
|
|
163
|
-
self,
|
|
164
|
-
func: Callable,
|
|
165
|
-
properties: UDFProperties,
|
|
166
|
-
):
|
|
167
|
-
self.func = func
|
|
168
|
-
super().__init__(properties)
|
|
169
|
-
# This emulates the behavior of functools.wraps for a class decorator
|
|
170
|
-
for attr in WRAPPER_ASSIGNMENTS:
|
|
171
|
-
if hasattr(func, attr):
|
|
172
|
-
setattr(self, attr, getattr(func, attr))
|
|
173
|
-
|
|
174
|
-
def run_once(
|
|
175
|
-
self,
|
|
176
|
-
catalog: "Catalog",
|
|
177
|
-
arg: "UDFInput",
|
|
178
|
-
is_generator: bool = False,
|
|
179
|
-
cache: bool = False,
|
|
180
|
-
cb: Callback = DEFAULT_CALLBACK,
|
|
181
|
-
) -> Iterable[UDFResult]:
|
|
182
|
-
if isinstance(arg, UDFInputBatch):
|
|
183
|
-
udf_inputs = [
|
|
184
|
-
self.bind_parameters(catalog, row, cache=cache, cb=cb)
|
|
185
|
-
for row in arg.rows
|
|
186
|
-
]
|
|
187
|
-
udf_outputs = self.func(udf_inputs)
|
|
188
|
-
return self._process_results(arg.rows, udf_outputs, is_generator)
|
|
189
|
-
if isinstance(arg, RowDict):
|
|
190
|
-
udf_inputs = self.bind_parameters(catalog, arg, cache=cache, cb=cb)
|
|
191
|
-
udf_outputs = self.func(*udf_inputs)
|
|
192
|
-
if not is_generator:
|
|
193
|
-
# udf_outputs is generator already if is_generator=True
|
|
194
|
-
udf_outputs = [udf_outputs]
|
|
195
|
-
return self._process_results([arg], udf_outputs, is_generator)
|
|
196
|
-
raise ValueError(f"Unexpected UDF argument: {arg}")
|
|
197
|
-
|
|
198
|
-
# This emulates the behavior of functools.wraps for a class decorator
|
|
199
|
-
def __repr__(self):
|
|
200
|
-
return repr(self.func)
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
class UDFFactory:
|
|
204
|
-
"""
|
|
205
|
-
A wrapper for late instantiation of UDF classes, primarily for use in parallelized
|
|
206
|
-
execution.
|
|
207
|
-
"""
|
|
208
|
-
|
|
209
|
-
def __init__(
|
|
210
|
-
self,
|
|
211
|
-
udf_class: type,
|
|
212
|
-
args,
|
|
213
|
-
kwargs,
|
|
214
|
-
properties: UDFProperties,
|
|
215
|
-
method: Optional[str] = None,
|
|
216
|
-
):
|
|
217
|
-
self.udf_class = udf_class
|
|
218
|
-
self.udf_method = method
|
|
219
|
-
self.args = args
|
|
220
|
-
self.kwargs = kwargs
|
|
221
|
-
self.properties = properties
|
|
222
|
-
self.output = properties.output
|
|
223
|
-
|
|
224
|
-
def __call__(self) -> UDFWrapper:
|
|
225
|
-
udf_func = self.udf_class(*self.args, **self.kwargs)
|
|
226
|
-
if self.udf_method:
|
|
227
|
-
udf_func = getattr(udf_func, self.udf_method)
|
|
228
|
-
|
|
229
|
-
return UDFWrapper(udf_func, self.properties)
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
UDFType = Union[UDFBase, UDFFactory]
|
datachain/sql/types.py
CHANGED
|
@@ -12,11 +12,11 @@ for sqlite we can use `sqlite.register_converter`
|
|
|
12
12
|
( https://docs.python.org/3/library/sqlite3.html#sqlite3.register_converter )
|
|
13
13
|
"""
|
|
14
14
|
|
|
15
|
-
import json
|
|
16
15
|
from datetime import datetime
|
|
17
16
|
from types import MappingProxyType
|
|
18
17
|
from typing import Any, Union
|
|
19
18
|
|
|
19
|
+
import orjson
|
|
20
20
|
import sqlalchemy as sa
|
|
21
21
|
from sqlalchemy import TypeDecorator, types
|
|
22
22
|
|
|
@@ -312,7 +312,7 @@ class Array(SQLType):
|
|
|
312
312
|
def on_read_convert(self, value, dialect):
|
|
313
313
|
r = read_converter(dialect).array(value, self.item_type, dialect)
|
|
314
314
|
if isinstance(self.item_type, JSON):
|
|
315
|
-
r = [
|
|
315
|
+
r = [orjson.loads(item) if isinstance(item, str) else item for item in r]
|
|
316
316
|
return r
|
|
317
317
|
|
|
318
318
|
|
|
@@ -420,6 +420,8 @@ class TypeReadConverter:
|
|
|
420
420
|
return [item_type.on_read_convert(x, dialect) for x in value]
|
|
421
421
|
|
|
422
422
|
def json(self, value):
|
|
423
|
+
if isinstance(value, str):
|
|
424
|
+
return orjson.loads(value)
|
|
423
425
|
return value
|
|
424
426
|
|
|
425
427
|
def datetime(self, value):
|
datachain/telemetry.py
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import os
|
|
3
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
4
|
+
|
|
5
|
+
from iterative_telemetry import IterativeTelemetryLogger
|
|
6
|
+
|
|
7
|
+
from datachain.utils import env2bool
|
|
8
|
+
|
|
9
|
+
logger = logging.getLogger(__name__)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def is_enabled():
|
|
13
|
+
"""
|
|
14
|
+
Determine if telemetry is enabled based on environment variables and configuration.
|
|
15
|
+
"""
|
|
16
|
+
# Disable telemetry if running in test mode
|
|
17
|
+
if env2bool("DATACHAIN_TEST"):
|
|
18
|
+
return False
|
|
19
|
+
|
|
20
|
+
# Check if telemetry is disabled by environment variable
|
|
21
|
+
disabled = bool(os.getenv("DATACHAIN_NO_ANALYTICS"))
|
|
22
|
+
if disabled:
|
|
23
|
+
logger.debug("Telemetry is disabled by environment variable.")
|
|
24
|
+
return False
|
|
25
|
+
|
|
26
|
+
logger.debug("Telemetry is enabled.")
|
|
27
|
+
return True
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# Try to get the version of the datachain package
|
|
31
|
+
try:
|
|
32
|
+
__version__ = version("datachain")
|
|
33
|
+
except PackageNotFoundError:
|
|
34
|
+
__version__ = "unknown"
|
|
35
|
+
|
|
36
|
+
# Initialize telemetry logger
|
|
37
|
+
telemetry = IterativeTelemetryLogger("datachain", __version__, is_enabled)
|
datachain/utils.py
CHANGED
|
@@ -4,6 +4,7 @@ import json
|
|
|
4
4
|
import os
|
|
5
5
|
import os.path as osp
|
|
6
6
|
import random
|
|
7
|
+
import re
|
|
7
8
|
import stat
|
|
8
9
|
import sys
|
|
9
10
|
import time
|
|
@@ -410,3 +411,13 @@ def get_datachain_executable() -> list[str]:
|
|
|
410
411
|
def uses_glob(path: str) -> bool:
|
|
411
412
|
"""Checks if some URI path has glob syntax in it"""
|
|
412
413
|
return glob.has_magic(os.path.basename(os.path.normpath(path)))
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
def env2bool(var, undefined=False):
|
|
417
|
+
"""
|
|
418
|
+
undefined: return value if env var is unset
|
|
419
|
+
"""
|
|
420
|
+
var = os.getenv(var, None)
|
|
421
|
+
if var is None:
|
|
422
|
+
return undefined
|
|
423
|
+
return bool(re.search("1|y|yes|true", var, flags=re.IGNORECASE))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: datachain
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.19
|
|
4
4
|
Summary: Wrangle unstructured AI data at scale
|
|
5
5
|
Author-email: Dmitry Petrov <support@dvc.org>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -33,7 +33,6 @@ Requires-Dist: dvc-objects <6,>=4
|
|
|
33
33
|
Requires-Dist: shtab <2,>=1.3.4
|
|
34
34
|
Requires-Dist: sqlalchemy >=2
|
|
35
35
|
Requires-Dist: multiprocess ==0.70.16
|
|
36
|
-
Requires-Dist: dill ==0.3.8
|
|
37
36
|
Requires-Dist: cloudpickle
|
|
38
37
|
Requires-Dist: orjson >=3.10.5
|
|
39
38
|
Requires-Dist: pydantic <3,>=2
|
|
@@ -43,6 +42,7 @@ Requires-Dist: Pillow <11,>=10.0.0
|
|
|
43
42
|
Requires-Dist: msgpack <2,>=1.0.4
|
|
44
43
|
Requires-Dist: psutil
|
|
45
44
|
Requires-Dist: huggingface-hub
|
|
45
|
+
Requires-Dist: iterative-telemetry >=0.0.9
|
|
46
46
|
Requires-Dist: numpy <2,>=1 ; sys_platform == "win32"
|
|
47
47
|
Provides-Extra: dev
|
|
48
48
|
Requires-Dist: datachain[docs,tests] ; extra == 'dev'
|
|
@@ -63,9 +63,10 @@ Requires-Dist: datachain[tests] ; extra == 'examples'
|
|
|
63
63
|
Requires-Dist: numpy <2,>=1 ; extra == 'examples'
|
|
64
64
|
Requires-Dist: defusedxml ; extra == 'examples'
|
|
65
65
|
Requires-Dist: accelerate ; extra == 'examples'
|
|
66
|
-
Requires-Dist: unstructured[pdf] ; extra == 'examples'
|
|
66
|
+
Requires-Dist: unstructured[embed-huggingface,pdf] ; extra == 'examples'
|
|
67
67
|
Requires-Dist: pdfplumber ==0.11.4 ; extra == 'examples'
|
|
68
68
|
Requires-Dist: huggingface-hub[hf_transfer] ; extra == 'examples'
|
|
69
|
+
Requires-Dist: onnx ==1.16.1 ; extra == 'examples'
|
|
69
70
|
Provides-Extra: hf
|
|
70
71
|
Requires-Dist: numba >=0.60.0 ; extra == 'hf'
|
|
71
72
|
Requires-Dist: datasets[audio,vision] >=2.21.0 ; extra == 'hf'
|
|
@@ -78,7 +79,7 @@ Requires-Dist: pytest <9,>=8 ; extra == 'tests'
|
|
|
78
79
|
Requires-Dist: pytest-sugar >=0.9.6 ; extra == 'tests'
|
|
79
80
|
Requires-Dist: pytest-cov >=4.1.0 ; extra == 'tests'
|
|
80
81
|
Requires-Dist: pytest-mock >=3.12.0 ; extra == 'tests'
|
|
81
|
-
Requires-Dist: pytest-servers[all] >=0.5.
|
|
82
|
+
Requires-Dist: pytest-servers[all] >=0.5.7 ; extra == 'tests'
|
|
82
83
|
Requires-Dist: pytest-benchmark[histogram] ; extra == 'tests'
|
|
83
84
|
Requires-Dist: pytest-xdist >=3.3.1 ; extra == 'tests'
|
|
84
85
|
Requires-Dist: virtualenv ; extra == 'tests'
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
datachain/__init__.py,sha256=
|
|
1
|
+
datachain/__init__.py,sha256=ofPJ6B-d-ybSDRrE7J6wqF_ZRAB2W9U8l-eeuBtqPLg,865
|
|
2
2
|
datachain/__main__.py,sha256=hG3Y4ARGEqe1AWwNMd259rBlqtphx1Wk39YbueQ0yV8,91
|
|
3
3
|
datachain/asyn.py,sha256=Lg3Ck1PQLjQziMx9KU4atzbEnJXTE0924WMYkhgWtGU,8247
|
|
4
|
-
datachain/cache.py,sha256=
|
|
5
|
-
datachain/cli.py,sha256=
|
|
4
|
+
datachain/cache.py,sha256=s0YHN7qurmQv-eC265TjeureK84TebWWAnL07cxchZQ,2997
|
|
5
|
+
datachain/cli.py,sha256=TQ1OKMulAcsJndKLCyxJpfNqbMWQgOa4Aeihnu36cR8,30095
|
|
6
6
|
datachain/cli_utils.py,sha256=jrn9ejGXjybeO1ur3fjdSiAyCHZrX0qsLLbJzN9ErPM,2418
|
|
7
7
|
datachain/config.py,sha256=PfC7W5yO6HFO6-iMB4YB-0RR88LPiGmD6sS_SfVbGso,1979
|
|
8
|
-
datachain/dataset.py,sha256=
|
|
9
|
-
datachain/error.py,sha256=
|
|
8
|
+
datachain/dataset.py,sha256=2NCQU9ZSgNGhA01SP5ON18VhMohXif-btOB4Lz-Uvds,14911
|
|
9
|
+
datachain/error.py,sha256=vbIbamnFMIojh1UpmxWoA6Omup7WFAFNJnf8xAkGWwI,1146
|
|
10
10
|
datachain/job.py,sha256=Jt4sNutMHJReaGsj3r3scueN5aESLGfhimAa8pUP7Is,1271
|
|
11
|
-
datachain/listing.py,sha256=
|
|
12
|
-
datachain/node.py,sha256
|
|
13
|
-
datachain/nodes_fetcher.py,sha256=
|
|
14
|
-
datachain/nodes_thread_pool.py,sha256=
|
|
15
|
-
datachain/progress.py,sha256=
|
|
11
|
+
datachain/listing.py,sha256=TkMmBzCiru26x4RaZiagWJTmTGbiy6yGrAsSJMr8cFE,8213
|
|
12
|
+
datachain/node.py,sha256=ThE6Ue4BqpaBvrkFFJW_ljLxchixUX2aWz3l_nbwY54,5195
|
|
13
|
+
datachain/nodes_fetcher.py,sha256=F-73-h19HHNGtHFBGKk7p3mc0ALm4a9zGnzhtuUjnp4,1107
|
|
14
|
+
datachain/nodes_thread_pool.py,sha256=uPo-xl8zG5m9YgODjPFBpbcqqHjI-dcxH87yAbj_qco,3192
|
|
15
|
+
datachain/progress.py,sha256=5KotcvvzAUL_RF0GEj4JY0IB1lyImnmHxe89YkT1XO4,4330
|
|
16
16
|
datachain/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
17
|
datachain/storage.py,sha256=RiSJLYdHUjnrEWkLBKPcETHpAxld_B2WxLg711t0aZI,3733
|
|
18
|
-
datachain/
|
|
18
|
+
datachain/telemetry.py,sha256=0A4IOPPp9VlP5pyW9eBfaTK3YhHGzHl7dQudQjUAx9A,994
|
|
19
|
+
datachain/utils.py,sha256=KeFSRHsiYthnTu4a6bH-rw04mX1m8krTX0f2NqfQGFI,12114
|
|
19
20
|
datachain/catalog/__init__.py,sha256=g2iAAFx_gEIrqshXlhSEbrc8qDaEH11cjU40n3CHDz4,409
|
|
20
|
-
datachain/catalog/catalog.py,sha256=
|
|
21
|
+
datachain/catalog/catalog.py,sha256=poTu_B5va35MTCV60ntsn4jvAFXepqa2peCjYCXWeU0,64982
|
|
21
22
|
datachain/catalog/datasource.py,sha256=D-VWIVDCM10A8sQavLhRXdYSCG7F4o4ifswEF80_NAQ,1412
|
|
22
23
|
datachain/catalog/loader.py,sha256=-6VelNfXUdgUnwInVyA8g86Boxv2xqhTh9xNS-Zlwig,8242
|
|
23
24
|
datachain/client/__init__.py,sha256=T4wiYL9KIM0ZZ_UqIyzV8_ufzYlewmizlV4iymHNluE,86
|
|
24
25
|
datachain/client/azure.py,sha256=ffxs26zm6KLAL1aUWJm-vtzuZP3LSNha7UDGXynMBKo,2234
|
|
25
26
|
datachain/client/fileslice.py,sha256=bT7TYco1Qe3bqoc8aUkUZcPdPofJDHlryL5BsTn9xsY,3021
|
|
26
|
-
datachain/client/fsspec.py,sha256=
|
|
27
|
+
datachain/client/fsspec.py,sha256=CO5LfxlZF58UAywLfMYeZRXDLIzcJepnQyPZfZk0Ies,12236
|
|
27
28
|
datachain/client/gcs.py,sha256=cnTIr5GS6dbYOEYfqehhyQu3dr6XNjPHSg5U3FkivUk,4124
|
|
28
29
|
datachain/client/hf.py,sha256=k24bpa6FEKNQn9zhoNC9kCigDwFSqobLsCnN_Nuzwh4,922
|
|
29
|
-
datachain/client/local.py,sha256=
|
|
30
|
+
datachain/client/local.py,sha256=5OT3yf9QHi0If_dlqKYIYs-if-3oWhfAztMvsSa3YRA,4969
|
|
30
31
|
datachain/client/s3.py,sha256=CVHBUZ1Ic2Q3370nl-Bbe69phuWjFlrVv9dTJKBpRT0,6019
|
|
31
32
|
datachain/data_storage/__init__.py,sha256=cEOJpyu1JDZtfUupYucCDNFI6e5Wmp_Oyzq6rZv32Y8,398
|
|
32
33
|
datachain/data_storage/db_engine.py,sha256=81Ol1of9TTTzD97ORajCnP366Xz2mEJt6C-kTUCaru4,3406
|
|
@@ -38,15 +39,15 @@ datachain/data_storage/serializer.py,sha256=6G2YtOFqqDzJf1KbvZraKGXl2XHZyVml2kru
|
|
|
38
39
|
datachain/data_storage/sqlite.py,sha256=EBKJncuzcyQfcKFm2mUjvHjHRTODsteM-k_zndunBrw,28834
|
|
39
40
|
datachain/data_storage/warehouse.py,sha256=Vwhu_OfcNAoTtg1BHui80VCzlPeTUjZQL0QWziu8awY,32186
|
|
40
41
|
datachain/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
-
datachain/lib/arrow.py,sha256=
|
|
42
|
+
datachain/lib/arrow.py,sha256=aUsoQmxDmuSnB8Ik9p57Y66gc_dgx6NBqkDDIfLsvno,7630
|
|
42
43
|
datachain/lib/clip.py,sha256=lm5CzVi4Cj1jVLEKvERKArb-egb9j1Ls-fwTItT6vlI,6150
|
|
43
44
|
datachain/lib/data_model.py,sha256=gHIjlow84GMRDa78yLL1Ud-N18or21fnTyPEwsatpXY,2045
|
|
44
45
|
datachain/lib/dataset_info.py,sha256=srPPhI2UHf6hFPBecyFEVw2SS5aPisIIMsvGgKqi7ss,2366
|
|
45
|
-
datachain/lib/dc.py,sha256=
|
|
46
|
-
datachain/lib/file.py,sha256=
|
|
46
|
+
datachain/lib/dc.py,sha256=kabEHnqbcoat7gd-yl0PvmuC6SyKbRa8r7NWKcN6GEQ,68978
|
|
47
|
+
datachain/lib/file.py,sha256=LjTW_-PDAnoUhvyB4bJ8Y8n__XGqrxvmd9mDOF0Gir8,14875
|
|
47
48
|
datachain/lib/hf.py,sha256=cPnmLuprr0pYABH7KqA5FARQ1JGlywdDwD3yDzVAm4k,5920
|
|
48
49
|
datachain/lib/image.py,sha256=AMXYwQsmarZjRbPCZY3M1jDsM2WAB_b3cTY4uOIuXNU,2675
|
|
49
|
-
datachain/lib/listing.py,sha256=
|
|
50
|
+
datachain/lib/listing.py,sha256=cHPN5-Fq8yb0gP6DARImhmZWxykDDNqhhJujDxEp53A,4104
|
|
50
51
|
datachain/lib/listing_info.py,sha256=36NZ-tXY5Y118wurkajuWWbcE8UCjkRwZlacDtN9F3g,954
|
|
51
52
|
datachain/lib/meta_formats.py,sha256=3f-0vpMTesagS9iMd3y9-u9r-7g0eqYsxmK4fVfNWlw,6635
|
|
52
53
|
datachain/lib/model_store.py,sha256=DNIv8Y6Jtk1_idNLzIpsThOsdW2BMAudyUCbPUcgcxk,2515
|
|
@@ -69,19 +70,19 @@ datachain/lib/convert/unflatten.py,sha256=Ogvh_5wg2f38_At_1lN0D_e2uZOOpYEvwvB2xd
|
|
|
69
70
|
datachain/lib/convert/values_to_tuples.py,sha256=YOdbjzHq-uj6-cV2Qq43G72eN2avMNDGl4x5t6yQMl8,3931
|
|
70
71
|
datachain/query/__init__.py,sha256=0NBOZVgIDpCcj1Ci883dQ9A0iiwe03xzmotkOCFbxYc,293
|
|
71
72
|
datachain/query/batch.py,sha256=-vlpINJiertlnaoUVv1C95RatU0F6zuhpIYRufJRo1M,3660
|
|
72
|
-
datachain/query/dataset.py,sha256=
|
|
73
|
-
datachain/query/dispatch.py,sha256=
|
|
73
|
+
datachain/query/dataset.py,sha256=F9WEVhDuFm6NQT6l-Vi3PMU-mQVpqwKHMgZIA4eWB18,53602
|
|
74
|
+
datachain/query/dispatch.py,sha256=CFAc09O6UllcyUSSEY1GUlEMPzeO8RYhXinNN4HBl9M,12405
|
|
74
75
|
datachain/query/metrics.py,sha256=r5b0ygYhokbXp8Mg3kCH8iFSRw0jxzyeBe-C-J_bKFc,938
|
|
75
76
|
datachain/query/params.py,sha256=O_j89mjYRLOwWNhYZl-z7mi-rkdP7WyFmaDufsdTryE,863
|
|
76
77
|
datachain/query/queue.py,sha256=waqM_KzavU8C-G95-4211Nd4GXna_u2747Chgwtgz2w,3839
|
|
77
|
-
datachain/query/schema.py,sha256=
|
|
78
|
+
datachain/query/schema.py,sha256=I8zLWJuWl5N332ni9mAzDYtcxMJupVPgWkSDe8spNEk,8019
|
|
78
79
|
datachain/query/session.py,sha256=UPH5Z4fzCDsvj81ji0e8GA6Mgra3bOAEpVq4htqOtis,4317
|
|
79
|
-
datachain/query/udf.py,sha256=
|
|
80
|
+
datachain/query/udf.py,sha256=HB2hbEuiGA4ch9P2mh9iLA5Jj9mRj-4JFy9VfjTLJ8U,3622
|
|
80
81
|
datachain/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
82
|
datachain/remote/studio.py,sha256=f5s6qSZ9uB4URGUoU_8_W1KZRRQQVSm6cgEBkBUEfuE,7226
|
|
82
83
|
datachain/sql/__init__.py,sha256=A2djrbQwSMUZZEIKGnm-mnRA-NDSbiDJNpAmmwGNyIo,303
|
|
83
84
|
datachain/sql/selectable.py,sha256=fBM-wS1TUA42kVEAAiwqGtibIevyZAEritwt8PZGyLQ,1589
|
|
84
|
-
datachain/sql/types.py,sha256=
|
|
85
|
+
datachain/sql/types.py,sha256=3aXpoxkmCYbw0Dlta5J1enwS8_FuvjfSqyrNZO-dWj4,13383
|
|
85
86
|
datachain/sql/utils.py,sha256=rzlJw08etivdrcuQPqNVvVWhuVSyUPUQEEc6DOhu258,818
|
|
86
87
|
datachain/sql/default/__init__.py,sha256=XQ2cEZpzWiABqjV-6yYHUBGI9vN_UHxbxZENESmVAWw,45
|
|
87
88
|
datachain/sql/default/base.py,sha256=QD-31C6JnyOXzogyDx90sUhm7QvgXIYpeHEASH84igU,628
|
|
@@ -96,9 +97,9 @@ datachain/sql/sqlite/base.py,sha256=WLPHBhZbXbiqPoRV1VgDrXJqku4UuvJpBhYeQ0k5rI8,
|
|
|
96
97
|
datachain/sql/sqlite/types.py,sha256=yzvp0sXSEoEYXs6zaYC_2YubarQoZH-MiUNXcpuEP4s,1573
|
|
97
98
|
datachain/sql/sqlite/vector.py,sha256=ncW4eu2FlJhrP_CIpsvtkUabZlQdl2D5Lgwy_cbfqR0,469
|
|
98
99
|
datachain/torch/__init__.py,sha256=gIS74PoEPy4TB3X6vx9nLO0Y3sLJzsA8ckn8pRWihJM,579
|
|
99
|
-
datachain-0.3.
|
|
100
|
-
datachain-0.3.
|
|
101
|
-
datachain-0.3.
|
|
102
|
-
datachain-0.3.
|
|
103
|
-
datachain-0.3.
|
|
104
|
-
datachain-0.3.
|
|
100
|
+
datachain-0.3.19.dist-info/LICENSE,sha256=8DnqK5yoPI_E50bEg_zsHKZHY2HqPy4rYN338BHQaRA,11344
|
|
101
|
+
datachain-0.3.19.dist-info/METADATA,sha256=yMBpXwOmeoWOmpS0m_hp8GFiMs3Zu_ixMzkG6GF_Z2U,17157
|
|
102
|
+
datachain-0.3.19.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
103
|
+
datachain-0.3.19.dist-info/entry_points.txt,sha256=0GMJS6B_KWq0m3VT98vQI2YZodAMkn4uReZ_okga9R4,49
|
|
104
|
+
datachain-0.3.19.dist-info/top_level.txt,sha256=lZPpdU_2jJABLNIg2kvEOBi8PtsYikbN1OdMLHk8bTg,10
|
|
105
|
+
datachain-0.3.19.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|