datachain 0.3.13__py3-none-any.whl → 0.3.15__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/lib/tar.py ADDED
@@ -0,0 +1,33 @@
1
+ import hashlib
2
+ import tarfile
3
+ from collections.abc import Iterator
4
+
5
+ from datachain.lib.file import File, TarVFile
6
+
7
+
8
+ def build_tar_member(parent: File, info: tarfile.TarInfo) -> File:
9
+ new_parent = parent.get_full_name()
10
+ etag_string = "-".join([parent.etag, info.name, str(info.mtime)])
11
+ etag = hashlib.md5(etag_string.encode(), usedforsecurity=False).hexdigest()
12
+ return File(
13
+ source=parent.source,
14
+ path=f"{new_parent}/{info.name}",
15
+ version=parent.version,
16
+ size=info.size,
17
+ etag=etag,
18
+ location=[
19
+ {
20
+ "vtype": TarVFile.get_vtype(),
21
+ "parent": parent.model_dump_custom(),
22
+ "size": info.size,
23
+ "offset": info.offset_data,
24
+ }
25
+ ],
26
+ )
27
+
28
+
29
+ def process_tar(file: File) -> Iterator[File]:
30
+ with file.open() as fd:
31
+ with tarfile.open(fileobj=fd) as tar:
32
+ for entry in tar.getmembers():
33
+ yield build_tar_member(file, entry)
@@ -1,4 +1,3 @@
1
- import hashlib
2
1
  import json
3
2
  import tarfile
4
3
  import warnings
@@ -17,7 +16,8 @@ from typing import (
17
16
  from pydantic import Field
18
17
 
19
18
  from datachain.lib.data_model import DataModel
20
- from datachain.lib.file import File, TarVFile
19
+ from datachain.lib.file import File
20
+ from datachain.lib.tar import build_tar_member
21
21
  from datachain.lib.utils import DataChainError
22
22
 
23
23
  # The `json` method of the Pydantic `BaseModel` class has been deprecated
@@ -176,34 +176,11 @@ class Builder:
176
176
  self._tar_stream, self._core_extensions, self.state.stem
177
177
  )
178
178
 
179
- file = self.build_file_record()
179
+ file = build_tar_member(self._tar_stream, self.state.core_file)
180
180
  wds = self._wds_class(**self.state.data | {"file": file})
181
181
  self.state = BuilderState()
182
182
  return wds
183
183
 
184
- def build_file_record(self):
185
- new_parent = self._tar_stream.get_full_name()
186
- core_file = self.state.core_file
187
- etag_string = "-".join(
188
- [self._tar_stream.etag, core_file.name, str(core_file.mtime)]
189
- )
190
- etag = hashlib.md5(etag_string.encode(), usedforsecurity=False).hexdigest()
191
- return File(
192
- source=self._tar_stream.source,
193
- path=f"{new_parent}/{core_file.name}",
194
- version=self._tar_stream.version,
195
- size=core_file.size,
196
- etag=etag,
197
- location=[
198
- {
199
- "vtype": TarVFile.get_vtype(),
200
- "parent": self._tar_stream.model_dump_custom(),
201
- "size": core_file.size,
202
- "offset": core_file.offset_data,
203
- }
204
- ],
205
- )
206
-
207
184
  def _get_type(self, ext):
208
185
  field = self._wds_class.model_fields.get(ext, None)
209
186
  if field is None:
@@ -217,39 +194,6 @@ class Builder:
217
194
  return anno
218
195
 
219
196
 
220
- class TarStream(File):
221
- @staticmethod
222
- def to_text(data):
223
- return data.decode("utf-8")
224
-
225
- _DATA_CONVERTERS: ClassVar[dict[type, Any]] = {
226
- str: lambda data: TarStream.to_text(data),
227
- int: lambda data: int(TarStream.to_text(data)),
228
- float: lambda data: float(TarStream.to_text(data)),
229
- bytes: lambda data: data,
230
- dict: lambda data: json.loads(TarStream.to_text(data)),
231
- }
232
-
233
- def __init__(self, **kwargs):
234
- super().__init__(**kwargs)
235
- self._tar = None
236
-
237
- def open(self):
238
- self._tar = tarfile.open(fileobj=super().open()) # noqa: SIM115
239
- return self
240
-
241
- def getmembers(self) -> list[tarfile.TarInfo]:
242
- return self._tar.getmembers()
243
-
244
- def read_member(self, member: tarfile.TarInfo, type):
245
- fd = self._tar.extractfile(member)
246
- data = fd.read()
247
- converter = self._DATA_CONVERTERS.get(type, None)
248
- if not converter:
249
- raise ValueError("")
250
- return converter(data)
251
-
252
-
253
197
  def get_tar_groups(stream, tar, core_extensions, spec, encoding="utf-8"):
254
198
  builder = Builder(stream, core_extensions, spec, tar, encoding)
255
199
 
datachain/listing.py CHANGED
@@ -9,7 +9,8 @@ from sqlalchemy import Column
9
9
  from sqlalchemy.sql import func
10
10
  from tqdm import tqdm
11
11
 
12
- from datachain.node import DirType, Entry, Node, NodeWithPath
12
+ from datachain.lib.file import File
13
+ from datachain.node import DirType, Node, NodeWithPath
13
14
  from datachain.sql.functions import path as pathfunc
14
15
  from datachain.utils import suffix_to_number
15
16
 
@@ -80,16 +81,13 @@ class Listing:
80
81
  finally:
81
82
  fetch_listing.insert_entries_done()
82
83
 
83
- def insert_entry(self, entry: Entry) -> None:
84
- self.warehouse.insert_rows(
85
- self.dataset_rows.get_table(),
86
- self.warehouse.prepare_entries(self.client.uri, [entry]),
87
- )
84
+ def insert_entry(self, entry: File) -> None:
85
+ self.insert_entries([entry])
88
86
 
89
- def insert_entries(self, entries: Iterable[Entry]) -> None:
87
+ def insert_entries(self, entries: Iterable[File]) -> None:
90
88
  self.warehouse.insert_rows(
91
89
  self.dataset_rows.get_table(),
92
- self.warehouse.prepare_entries(self.client.uri, entries),
90
+ self.warehouse.prepare_entries(entries),
93
91
  )
94
92
 
95
93
  def insert_entries_done(self) -> None:
datachain/node.py CHANGED
@@ -4,7 +4,6 @@ from typing import TYPE_CHECKING, Any, Optional
4
4
  import attrs
5
5
 
6
6
  from datachain.cache import UniqueId
7
- from datachain.lib.file import File
8
7
  from datachain.storage import StorageURI
9
8
  from datachain.utils import TIME_ZERO, time_to_str
10
9
 
@@ -139,48 +138,6 @@ class Node:
139
138
  return split[0]
140
139
 
141
140
 
142
- @attrs.define
143
- class Entry:
144
- path: str = ""
145
- etag: str = ""
146
- version: str = ""
147
- is_latest: bool = True
148
- last_modified: Optional[datetime] = None
149
- size: int = 0
150
- location: Optional[str] = None
151
-
152
- @classmethod
153
- def from_file(cls, path: str, **kwargs) -> "Entry":
154
- return cls(path=path, **kwargs)
155
-
156
- @property
157
- def full_path(self) -> str:
158
- return self.path
159
-
160
- @property
161
- def name(self):
162
- return self.path.rsplit("/", 1)[-1]
163
-
164
- @property
165
- def parent(self):
166
- split = self.path.rsplit("/", 1)
167
- if len(split) <= 1:
168
- return ""
169
- return split[0]
170
-
171
- def to_file(self, source: str) -> File:
172
- return File(
173
- source=source,
174
- path=self.path,
175
- size=self.size,
176
- version=self.version,
177
- etag=self.etag,
178
- is_latest=self.is_latest,
179
- last_modified=self.last_modified,
180
- location=self.location,
181
- )
182
-
183
-
184
141
  def get_path(parent: str, name: str):
185
142
  return f"{parent}/{name}" if parent else name
186
143
 
@@ -37,6 +37,7 @@ from tqdm import tqdm
37
37
 
38
38
  from datachain.asyn import ASYNC_WORKERS, AsyncMapper, OrderedMapper
39
39
  from datachain.catalog import QUERY_SCRIPT_CANCELED_EXIT_CODE, get_catalog
40
+ from datachain.client import Client
40
41
  from datachain.data_storage.schema import (
41
42
  PARTITION_COLUMN_ID,
42
43
  partition_col_names,
@@ -194,7 +195,7 @@ class IndexingStep(StartingStep):
194
195
 
195
196
  def apply(self):
196
197
  self.catalog.index([self.path], **self.kwargs)
197
- uri, path = self.parse_path()
198
+ uri, path = Client.parse_url(self.path)
198
199
  _partial_id, partial_path = self.catalog.metastore.get_valid_partial_id(
199
200
  uri, path
200
201
  )
@@ -216,11 +217,6 @@ class IndexingStep(StartingStep):
216
217
 
217
218
  return step_result(q, dataset_rows.c, dependencies=[storage.uri])
218
219
 
219
- def parse_path(self):
220
- client_config = self.kwargs.get("client_config") or {}
221
- client, path = self.catalog.parse_url(self.path, **client_config)
222
- return client.uri, path
223
-
224
220
 
225
221
  def generator_then_call(generator, func: Callable):
226
222
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: datachain
3
- Version: 0.3.13
3
+ Version: 0.3.15
4
4
  Summary: Wrangle unstructured AI data at scale
5
5
  Author-email: Dmitry Petrov <support@dvc.org>
6
6
  License: Apache-2.0
@@ -1,15 +1,15 @@
1
1
  datachain/__init__.py,sha256=GeyhE-5LgfJav2OKYGaieP2lBvf2Gm-ihj7thnK9zjI,800
2
2
  datachain/__main__.py,sha256=hG3Y4ARGEqe1AWwNMd259rBlqtphx1Wk39YbueQ0yV8,91
3
- datachain/asyn.py,sha256=biF8M8fQujtj5xs0VLi8S16eBtzG6kceWlO_NILbCsg,8197
3
+ datachain/asyn.py,sha256=Lg3Ck1PQLjQziMx9KU4atzbEnJXTE0924WMYkhgWtGU,8247
4
4
  datachain/cache.py,sha256=WP-ktH_bRn3w2g1JOOQ7rCPsZyR4OM6K1Kb7yZsSSns,4056
5
5
  datachain/cli.py,sha256=alMjnoBUBLvBSMBR51N09rA_aUEdHJwyxSRogF7VbbA,30891
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=EcYjhHg1dxxPbDwSuIxc-mDRDo3v_pYf79fMy4re1oA,14740
8
+ datachain/dataset.py,sha256=sHnsmKfMg2bK88gZH1izk8jlbmJDEhQpyOemdaPQVFo,14761
9
9
  datachain/error.py,sha256=OnZ8OaBtDdTZPy8XQiy29SAjqdQArQeorYbP5ju7ldc,1199
10
10
  datachain/job.py,sha256=Jt4sNutMHJReaGsj3r3scueN5aESLGfhimAa8pUP7Is,1271
11
- datachain/listing.py,sha256=LgL0lV10AzD1v52ajSaJKFnyiq4hNXwQiqaGySWGQsw,8290
12
- datachain/node.py,sha256=gacKxUPLgJ1ul6LJWz7nylYjUWPbyUY5cqaBFDOnO9E,5756
11
+ datachain/listing.py,sha256=vfjOlcb98A7xkGGKWEYON6l7lfrOqNv6kldmdVnlJn4,8178
12
+ datachain/node.py,sha256=2pF3Y9oYzElfiUBcw2LIv7LNNt--V4E-K021zjv0b0I,4748
13
13
  datachain/nodes_fetcher.py,sha256=kca19yvu11JxoVY1t4_ydp1FmchiV88GnNicNBQ9NIA,831
14
14
  datachain/nodes_thread_pool.py,sha256=ZyzBvUImIPmi4WlKC2SW2msA0UhtembbTdcs2nx29A0,3191
15
15
  datachain/progress.py,sha256=7_8FtJs770ITK9sMq-Lt4k4k18QmYl4yIG_kCoWID3o,4559
@@ -17,17 +17,17 @@ datachain/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  datachain/storage.py,sha256=RiSJLYdHUjnrEWkLBKPcETHpAxld_B2WxLg711t0aZI,3733
18
18
  datachain/utils.py,sha256=Z9-lPNvrrAh_VWpzVBJ7L5-Oy_Oo1V0ZW7G0MVDyPK4,13065
19
19
  datachain/catalog/__init__.py,sha256=g2iAAFx_gEIrqshXlhSEbrc8qDaEH11cjU40n3CHDz4,409
20
- datachain/catalog/catalog.py,sha256=hhLciKHD0dVwniFzUsYORQ72WpnM40QYT0ydoyx1Kvw,69308
20
+ datachain/catalog/catalog.py,sha256=kPg5ILeCWSjXCj3ewUZY6kzj36HTEqajB3mJDkbs-Vo,69023
21
21
  datachain/catalog/datasource.py,sha256=D-VWIVDCM10A8sQavLhRXdYSCG7F4o4ifswEF80_NAQ,1412
22
22
  datachain/catalog/loader.py,sha256=-6VelNfXUdgUnwInVyA8g86Boxv2xqhTh9xNS-Zlwig,8242
23
23
  datachain/client/__init__.py,sha256=T4wiYL9KIM0ZZ_UqIyzV8_ufzYlewmizlV4iymHNluE,86
24
- datachain/client/azure.py,sha256=LXSahE0Z6r4dXqpBkKnq3J5fg7N7ymC1lSn-1SoILGc,2687
24
+ datachain/client/azure.py,sha256=ffxs26zm6KLAL1aUWJm-vtzuZP3LSNha7UDGXynMBKo,2234
25
25
  datachain/client/fileslice.py,sha256=bT7TYco1Qe3bqoc8aUkUZcPdPofJDHlryL5BsTn9xsY,3021
26
- datachain/client/fsspec.py,sha256=Hy3-4HRV-3MozOybqAnF-qL0EoMYFHynpTG_YZphjZE,13298
27
- datachain/client/gcs.py,sha256=P_E3mhzhXR9mJ_wc3AYZuczzwOJ0-D3J5qhJXeSU-xk,4518
28
- datachain/client/hf.py,sha256=R-F6Ks6aVM9wSNkIXOkOnZFwsJlfdRwJjymRa78RLjM,1246
29
- datachain/client/local.py,sha256=H8TNY8pi2kA8y9_f_1XLUjJF66f229qC_b2y4xGkzdU,5300
30
- datachain/client/s3.py,sha256=zs41EvYW1bS_pUxnkCnJILzUJpL2V1jvvVKSN4BKYcc,6326
26
+ datachain/client/fsspec.py,sha256=0i4EJIwdx_UNZlbSsUeohWjgVg4B5xoGxTYZKwXS22U,13459
27
+ datachain/client/gcs.py,sha256=cnTIr5GS6dbYOEYfqehhyQu3dr6XNjPHSg5U3FkivUk,4124
28
+ datachain/client/hf.py,sha256=k24bpa6FEKNQn9zhoNC9kCigDwFSqobLsCnN_Nuzwh4,922
29
+ datachain/client/local.py,sha256=LTyISV4oNSOPUdsai5eNZYCGXNCn8rNGuAI0bdgbtnU,5006
30
+ datachain/client/s3.py,sha256=CVHBUZ1Ic2Q3370nl-Bbe69phuWjFlrVv9dTJKBpRT0,6019
31
31
  datachain/data_storage/__init__.py,sha256=cEOJpyu1JDZtfUupYucCDNFI6e5Wmp_Oyzq6rZv32Y8,398
32
32
  datachain/data_storage/db_engine.py,sha256=81Ol1of9TTTzD97ORajCnP366Xz2mEJt6C-kTUCaru4,3406
33
33
  datachain/data_storage/id_generator.py,sha256=lCEoU0BM37Ai2aRpSbwo5oQT0GqZnSpYwwvizathRMQ,4292
@@ -35,30 +35,31 @@ datachain/data_storage/job.py,sha256=w-7spowjkOa1P5fUVtJou3OltT0L48P0RYWZ9rSJ9-s
35
35
  datachain/data_storage/metastore.py,sha256=cHN0xmbUvChyayHHZm3Vqxr87jFqojPSlGBqhTPStlE,54519
36
36
  datachain/data_storage/schema.py,sha256=AGbjyEir5UmRZXI3m0jChZogUh5wd8csj6-YlUWaAxQ,8383
37
37
  datachain/data_storage/serializer.py,sha256=6G2YtOFqqDzJf1KbvZraKGXl2XHZyVml2krunWUum5o,927
38
- datachain/data_storage/sqlite.py,sha256=Z4B2KDL4C8Uio2aLMxaKv0t2MoOtCV3bSqWg4X9mTFg,28048
39
- datachain/data_storage/warehouse.py,sha256=s5hhVUWrlEopE6eGOqzXHeNtRapK30G8gj0Vkt_HHFQ,32649
38
+ datachain/data_storage/sqlite.py,sha256=yooLHQXrpoqDguGlF0SGcCiMU1T82OEc4wr1ra8eBHo,28285
39
+ datachain/data_storage/warehouse.py,sha256=Pq6Nt3fyz1WFv6Mdtv2ZUr0_GFCNbafbtS4PdibblUg,32507
40
40
  datachain/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- datachain/lib/arrow.py,sha256=dV17oGiknqEW55ogGK_9T0ycNFwd2z-EFOW0AQiR6TU,5840
41
+ datachain/lib/arrow.py,sha256=voY9KuJ2uhPxw_DS6rIjwfKjWXi84T3LFJ7kGFcDQuk,7272
42
42
  datachain/lib/clip.py,sha256=lm5CzVi4Cj1jVLEKvERKArb-egb9j1Ls-fwTItT6vlI,6150
43
43
  datachain/lib/data_model.py,sha256=gHIjlow84GMRDa78yLL1Ud-N18or21fnTyPEwsatpXY,2045
44
44
  datachain/lib/dataset_info.py,sha256=srPPhI2UHf6hFPBecyFEVw2SS5aPisIIMsvGgKqi7ss,2366
45
- datachain/lib/dc.py,sha256=C-sfWRinV8pDK2P6UHLbScOahTlTiVQpoxUUdVllF2k,68710
46
- datachain/lib/file.py,sha256=rXmyzUFgnLQ4J3CyOCcg-guhzAz4x9Ug595FbNn4Y2E,11398
47
- datachain/lib/hf.py,sha256=ZiMvgy3DYiklGKZv-w7gevrHOgn3bGfpTlpDPOHCNqs,5336
45
+ datachain/lib/dc.py,sha256=HERJNR4TISbaAtSLARV72INgKPfQRItyd1l28P-GtzU,68871
46
+ datachain/lib/file.py,sha256=elQLorLbIkusuQSVfiuC_KrGSZI8cGm-iT8fHmckJlo,13774
47
+ datachain/lib/hf.py,sha256=cPnmLuprr0pYABH7KqA5FARQ1JGlywdDwD3yDzVAm4k,5920
48
48
  datachain/lib/image.py,sha256=AMXYwQsmarZjRbPCZY3M1jDsM2WAB_b3cTY4uOIuXNU,2675
49
- datachain/lib/listing.py,sha256=S9Xn_Saxu4xk3K_01VexkfMZW0INQiATlidt2bzgWKY,3938
50
- datachain/lib/listing_info.py,sha256=sr5KzCXlCxlPuRmy_pVadD4miLpp5y0btvyaIPcluwI,996
49
+ datachain/lib/listing.py,sha256=e4O1gs3rKJ0eGwb0hSEfD-l9U7x-f-TYqYGF7Ni-x38,3973
50
+ datachain/lib/listing_info.py,sha256=36NZ-tXY5Y118wurkajuWWbcE8UCjkRwZlacDtN9F3g,954
51
51
  datachain/lib/meta_formats.py,sha256=3f-0vpMTesagS9iMd3y9-u9r-7g0eqYsxmK4fVfNWlw,6635
52
- datachain/lib/model_store.py,sha256=xcrQ69-jcQs716U4UFOSoSKM7EvFIWqxlPhIcE4X7oI,2497
53
- datachain/lib/pytorch.py,sha256=vK3GbWCy7kunN7ubul6w1hrWmJLja56uTCiMG_7XVQA,5623
52
+ datachain/lib/model_store.py,sha256=DNIv8Y6Jtk1_idNLzIpsThOsdW2BMAudyUCbPUcgcxk,2515
53
+ datachain/lib/pytorch.py,sha256=8LNyFaBrx8zws--MEsFg5g3pb8oLnaQAUlgGvtjKxX4,5960
54
54
  datachain/lib/settings.py,sha256=39thOpYJw-zPirzeNO6pmRC2vPrQvt4eBsw1xLWDFsw,2344
55
- datachain/lib/signal_schema.py,sha256=hqQLwUmt3w8RLa96MtubK9N2CBXqqTPrUkSRXc0ktt4,20275
55
+ datachain/lib/signal_schema.py,sha256=iqgubjCBRiUJB30miv05qFX4uU04dA_Pzi3DCUsHZGs,24177
56
+ datachain/lib/tar.py,sha256=d7FpYyxbHCL1twRt_Oe9QoPbZa2Tn5lj7iWP0HvvRn0,999
56
57
  datachain/lib/text.py,sha256=UNHm8fhidk7wdrWqacEWaA6I9ykfYqarQ2URby7jc7M,1261
57
58
  datachain/lib/udf.py,sha256=nG7DDuPgZ5ZuijwvDoCq-OZMxlDM8vFNzyxMmik0Y1c,11716
58
59
  datachain/lib/udf_signature.py,sha256=gMStcEeYJka5M6cg50Z9orC6y6HzCAJ3MkFqqn1fjZg,7137
59
60
  datachain/lib/utils.py,sha256=5-kJlAZE0D9nXXweAjo7-SP_AWGo28feaDByONYaooQ,463
60
61
  datachain/lib/vfile.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- datachain/lib/webdataset.py,sha256=ZzGLtOUA-QjP4kttGgNqhrioDuDnomWFlsow4fLdezQ,8717
62
+ datachain/lib/webdataset.py,sha256=o7SHk5HOUWsZ5Ln04xOM04eQqiBHiJNO7xLgyVBrwo8,6924
62
63
  datachain/lib/webdataset_laion.py,sha256=aGMWeFmeYNK75ewO9JTA11iB1i3QtTzUfenQA5jajfo,2535
63
64
  datachain/lib/convert/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
65
  datachain/lib/convert/flatten.py,sha256=Uebc5CeqCsacp-nr6IG9i6OGuUavXqdqnoGctZBk3RQ,1384
@@ -69,7 +70,7 @@ datachain/lib/convert/values_to_tuples.py,sha256=YOdbjzHq-uj6-cV2Qq43G72eN2avMND
69
70
  datachain/query/__init__.py,sha256=tv-spkjUCYamMN9ys_90scYrZ8kJ7C7d1MTYVmxGtk4,325
70
71
  datachain/query/batch.py,sha256=-vlpINJiertlnaoUVv1C95RatU0F6zuhpIYRufJRo1M,3660
71
72
  datachain/query/builtins.py,sha256=U6yHPF9bzxqK5iwyqCqbJxo8ggBVx9FtuXxRrQQ0SNM,2244
72
- datachain/query/dataset.py,sha256=B2EmGOL8gjrdU_WhU88Dj7FsxvxrNeKwe2STXnU9T9E,58369
73
+ datachain/query/dataset.py,sha256=9lhcgccavqypVParE4pvd_Hgg8gmoDAN6m1IkpSwXhE,58219
73
74
  datachain/query/dispatch.py,sha256=GBh3EZHDp5AaXxrjOpfrpfsuy7Umnqxu-MAXcK9X3gc,12945
74
75
  datachain/query/metrics.py,sha256=r5b0ygYhokbXp8Mg3kCH8iFSRw0jxzyeBe-C-J_bKFc,938
75
76
  datachain/query/params.py,sha256=O_j89mjYRLOwWNhYZl-z7mi-rkdP7WyFmaDufsdTryE,863
@@ -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.13.dist-info/LICENSE,sha256=8DnqK5yoPI_E50bEg_zsHKZHY2HqPy4rYN338BHQaRA,11344
100
- datachain-0.3.13.dist-info/METADATA,sha256=pzMOR9LYuLR26Wifk4GPS9Wi1mmqCC5CIBZyA-X5_oo,17073
101
- datachain-0.3.13.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
102
- datachain-0.3.13.dist-info/entry_points.txt,sha256=0GMJS6B_KWq0m3VT98vQI2YZodAMkn4uReZ_okga9R4,49
103
- datachain-0.3.13.dist-info/top_level.txt,sha256=lZPpdU_2jJABLNIg2kvEOBi8PtsYikbN1OdMLHk8bTg,10
104
- datachain-0.3.13.dist-info/RECORD,,
100
+ datachain-0.3.15.dist-info/LICENSE,sha256=8DnqK5yoPI_E50bEg_zsHKZHY2HqPy4rYN338BHQaRA,11344
101
+ datachain-0.3.15.dist-info/METADATA,sha256=E3jImGtRTyvMPTSqFsgwhsHsnZn_9SRVeThmrDXRuf0,17073
102
+ datachain-0.3.15.dist-info/WHEEL,sha256=5Mi1sN9lKoFv_gxcPtisEVrJZihrm_beibeg5R6xb4I,91
103
+ datachain-0.3.15.dist-info/entry_points.txt,sha256=0GMJS6B_KWq0m3VT98vQI2YZodAMkn4uReZ_okga9R4,49
104
+ datachain-0.3.15.dist-info/top_level.txt,sha256=lZPpdU_2jJABLNIg2kvEOBi8PtsYikbN1OdMLHk8bTg,10
105
+ datachain-0.3.15.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.1.2)
2
+ Generator: setuptools (75.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5