datachain 0.8.3__py3-none-any.whl → 0.8.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 datachain might be problematic. Click here for more details.
- datachain/asyn.py +16 -6
- datachain/cache.py +32 -10
- datachain/catalog/catalog.py +17 -1
- datachain/cli/__init__.py +311 -0
- datachain/cli/commands/__init__.py +29 -0
- datachain/cli/commands/datasets.py +129 -0
- datachain/cli/commands/du.py +14 -0
- datachain/cli/commands/index.py +12 -0
- datachain/cli/commands/ls.py +169 -0
- datachain/cli/commands/misc.py +28 -0
- datachain/cli/commands/query.py +53 -0
- datachain/cli/commands/show.py +38 -0
- datachain/cli/parser/__init__.py +547 -0
- datachain/cli/parser/job.py +120 -0
- datachain/cli/parser/studio.py +126 -0
- datachain/cli/parser/utils.py +63 -0
- datachain/{cli_utils.py → cli/utils.py} +27 -1
- datachain/client/azure.py +6 -2
- datachain/client/fsspec.py +9 -3
- datachain/client/gcs.py +6 -2
- datachain/client/s3.py +16 -1
- datachain/data_storage/db_engine.py +9 -0
- datachain/data_storage/schema.py +4 -10
- datachain/data_storage/sqlite.py +7 -1
- datachain/data_storage/warehouse.py +6 -4
- datachain/{lib/diff.py → diff/__init__.py} +116 -12
- datachain/func/__init__.py +3 -2
- datachain/func/conditional.py +74 -0
- datachain/func/func.py +5 -1
- datachain/lib/arrow.py +7 -1
- datachain/lib/dc.py +8 -3
- datachain/lib/file.py +16 -5
- datachain/lib/hf.py +1 -1
- datachain/lib/listing.py +19 -1
- datachain/lib/pytorch.py +57 -13
- datachain/lib/signal_schema.py +89 -27
- datachain/lib/udf.py +82 -40
- datachain/listing.py +1 -0
- datachain/progress.py +20 -3
- datachain/query/dataset.py +122 -93
- datachain/query/dispatch.py +22 -16
- datachain/studio.py +58 -38
- datachain/utils.py +14 -3
- {datachain-0.8.3.dist-info → datachain-0.8.5.dist-info}/METADATA +9 -9
- {datachain-0.8.3.dist-info → datachain-0.8.5.dist-info}/RECORD +49 -37
- {datachain-0.8.3.dist-info → datachain-0.8.5.dist-info}/WHEEL +1 -1
- datachain/cli.py +0 -1475
- {datachain-0.8.3.dist-info → datachain-0.8.5.dist-info}/LICENSE +0 -0
- {datachain-0.8.3.dist-info → datachain-0.8.5.dist-info}/entry_points.txt +0 -0
- {datachain-0.8.3.dist-info → datachain-0.8.5.dist-info}/top_level.txt +0 -0
datachain/studio.py
CHANGED
|
@@ -20,21 +20,7 @@ POST_LOGIN_MESSAGE = (
|
|
|
20
20
|
)
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
def
|
|
24
|
-
if args.cmd == "login":
|
|
25
|
-
return login(args)
|
|
26
|
-
if args.cmd == "logout":
|
|
27
|
-
return logout()
|
|
28
|
-
if args.cmd == "token":
|
|
29
|
-
return token()
|
|
30
|
-
if args.cmd == "datasets":
|
|
31
|
-
rows = [
|
|
32
|
-
{"Name": name, "Version": version}
|
|
33
|
-
for name, version in list_datasets(args.team)
|
|
34
|
-
]
|
|
35
|
-
print(tabulate(rows, headers="keys"))
|
|
36
|
-
return 0
|
|
37
|
-
|
|
23
|
+
def process_jobs_args(args: "Namespace"):
|
|
38
24
|
if args.cmd == "run":
|
|
39
25
|
return create_job(
|
|
40
26
|
args.query_file,
|
|
@@ -50,6 +36,25 @@ def process_studio_cli_args(args: "Namespace"): # noqa: PLR0911
|
|
|
50
36
|
|
|
51
37
|
if args.cmd == "cancel":
|
|
52
38
|
return cancel_job(args.job_id, args.team)
|
|
39
|
+
if args.cmd == "logs":
|
|
40
|
+
return show_job_logs(args.job_id, args.team)
|
|
41
|
+
raise DataChainError(f"Unknown command '{args.cmd}'.")
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def process_studio_cli_args(args: "Namespace"):
|
|
45
|
+
if args.cmd == "login":
|
|
46
|
+
return login(args)
|
|
47
|
+
if args.cmd == "logout":
|
|
48
|
+
return logout()
|
|
49
|
+
if args.cmd == "token":
|
|
50
|
+
return token()
|
|
51
|
+
if args.cmd == "dataset":
|
|
52
|
+
rows = [
|
|
53
|
+
{"Name": name, "Version": version}
|
|
54
|
+
for name, version in list_datasets(args.team)
|
|
55
|
+
]
|
|
56
|
+
print(tabulate(rows, headers="keys"))
|
|
57
|
+
return 0
|
|
53
58
|
|
|
54
59
|
if args.cmd == "team":
|
|
55
60
|
return set_team(args)
|
|
@@ -187,6 +192,32 @@ def save_config(hostname, token):
|
|
|
187
192
|
return config.config_file()
|
|
188
193
|
|
|
189
194
|
|
|
195
|
+
def show_logs_from_client(client, job_id):
|
|
196
|
+
# Sync usage
|
|
197
|
+
async def _run():
|
|
198
|
+
async for message in client.tail_job_logs(job_id):
|
|
199
|
+
if "logs" in message:
|
|
200
|
+
for log in message["logs"]:
|
|
201
|
+
print(log["message"], end="")
|
|
202
|
+
elif "job" in message:
|
|
203
|
+
print(f"\n>>>> Job is now in {message['job']['status']} status.")
|
|
204
|
+
|
|
205
|
+
asyncio.run(_run())
|
|
206
|
+
|
|
207
|
+
response = client.dataset_job_versions(job_id)
|
|
208
|
+
if not response.ok:
|
|
209
|
+
raise_remote_error(response.message)
|
|
210
|
+
|
|
211
|
+
response_data = response.data
|
|
212
|
+
if response_data:
|
|
213
|
+
dataset_versions = response_data.get("dataset_versions", [])
|
|
214
|
+
print("\n\n>>>> Dataset versions created during the job:")
|
|
215
|
+
for version in dataset_versions:
|
|
216
|
+
print(f" - {version.get('dataset_name')}@v{version.get('version')}")
|
|
217
|
+
else:
|
|
218
|
+
print("No dataset versions created during the job.")
|
|
219
|
+
|
|
220
|
+
|
|
190
221
|
def create_job(
|
|
191
222
|
query_file: str,
|
|
192
223
|
team_name: Optional[str],
|
|
@@ -236,29 +267,7 @@ def create_job(
|
|
|
236
267
|
print("Open the job in Studio at", response.data.get("job", {}).get("url"))
|
|
237
268
|
print("=" * 40)
|
|
238
269
|
|
|
239
|
-
|
|
240
|
-
async def _run():
|
|
241
|
-
async for message in client.tail_job_logs(job_id):
|
|
242
|
-
if "logs" in message:
|
|
243
|
-
for log in message["logs"]:
|
|
244
|
-
print(log["message"], end="")
|
|
245
|
-
elif "job" in message:
|
|
246
|
-
print(f"\n>>>> Job is now in {message['job']['status']} status.")
|
|
247
|
-
|
|
248
|
-
asyncio.run(_run())
|
|
249
|
-
|
|
250
|
-
response = client.dataset_job_versions(job_id)
|
|
251
|
-
if not response.ok:
|
|
252
|
-
raise_remote_error(response.message)
|
|
253
|
-
|
|
254
|
-
response_data = response.data
|
|
255
|
-
if response_data:
|
|
256
|
-
dataset_versions = response_data.get("dataset_versions", [])
|
|
257
|
-
print("\n\n>>>> Dataset versions created during the job:")
|
|
258
|
-
for version in dataset_versions:
|
|
259
|
-
print(f" - {version.get('dataset_name')}@v{version.get('version')}")
|
|
260
|
-
else:
|
|
261
|
-
print("No dataset versions created during the job.")
|
|
270
|
+
show_logs_from_client(client, job_id)
|
|
262
271
|
|
|
263
272
|
|
|
264
273
|
def upload_files(client: StudioClient, files: list[str]) -> list[str]:
|
|
@@ -293,3 +302,14 @@ def cancel_job(job_id: str, team_name: Optional[str]):
|
|
|
293
302
|
raise_remote_error(response.message)
|
|
294
303
|
|
|
295
304
|
print(f"Job {job_id} canceled")
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
def show_job_logs(job_id: str, team_name: Optional[str]):
|
|
308
|
+
token = Config().read().get("studio", {}).get("token")
|
|
309
|
+
if not token:
|
|
310
|
+
raise DataChainError(
|
|
311
|
+
"Not logged in to Studio. Log in with 'datachain studio login'."
|
|
312
|
+
)
|
|
313
|
+
|
|
314
|
+
client = StudioClient(team=team_name)
|
|
315
|
+
show_logs_from_client(client, job_id)
|
datachain/utils.py
CHANGED
|
@@ -9,6 +9,7 @@ import stat
|
|
|
9
9
|
import sys
|
|
10
10
|
import time
|
|
11
11
|
from collections.abc import Iterable, Iterator, Sequence
|
|
12
|
+
from contextlib import contextmanager
|
|
12
13
|
from datetime import date, datetime, timezone
|
|
13
14
|
from itertools import chain, islice
|
|
14
15
|
from typing import TYPE_CHECKING, Any, Optional, TypeVar, Union
|
|
@@ -22,6 +23,7 @@ from pydantic import BaseModel
|
|
|
22
23
|
|
|
23
24
|
if TYPE_CHECKING:
|
|
24
25
|
import pandas as pd
|
|
26
|
+
from typing_extensions import Self
|
|
25
27
|
|
|
26
28
|
NUL = b"\0"
|
|
27
29
|
TIME_ZERO = datetime.fromtimestamp(0, tz=timezone.utc)
|
|
@@ -30,10 +32,10 @@ APPNAME = "datachain"
|
|
|
30
32
|
APPAUTHOR = "iterative"
|
|
31
33
|
ENV_DATACHAIN_SYSTEM_CONFIG_DIR = "DATACHAIN_SYSTEM_CONFIG_DIR"
|
|
32
34
|
ENV_DATACHAIN_GLOBAL_CONFIG_DIR = "DATACHAIN_GLOBAL_CONFIG_DIR"
|
|
33
|
-
STUDIO_URL = "https://studio.
|
|
35
|
+
STUDIO_URL = "https://studio.datachain.ai"
|
|
34
36
|
|
|
35
37
|
|
|
36
|
-
T = TypeVar("T"
|
|
38
|
+
T = TypeVar("T")
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
class DataChainDir:
|
|
@@ -90,7 +92,7 @@ class DataChainDir:
|
|
|
90
92
|
return osp.join(root_dir, cls.DEFAULT)
|
|
91
93
|
|
|
92
94
|
@classmethod
|
|
93
|
-
def find(cls
|
|
95
|
+
def find(cls, create: bool = True) -> "Self":
|
|
94
96
|
try:
|
|
95
97
|
root = os.environ[cls.ENV_VAR]
|
|
96
98
|
except KeyError:
|
|
@@ -479,3 +481,12 @@ def row_to_nested_dict(
|
|
|
479
481
|
for h, v in zip(headers, row):
|
|
480
482
|
nested_dict_path_set(result, h, v)
|
|
481
483
|
return result
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
@contextmanager
|
|
487
|
+
def safe_closing(thing: T) -> Iterator[T]:
|
|
488
|
+
try:
|
|
489
|
+
yield thing
|
|
490
|
+
finally:
|
|
491
|
+
if hasattr(thing, "close"):
|
|
492
|
+
thing.close()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: datachain
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.5
|
|
4
4
|
Summary: Wrangle unstructured AI data at scale
|
|
5
5
|
Author-email: Dmitry Petrov <support@dvc.org>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -50,7 +50,7 @@ Requires-Dist: websockets
|
|
|
50
50
|
Provides-Extra: docs
|
|
51
51
|
Requires-Dist: mkdocs>=1.5.2; extra == "docs"
|
|
52
52
|
Requires-Dist: mkdocs-gen-files>=0.5.0; extra == "docs"
|
|
53
|
-
Requires-Dist: mkdocs-material
|
|
53
|
+
Requires-Dist: mkdocs-material==9.5.22; extra == "docs"
|
|
54
54
|
Requires-Dist: mkdocs-section-index>=0.3.6; extra == "docs"
|
|
55
55
|
Requires-Dist: mkdocstrings-python>=1.6.3; extra == "docs"
|
|
56
56
|
Requires-Dist: mkdocs-literate-nav>=0.6.1; extra == "docs"
|
|
@@ -84,7 +84,7 @@ Requires-Dist: requests-mock; extra == "tests"
|
|
|
84
84
|
Requires-Dist: scipy; extra == "tests"
|
|
85
85
|
Provides-Extra: dev
|
|
86
86
|
Requires-Dist: datachain[docs,tests]; extra == "dev"
|
|
87
|
-
Requires-Dist: mypy==1.14.
|
|
87
|
+
Requires-Dist: mypy==1.14.1; extra == "dev"
|
|
88
88
|
Requires-Dist: types-python-dateutil; extra == "dev"
|
|
89
89
|
Requires-Dist: types-pytz; extra == "dev"
|
|
90
90
|
Requires-Dist: types-PyYAML; extra == "dev"
|
|
@@ -95,11 +95,11 @@ Requires-Dist: datachain[tests]; extra == "examples"
|
|
|
95
95
|
Requires-Dist: defusedxml; extra == "examples"
|
|
96
96
|
Requires-Dist: accelerate; extra == "examples"
|
|
97
97
|
Requires-Dist: unstructured_ingest[embed-huggingface]; extra == "examples"
|
|
98
|
-
Requires-Dist: unstructured[pdf]; extra == "examples"
|
|
99
|
-
Requires-Dist: pdfplumber==0.11.
|
|
98
|
+
Requires-Dist: unstructured[pdf]<0.16.12; extra == "examples"
|
|
99
|
+
Requires-Dist: pdfplumber==0.11.5; extra == "examples"
|
|
100
100
|
Requires-Dist: huggingface_hub[hf_transfer]; extra == "examples"
|
|
101
101
|
Requires-Dist: onnx==1.16.1; extra == "examples"
|
|
102
|
-
Requires-Dist: ultralytics==8.3.
|
|
102
|
+
Requires-Dist: ultralytics==8.3.58; extra == "examples"
|
|
103
103
|
|
|
104
104
|
================
|
|
105
105
|
|logo| DataChain
|
|
@@ -134,7 +134,7 @@ Use Cases
|
|
|
134
134
|
1. **ETL.** Pythonic framework for describing and running unstructured data transformations
|
|
135
135
|
and enrichments, applying models to data, including LLMs.
|
|
136
136
|
2. **Analytics.** DataChain dataset is a table that combines all the information about data
|
|
137
|
-
objects in one place + it provides dataframe-like API and
|
|
137
|
+
objects in one place + it provides dataframe-like API and vectorized engine to do analytics
|
|
138
138
|
on these tables at scale.
|
|
139
139
|
3. **Versioning.** DataChain doesn't store, require moving or copying data (unlike DVC).
|
|
140
140
|
Perfect use case is a bucket with thousands or millions of images, videos, audio, PDFs.
|
|
@@ -270,7 +270,7 @@ DataChain Studio Platform
|
|
|
270
270
|
|
|
271
271
|
`DataChain Studio`_ is a proprietary solution for teams that offers:
|
|
272
272
|
|
|
273
|
-
- **Centralized dataset registry** to manage data, code and
|
|
273
|
+
- **Centralized dataset registry** to manage data, code and
|
|
274
274
|
dependencies in one place.
|
|
275
275
|
- **Data Lineage** for data sources as well as derivative dataset.
|
|
276
276
|
- **UI for Multimodal Data** like images, videos, and PDFs.
|
|
@@ -1,73 +1,85 @@
|
|
|
1
1
|
datachain/__init__.py,sha256=ofPJ6B-d-ybSDRrE7J6wqF_ZRAB2W9U8l-eeuBtqPLg,865
|
|
2
2
|
datachain/__main__.py,sha256=hG3Y4ARGEqe1AWwNMd259rBlqtphx1Wk39YbueQ0yV8,91
|
|
3
|
-
datachain/asyn.py,sha256=
|
|
4
|
-
datachain/cache.py,sha256=
|
|
5
|
-
datachain/cli.py,sha256=gNXVoMfKINUhKjOpYN48tpyNBK13M0hkQWqra4jNSJQ,43137
|
|
6
|
-
datachain/cli_utils.py,sha256=jrn9ejGXjybeO1ur3fjdSiAyCHZrX0qsLLbJzN9ErPM,2418
|
|
3
|
+
datachain/asyn.py,sha256=RH_jFwJcTXxhEFomaI9yL6S3Onau6NZ6FSKfKFGtrJE,9689
|
|
4
|
+
datachain/cache.py,sha256=7ABXvxhuYmXPymC_MilxxUk3iIr2y5s2FqCmh4uacaQ,3651
|
|
7
5
|
datachain/config.py,sha256=g8qbNV0vW2VEKpX-dGZ9pAn0DAz6G2ZFcr7SAV3PoSM,4272
|
|
8
6
|
datachain/dataset.py,sha256=5HtqZBRaaToa_C74g62bACjBaCRf2Y6BDgIACLhK1ZA,19161
|
|
9
7
|
datachain/error.py,sha256=bxAAL32lSeMgzsQDEHbGTGORj-mPzzpCRvWDPueJNN4,1092
|
|
10
8
|
datachain/job.py,sha256=Jt4sNutMHJReaGsj3r3scueN5aESLGfhimAa8pUP7Is,1271
|
|
11
|
-
datachain/listing.py,sha256=
|
|
9
|
+
datachain/listing.py,sha256=1v4ryVp1EbodyA-bmfFqWHWvykfd6ww33pp9pEbozo8,7607
|
|
12
10
|
datachain/node.py,sha256=HSpjBUBQBWXUUpbUEq839dsSc5KR2O8ww1Udl4jQemY,6023
|
|
13
11
|
datachain/nodes_fetcher.py,sha256=ILMzUW5o4_6lUOVrLDC9gJPCXfcgKnMG68plrc7dAOA,1113
|
|
14
12
|
datachain/nodes_thread_pool.py,sha256=uPo-xl8zG5m9YgODjPFBpbcqqHjI-dcxH87yAbj_qco,3192
|
|
15
|
-
datachain/progress.py,sha256=
|
|
13
|
+
datachain/progress.py,sha256=V-TSrzrbmSkxegKxvXmNiGxpfBEL_XM26iVfSfbJJ-c,4962
|
|
16
14
|
datachain/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
datachain/studio.py,sha256=
|
|
15
|
+
datachain/studio.py,sha256=LFSX-HDRiceZDqc4pfy6q97xoejQCeWmuUGomwmOH9Y,9315
|
|
18
16
|
datachain/telemetry.py,sha256=0A4IOPPp9VlP5pyW9eBfaTK3YhHGzHl7dQudQjUAx9A,994
|
|
19
|
-
datachain/utils.py,sha256=
|
|
17
|
+
datachain/utils.py,sha256=LBeg-9n48saBTHSPk7u_j-kjJnPUAq5Oyps_peSaqlM,14128
|
|
20
18
|
datachain/catalog/__init__.py,sha256=g2iAAFx_gEIrqshXlhSEbrc8qDaEH11cjU40n3CHDz4,409
|
|
21
|
-
datachain/catalog/catalog.py,sha256=
|
|
19
|
+
datachain/catalog/catalog.py,sha256=tPE5aqA6rj0T19JeQdb6A8nHy76R7WwOiQMhWrUfQK8,60511
|
|
22
20
|
datachain/catalog/datasource.py,sha256=IkGMh0Ttg6Q-9DWfU_H05WUnZepbGa28HYleECi6K7I,1353
|
|
23
21
|
datachain/catalog/loader.py,sha256=HA_mBC7q_My8j2WnSvIjUGuJpl6SIdg5vvy_lagxJlA,5733
|
|
22
|
+
datachain/cli/__init__.py,sha256=ywf3C552rQeXAW7xemodYqxJb1pAeVQulyCJSr7xiCk,8380
|
|
23
|
+
datachain/cli/utils.py,sha256=jEoqY0agU3AZ-VQBpyieDKIlk7j3sumtlHE3OgbAzdU,3038
|
|
24
|
+
datachain/cli/commands/__init__.py,sha256=uc77ggTRWrq-w1AVsH3Muy6v1ATkNsXUBPIRaOFgNus,533
|
|
25
|
+
datachain/cli/commands/datasets.py,sha256=0a311oIeKPtRxtoJE0Ui5-y7PEtEl-YEsshjSb5shDU,3557
|
|
26
|
+
datachain/cli/commands/du.py,sha256=9edEzDEs98K2VYk8Wf-ZMpUzALcgm9uD6YtoqbvtUGU,391
|
|
27
|
+
datachain/cli/commands/index.py,sha256=eglNaIe1yyIadUHHumjtNbgIjht6kme7SS7xE3YHR88,198
|
|
28
|
+
datachain/cli/commands/ls.py,sha256=Wb8hXyBwyhb62Zk6ZhNFPFrj2lJhdbRcnBQQkgL_qyw,5174
|
|
29
|
+
datachain/cli/commands/misc.py,sha256=c0DmkOLwcDI2YhA8ArOuLJk6aGzSMZCiKL_E2JGibVE,600
|
|
30
|
+
datachain/cli/commands/query.py,sha256=2S7hQxialt1fkbocxi6JXZI6jS5QnFrD1aOjKgZkzfI,1471
|
|
31
|
+
datachain/cli/commands/show.py,sha256=RVb_7Kjd1kzqTxRKYFvmD04LaJHOtrCc4FYMyc-ZEYw,1149
|
|
32
|
+
datachain/cli/parser/__init__.py,sha256=MqtK-IsQlwGqQN_tebbBwZkDJgE4EEjpTctubueQQLA,15489
|
|
33
|
+
datachain/cli/parser/job.py,sha256=KIs4_yIcfr09RqG5Bx7YAd-QlUs7IznUhf34OxX1z2c,3569
|
|
34
|
+
datachain/cli/parser/studio.py,sha256=V3LjaN8gexpMOHdshSCgfwR0LJswE4te0PLqARwwlPA,4044
|
|
35
|
+
datachain/cli/parser/utils.py,sha256=exnlrEQlEa5q0Jh4w_g-1O4niyDixsDpqa1DoIQewok,1590
|
|
24
36
|
datachain/client/__init__.py,sha256=1kDpCPoibMXi1gExR4lTLc5pi-k6M5TANiwtXkPoLhU,49
|
|
25
|
-
datachain/client/azure.py,sha256=
|
|
37
|
+
datachain/client/azure.py,sha256=lK2yg24doplYsR28CAG9eNr34MJjkoYplT1Urcf0EOQ,3216
|
|
26
38
|
datachain/client/fileslice.py,sha256=bT7TYco1Qe3bqoc8aUkUZcPdPofJDHlryL5BsTn9xsY,3021
|
|
27
|
-
datachain/client/fsspec.py,sha256=
|
|
28
|
-
datachain/client/gcs.py,sha256
|
|
39
|
+
datachain/client/fsspec.py,sha256=ZelCVAuPnSUYuMD-l7IUsbIKNmWzTm6PKdrlK9Bw5xw,13907
|
|
40
|
+
datachain/client/gcs.py,sha256=-KsOrA_SPS9xCQtizUcI3Iy9lMSY8iVxUSPINOWj7i4,5109
|
|
29
41
|
datachain/client/hf.py,sha256=XeVJVbiNViZCpn3sfb90Fr8SYO3BdLmfE3hOWMoqInE,951
|
|
30
42
|
datachain/client/local.py,sha256=iHQKh-HhoNzqZ2yaiuIfZWGXtt_X9FMSA-TN_03zjPc,4708
|
|
31
|
-
datachain/client/s3.py,sha256=
|
|
43
|
+
datachain/client/s3.py,sha256=qPwpHTD934WypEbetPgn0uAiQ31_mTitCVeQr5QkDc0,6965
|
|
32
44
|
datachain/data_storage/__init__.py,sha256=9Wit-oe5P46V7CJQTD0BJ5MhOa2Y9h3ddJ4VWTe-Lec,273
|
|
33
|
-
datachain/data_storage/db_engine.py,sha256=
|
|
45
|
+
datachain/data_storage/db_engine.py,sha256=n8ojCbvVMPY2e3SG8fUaaD0b9GkVfpl_Naa_6EiHfWg,3788
|
|
34
46
|
datachain/data_storage/job.py,sha256=w-7spowjkOa1P5fUVtJou3OltT0L48P0RYWZ9rSJ9-s,383
|
|
35
47
|
datachain/data_storage/metastore.py,sha256=hfTITcesE9XlUTxcCcdDyWGGep-QSjJL9DUxko5QCeI,37524
|
|
36
|
-
datachain/data_storage/schema.py,sha256
|
|
48
|
+
datachain/data_storage/schema.py,sha256=8np_S6Ltq7WXfcqpoSeFPryPS7cipdbiSP6UnKJkAac,9516
|
|
37
49
|
datachain/data_storage/serializer.py,sha256=6G2YtOFqqDzJf1KbvZraKGXl2XHZyVml2krunWUum5o,927
|
|
38
|
-
datachain/data_storage/sqlite.py,sha256=
|
|
39
|
-
datachain/data_storage/warehouse.py,sha256=
|
|
40
|
-
datachain/
|
|
50
|
+
datachain/data_storage/sqlite.py,sha256=hz6ZBxhEID1AroY5Xs3YbgJf_o9-4JiG2OE5yN5Ci1o,23176
|
|
51
|
+
datachain/data_storage/warehouse.py,sha256=gFAzkt_lNF0KoKylwtmQ9sLg4Soc6AVho0nvkUX67_0,30823
|
|
52
|
+
datachain/diff/__init__.py,sha256=OapNRBsyGDOQHelefUEoXoFHRWCJuBnhvD0ibebKvBc,10486
|
|
53
|
+
datachain/func/__init__.py,sha256=8WWvzWYtOzXmAC1fOMegyoJ-rFnpAca_5UW4gy8BVsk,1077
|
|
41
54
|
datachain/func/aggregate.py,sha256=7_IPrIwb2XSs3zG4iOr1eTvzn6kNVe2mkzvNzjusDHk,10942
|
|
42
55
|
datachain/func/array.py,sha256=zHDNWuWLA7HVa9FEvQeHhVi00_xqenyleTqcLwkXWBI,5477
|
|
43
56
|
datachain/func/base.py,sha256=wA0sBQAVyN9LPxoo7Ox83peS0zUVnyuKxukwAcjGLfY,534
|
|
44
|
-
datachain/func/conditional.py,sha256=
|
|
45
|
-
datachain/func/func.py,sha256=
|
|
57
|
+
datachain/func/conditional.py,sha256=AfvGQKBFOJ-wkmDTH0P7pmq42Zf1DRcYRsLGurdAiJE,4766
|
|
58
|
+
datachain/func/func.py,sha256=4FJYMqeGD6xNe5ahrFgfthi0DTFb5w3QDLlXxbpHZjU,15371
|
|
46
59
|
datachain/func/numeric.py,sha256=gMe1Ks0dqQKHkjcpvj7I5S-neECzQ_gltPQLNoaWOyo,5632
|
|
47
60
|
datachain/func/path.py,sha256=mqN_mfkwv44z2II7DMTp_fGGw95hmTCNls_TOFNpr4k,3155
|
|
48
61
|
datachain/func/random.py,sha256=pENOLj9rSmWfGCnOsUIaCsVC5486zQb66qfQvXaz9Z4,452
|
|
49
62
|
datachain/func/string.py,sha256=8az3BTeezlaZt6NW-54GWX7WSosAOVMbTr6bXIYyJq4,5958
|
|
50
63
|
datachain/func/window.py,sha256=0MB1yjpVbwOrl_WNLZ8V3jkJz3o0XlYinpAcZQJuxiA,1688
|
|
51
64
|
datachain/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
-
datachain/lib/arrow.py,sha256=
|
|
65
|
+
datachain/lib/arrow.py,sha256=N1s59qNLtkpGRk400pztuukzekC_Yt_hvNfhul7Rf_Y,9902
|
|
53
66
|
datachain/lib/clip.py,sha256=lm5CzVi4Cj1jVLEKvERKArb-egb9j1Ls-fwTItT6vlI,6150
|
|
54
67
|
datachain/lib/data_model.py,sha256=zS4lmXHVBXc9ntcyea2a1CRLXGSAN_0glXcF88CohgY,2685
|
|
55
68
|
datachain/lib/dataset_info.py,sha256=IjdF1E0TQNOq9YyynfWiCFTeZpbyGfyJvxgJY4YN810,2493
|
|
56
|
-
datachain/lib/dc.py,sha256=
|
|
57
|
-
datachain/lib/
|
|
58
|
-
datachain/lib/
|
|
59
|
-
datachain/lib/hf.py,sha256=a-zFpDmZIR4r8dlNNTjfpAKSnuJ9xyRXlgcdENiXt3E,5864
|
|
69
|
+
datachain/lib/dc.py,sha256=qwZzHQ0blx3nddmNIHjRYaGcsDfoAVIhWYEYeRq8p4Q,91234
|
|
70
|
+
datachain/lib/file.py,sha256=VGC5Bj5BGLIj-6KOICP_H7IbRhYsKuGoh293GCmJCfs,15440
|
|
71
|
+
datachain/lib/hf.py,sha256=CfRbT3VQ8_siLQ0tFuvNwx4n4D2m4AfEjJ9MKO7Ukww,5877
|
|
60
72
|
datachain/lib/image.py,sha256=AMXYwQsmarZjRbPCZY3M1jDsM2WAB_b3cTY4uOIuXNU,2675
|
|
61
|
-
datachain/lib/listing.py,sha256=
|
|
73
|
+
datachain/lib/listing.py,sha256=6TRVCoXzC83wLFSyVOdA90_yxbKUmgcVYgIDSYuixiA,6621
|
|
62
74
|
datachain/lib/listing_info.py,sha256=9ua40Hw0aiQByUw3oAEeNzMavJYfW0Uhe8YdCTK-m_g,1110
|
|
63
75
|
datachain/lib/meta_formats.py,sha256=hDPfEkcmiLZOjhBBXuareMdnq65Wj8vZvxjmum6cROM,6377
|
|
64
76
|
datachain/lib/model_store.py,sha256=DNIv8Y6Jtk1_idNLzIpsThOsdW2BMAudyUCbPUcgcxk,2515
|
|
65
|
-
datachain/lib/pytorch.py,sha256=
|
|
77
|
+
datachain/lib/pytorch.py,sha256=hExKapbOSA9Bw1DQZd4tMf_xnZ9nCwygSGU9EGUW9Jo,7641
|
|
66
78
|
datachain/lib/settings.py,sha256=ZELRCTLbi5vzRPiDX6cQ9LLg9TefJ_A05gIGni0lll8,2535
|
|
67
|
-
datachain/lib/signal_schema.py,sha256=
|
|
79
|
+
datachain/lib/signal_schema.py,sha256=ps5od6zhWtdX3Khx2fwArl2xlGkK8SKi6vCQ6QmbaR0,27404
|
|
68
80
|
datachain/lib/tar.py,sha256=3WIzao6yD5fbLqXLTt9GhPGNonbFIs_fDRu-9vgLgsA,1038
|
|
69
81
|
datachain/lib/text.py,sha256=UNHm8fhidk7wdrWqacEWaA6I9ykfYqarQ2URby7jc7M,1261
|
|
70
|
-
datachain/lib/udf.py,sha256=
|
|
82
|
+
datachain/lib/udf.py,sha256=gTdUTa2qKpmVQqkYMotXGUvFjiTCUrqR14FctazDcfc,14995
|
|
71
83
|
datachain/lib/udf_signature.py,sha256=GXw24A-Olna6DWCdgy2bC-gZh_gLGPQ-KvjuI6pUjC0,7281
|
|
72
84
|
datachain/lib/utils.py,sha256=QrjVs_oLRXEotOPUYurBJypBFi_ReTJmxcnJeH4j2Uk,1596
|
|
73
85
|
datachain/lib/vfile.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -89,8 +101,8 @@ datachain/model/ultralytics/pose.py,sha256=71KBTcoST2wcEtsyGXqLVpvUtqbp9gwZGA15p
|
|
|
89
101
|
datachain/model/ultralytics/segment.py,sha256=Z1ab0tZRJubSYNH4KkFlzhYeGNTfAyC71KmkQcToHDQ,2760
|
|
90
102
|
datachain/query/__init__.py,sha256=7DhEIjAA8uZJfejruAVMZVcGFmvUpffuZJwgRqNwe-c,263
|
|
91
103
|
datachain/query/batch.py,sha256=6w8gzLTmLeylststu-gT5jIqEfi4-djS7_yTYyeo-fw,4190
|
|
92
|
-
datachain/query/dataset.py,sha256=
|
|
93
|
-
datachain/query/dispatch.py,sha256=
|
|
104
|
+
datachain/query/dataset.py,sha256=VL9iyVlX3jvir5XVnVxvfM2msBvxFsJGiwXaKkJIrmY,56148
|
|
105
|
+
datachain/query/dispatch.py,sha256=_1vjeQ1wjUoxlik55k0JkWqQCUfMjgVWmEOyWRkx0dU,12437
|
|
94
106
|
datachain/query/metrics.py,sha256=r5b0ygYhokbXp8Mg3kCH8iFSRw0jxzyeBe-C-J_bKFc,938
|
|
95
107
|
datachain/query/params.py,sha256=O_j89mjYRLOwWNhYZl-z7mi-rkdP7WyFmaDufsdTryE,863
|
|
96
108
|
datachain/query/queue.py,sha256=waqM_KzavU8C-G95-4211Nd4GXna_u2747Chgwtgz2w,3839
|
|
@@ -121,9 +133,9 @@ datachain/sql/sqlite/vector.py,sha256=ncW4eu2FlJhrP_CIpsvtkUabZlQdl2D5Lgwy_cbfqR
|
|
|
121
133
|
datachain/toolkit/__init__.py,sha256=eQ58Q5Yf_Fgv1ZG0IO5dpB4jmP90rk8YxUWmPc1M2Bo,68
|
|
122
134
|
datachain/toolkit/split.py,sha256=z3zRJNzjWrpPuRw-zgFbCOBKInyYxJew8ygrYQRQLNc,2930
|
|
123
135
|
datachain/torch/__init__.py,sha256=gIS74PoEPy4TB3X6vx9nLO0Y3sLJzsA8ckn8pRWihJM,579
|
|
124
|
-
datachain-0.8.
|
|
125
|
-
datachain-0.8.
|
|
126
|
-
datachain-0.8.
|
|
127
|
-
datachain-0.8.
|
|
128
|
-
datachain-0.8.
|
|
129
|
-
datachain-0.8.
|
|
136
|
+
datachain-0.8.5.dist-info/LICENSE,sha256=8DnqK5yoPI_E50bEg_zsHKZHY2HqPy4rYN338BHQaRA,11344
|
|
137
|
+
datachain-0.8.5.dist-info/METADATA,sha256=hwFSeah_bNcAtJvdN_xPnvAFjz17hoK2MCHQbtUZD9I,11064
|
|
138
|
+
datachain-0.8.5.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
139
|
+
datachain-0.8.5.dist-info/entry_points.txt,sha256=0GMJS6B_KWq0m3VT98vQI2YZodAMkn4uReZ_okga9R4,49
|
|
140
|
+
datachain-0.8.5.dist-info/top_level.txt,sha256=lZPpdU_2jJABLNIg2kvEOBi8PtsYikbN1OdMLHk8bTg,10
|
|
141
|
+
datachain-0.8.5.dist-info/RECORD,,
|