datachain 0.13.0__py3-none-any.whl → 0.14.0__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 +28 -1
- datachain/catalog/catalog.py +18 -9
- datachain/cli/commands/ls.py +2 -2
- datachain/cli/commands/show.py +2 -3
- datachain/diff/__init__.py +8 -5
- datachain/lib/dc/__init__.py +32 -0
- datachain/lib/dc/csv.py +127 -0
- datachain/lib/{dc.py → dc/datachain.py} +144 -733
- datachain/lib/dc/datasets.py +149 -0
- datachain/lib/dc/hf.py +73 -0
- datachain/lib/dc/json.py +91 -0
- datachain/lib/dc/listings.py +43 -0
- datachain/lib/dc/pandas.py +56 -0
- datachain/lib/dc/parquet.py +65 -0
- datachain/lib/dc/records.py +90 -0
- datachain/lib/dc/storage.py +118 -0
- datachain/lib/dc/utils.py +128 -0
- datachain/lib/dc/values.py +53 -0
- datachain/lib/meta_formats.py +2 -4
- datachain/lib/pytorch.py +2 -2
- datachain/lib/udf.py +3 -3
- datachain/toolkit/split.py +2 -2
- {datachain-0.13.0.dist-info → datachain-0.14.0.dist-info}/METADATA +12 -11
- {datachain-0.13.0.dist-info → datachain-0.14.0.dist-info}/RECORD +28 -16
- {datachain-0.13.0.dist-info → datachain-0.14.0.dist-info}/WHEEL +1 -1
- {datachain-0.13.0.dist-info → datachain-0.14.0.dist-info}/entry_points.txt +0 -0
- {datachain-0.13.0.dist-info → datachain-0.14.0.dist-info/licenses}/LICENSE +0 -0
- {datachain-0.13.0.dist-info → datachain-0.14.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
from collections.abc import Sequence
|
|
2
|
+
from functools import wraps
|
|
3
|
+
from typing import (
|
|
4
|
+
TYPE_CHECKING,
|
|
5
|
+
Callable,
|
|
6
|
+
Optional,
|
|
7
|
+
TypeVar,
|
|
8
|
+
Union,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
import sqlalchemy
|
|
12
|
+
from sqlalchemy.sql.functions import GenericFunction
|
|
13
|
+
|
|
14
|
+
from datachain.func.base import Function
|
|
15
|
+
from datachain.lib.data_model import DataModel, DataType
|
|
16
|
+
from datachain.lib.utils import DataChainParamsError
|
|
17
|
+
from datachain.query.schema import DEFAULT_DELIMITER
|
|
18
|
+
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
from typing_extensions import Concatenate, ParamSpec
|
|
21
|
+
|
|
22
|
+
from .datachain import DataChain
|
|
23
|
+
|
|
24
|
+
P = ParamSpec("P")
|
|
25
|
+
|
|
26
|
+
D = TypeVar("D", bound="DataChain")
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def resolve_columns(
|
|
30
|
+
method: "Callable[Concatenate[D, P], D]",
|
|
31
|
+
) -> "Callable[Concatenate[D, P], D]":
|
|
32
|
+
"""Decorator that resolvs input column names to their actual DB names. This is
|
|
33
|
+
specially important for nested columns as user works with them by using dot
|
|
34
|
+
notation e.g (file.name) but are actually defined with default delimiter
|
|
35
|
+
in DB, e.g file__name.
|
|
36
|
+
If there are any sql functions in arguments, they will just be transferred as is
|
|
37
|
+
to a method.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
@wraps(method)
|
|
41
|
+
def _inner(self: D, *args: "P.args", **kwargs: "P.kwargs") -> D:
|
|
42
|
+
resolved_args = self.signals_schema.resolve(
|
|
43
|
+
*[arg for arg in args if not isinstance(arg, GenericFunction)] # type: ignore[arg-type]
|
|
44
|
+
).db_signals()
|
|
45
|
+
|
|
46
|
+
for idx, arg in enumerate(args):
|
|
47
|
+
if isinstance(arg, GenericFunction):
|
|
48
|
+
resolved_args.insert(idx, arg) # type: ignore[arg-type]
|
|
49
|
+
|
|
50
|
+
return method(self, *resolved_args, **kwargs)
|
|
51
|
+
|
|
52
|
+
return _inner
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class DatasetPrepareError(DataChainParamsError):
|
|
56
|
+
def __init__(self, name, msg, output=None):
|
|
57
|
+
name = f" '{name}'" if name else ""
|
|
58
|
+
output = f" output '{output}'" if output else ""
|
|
59
|
+
super().__init__(f"Dataset{name}{output} processing prepare error: {msg}")
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class DatasetFromValuesError(DataChainParamsError):
|
|
63
|
+
def __init__(self, name, msg):
|
|
64
|
+
name = f" '{name}'" if name else ""
|
|
65
|
+
super().__init__(f"Dataset{name} from values error: {msg}")
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
MergeColType = Union[str, Function, sqlalchemy.ColumnElement]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def _validate_merge_on(
|
|
72
|
+
on: Union[MergeColType, Sequence[MergeColType]],
|
|
73
|
+
ds: "DataChain",
|
|
74
|
+
) -> Sequence[MergeColType]:
|
|
75
|
+
if isinstance(on, (str, sqlalchemy.ColumnElement)):
|
|
76
|
+
return [on]
|
|
77
|
+
if isinstance(on, Function):
|
|
78
|
+
return [on.get_column(table=ds._query.table)]
|
|
79
|
+
if isinstance(on, Sequence):
|
|
80
|
+
return [
|
|
81
|
+
c.get_column(table=ds._query.table) if isinstance(c, Function) else c
|
|
82
|
+
for c in on
|
|
83
|
+
]
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def _get_merge_error_str(col: MergeColType) -> str:
|
|
87
|
+
if isinstance(col, str):
|
|
88
|
+
return col
|
|
89
|
+
if isinstance(col, Function):
|
|
90
|
+
return f"{col.name}()"
|
|
91
|
+
if isinstance(col, sqlalchemy.Column):
|
|
92
|
+
return col.name.replace(DEFAULT_DELIMITER, ".")
|
|
93
|
+
if isinstance(col, sqlalchemy.ColumnElement) and hasattr(col, "name"):
|
|
94
|
+
return f"{col.name} expression"
|
|
95
|
+
return str(col)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class DatasetMergeError(DataChainParamsError):
|
|
99
|
+
def __init__(
|
|
100
|
+
self,
|
|
101
|
+
on: Union[MergeColType, Sequence[MergeColType]],
|
|
102
|
+
right_on: Optional[Union[MergeColType, Sequence[MergeColType]]],
|
|
103
|
+
msg: str,
|
|
104
|
+
):
|
|
105
|
+
def _get_str(
|
|
106
|
+
on: Union[MergeColType, Sequence[MergeColType]],
|
|
107
|
+
) -> str:
|
|
108
|
+
if not isinstance(on, Sequence):
|
|
109
|
+
return str(on) # type: ignore[unreachable]
|
|
110
|
+
return ", ".join([_get_merge_error_str(col) for col in on])
|
|
111
|
+
|
|
112
|
+
on_str = _get_str(on)
|
|
113
|
+
right_on_str = (
|
|
114
|
+
", right_on='" + _get_str(right_on) + "'"
|
|
115
|
+
if right_on and isinstance(right_on, Sequence)
|
|
116
|
+
else ""
|
|
117
|
+
)
|
|
118
|
+
super().__init__(f"Merge error on='{on_str}'{right_on_str}: {msg}")
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
OutputType = Union[None, DataType, Sequence[str], dict[str, DataType]]
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
class Sys(DataModel):
|
|
125
|
+
"""Model for internal DataChain signals `id` and `rand`."""
|
|
126
|
+
|
|
127
|
+
id: int
|
|
128
|
+
rand: int
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
from collections.abc import Iterator
|
|
2
|
+
from typing import (
|
|
3
|
+
TYPE_CHECKING,
|
|
4
|
+
Optional,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
from datachain.lib.convert.values_to_tuples import values_to_tuples
|
|
8
|
+
from datachain.lib.data_model import dict_to_data_model
|
|
9
|
+
from datachain.lib.dc.records import from_records
|
|
10
|
+
from datachain.lib.dc.utils import OutputType
|
|
11
|
+
from datachain.query import Session
|
|
12
|
+
|
|
13
|
+
if TYPE_CHECKING:
|
|
14
|
+
from typing_extensions import ParamSpec
|
|
15
|
+
|
|
16
|
+
from .datachain import DataChain
|
|
17
|
+
|
|
18
|
+
P = ParamSpec("P")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def from_values(
|
|
22
|
+
ds_name: str = "",
|
|
23
|
+
session: Optional[Session] = None,
|
|
24
|
+
settings: Optional[dict] = None,
|
|
25
|
+
in_memory: bool = False,
|
|
26
|
+
output: OutputType = None,
|
|
27
|
+
object_name: str = "",
|
|
28
|
+
**fr_map,
|
|
29
|
+
) -> "DataChain":
|
|
30
|
+
"""Generate chain from list of values.
|
|
31
|
+
|
|
32
|
+
Example:
|
|
33
|
+
```py
|
|
34
|
+
import datachain as dc
|
|
35
|
+
dc.from_values(fib=[1, 2, 3, 5, 8])
|
|
36
|
+
```
|
|
37
|
+
"""
|
|
38
|
+
from .datachain import DataChain
|
|
39
|
+
|
|
40
|
+
tuple_type, output, tuples = values_to_tuples(ds_name, output, **fr_map)
|
|
41
|
+
|
|
42
|
+
def _func_fr() -> Iterator[tuple_type]: # type: ignore[valid-type]
|
|
43
|
+
yield from tuples
|
|
44
|
+
|
|
45
|
+
chain = from_records(
|
|
46
|
+
DataChain.DEFAULT_FILE_RECORD,
|
|
47
|
+
session=session,
|
|
48
|
+
settings=settings,
|
|
49
|
+
in_memory=in_memory,
|
|
50
|
+
)
|
|
51
|
+
if object_name:
|
|
52
|
+
output = {object_name: dict_to_data_model(object_name, output)} # type: ignore[arg-type]
|
|
53
|
+
return chain.gen(_func_fr, output=output)
|
datachain/lib/meta_formats.py
CHANGED
|
@@ -103,12 +103,10 @@ def read_meta( # noqa: C901
|
|
|
103
103
|
model_name=None,
|
|
104
104
|
nrows=None,
|
|
105
105
|
) -> Callable:
|
|
106
|
-
from datachain
|
|
106
|
+
from datachain import from_storage
|
|
107
107
|
|
|
108
108
|
if schema_from:
|
|
109
|
-
file = next(
|
|
110
|
-
DataChain.from_storage(schema_from, type="text").limit(1).collect("file")
|
|
111
|
-
)
|
|
109
|
+
file = next(from_storage(schema_from, type="text").limit(1).collect("file"))
|
|
112
110
|
model_code = gen_datamodel_code(
|
|
113
111
|
file, format=format, jmespath=jmespath, model_name=model_name
|
|
114
112
|
)
|
datachain/lib/pytorch.py
CHANGED
|
@@ -14,7 +14,7 @@ from torchvision.transforms import v2
|
|
|
14
14
|
from datachain import Session
|
|
15
15
|
from datachain.cache import get_temp_cache
|
|
16
16
|
from datachain.catalog import Catalog, get_catalog
|
|
17
|
-
from datachain.lib.dc import
|
|
17
|
+
from datachain.lib.dc.datasets import from_dataset
|
|
18
18
|
from datachain.lib.settings import Settings
|
|
19
19
|
from datachain.lib.text import convert_text
|
|
20
20
|
from datachain.progress import CombinedDownloadCallback
|
|
@@ -122,7 +122,7 @@ class PytorchDataset(IterableDataset):
|
|
|
122
122
|
) -> Generator[tuple[Any, ...], None, None]:
|
|
123
123
|
catalog = self._get_catalog()
|
|
124
124
|
session = Session("PyTorch", catalog=catalog)
|
|
125
|
-
ds =
|
|
125
|
+
ds = from_dataset(
|
|
126
126
|
name=self.name, version=self.version, session=session
|
|
127
127
|
).settings(cache=self.cache, prefetch=self.prefetch)
|
|
128
128
|
ds = ds.remove_file_signals()
|
datachain/lib/udf.py
CHANGED
|
@@ -123,10 +123,10 @@ class UDFBase(AbstractUDF):
|
|
|
123
123
|
|
|
124
124
|
Example:
|
|
125
125
|
```py
|
|
126
|
-
|
|
126
|
+
import datachain as dc
|
|
127
127
|
import open_clip
|
|
128
128
|
|
|
129
|
-
class ImageEncoder(Mapper):
|
|
129
|
+
class ImageEncoder(dc.Mapper):
|
|
130
130
|
def __init__(self, model_name: str, pretrained: str):
|
|
131
131
|
self.model_name = model_name
|
|
132
132
|
self.pretrained = pretrained
|
|
@@ -145,7 +145,7 @@ class UDFBase(AbstractUDF):
|
|
|
145
145
|
return emb[0].tolist()
|
|
146
146
|
|
|
147
147
|
(
|
|
148
|
-
|
|
148
|
+
dc.from_storage(
|
|
149
149
|
"gs://datachain-demo/fashion-product-images/images", type="image"
|
|
150
150
|
)
|
|
151
151
|
.limit(5)
|
datachain/toolkit/split.py
CHANGED
|
@@ -37,11 +37,11 @@ def train_test_split(
|
|
|
37
37
|
Examples:
|
|
38
38
|
Train-test split:
|
|
39
39
|
```python
|
|
40
|
-
|
|
40
|
+
import datachain as dc
|
|
41
41
|
from datachain.toolkit import train_test_split
|
|
42
42
|
|
|
43
43
|
# Load a DataChain from a storage source (e.g., S3 bucket)
|
|
44
|
-
dc =
|
|
44
|
+
dc = dc.from_storage("s3://bucket/dir/")
|
|
45
45
|
|
|
46
46
|
# Perform a 70/30 train-test split
|
|
47
47
|
train, test = train_test_split(dc, [0.7, 0.3])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: datachain
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.0
|
|
4
4
|
Summary: Wrangle unstructured AI data at scale
|
|
5
5
|
Author-email: Dmitry Petrov <support@dvc.org>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -107,6 +107,7 @@ Requires-Dist: accelerate; extra == "examples"
|
|
|
107
107
|
Requires-Dist: huggingface_hub[hf_transfer]; extra == "examples"
|
|
108
108
|
Requires-Dist: ultralytics; extra == "examples"
|
|
109
109
|
Requires-Dist: open_clip_torch; extra == "examples"
|
|
110
|
+
Dynamic: license-file
|
|
110
111
|
|
|
111
112
|
================
|
|
112
113
|
|logo| DataChain
|
|
@@ -168,16 +169,16 @@ high confidence scores.
|
|
|
168
169
|
|
|
169
170
|
.. code:: py
|
|
170
171
|
|
|
171
|
-
|
|
172
|
+
import datachain as dc
|
|
172
173
|
|
|
173
|
-
meta =
|
|
174
|
-
images =
|
|
174
|
+
meta = dc.from_json("gs://datachain-demo/dogs-and-cats/*json", object_name="meta", anon=True)
|
|
175
|
+
images = dc.from_storage("gs://datachain-demo/dogs-and-cats/*jpg", anon=True)
|
|
175
176
|
|
|
176
177
|
images_id = images.map(id=lambda file: file.path.split('.')[-2])
|
|
177
178
|
annotated = images_id.merge(meta, on="id", right_on="meta.id")
|
|
178
179
|
|
|
179
|
-
likely_cats = annotated.filter((Column("meta.inference.confidence") > 0.93) \
|
|
180
|
-
& (Column("meta.inference.class_") == "cat"))
|
|
180
|
+
likely_cats = annotated.filter((dc.Column("meta.inference.confidence") > 0.93) \
|
|
181
|
+
& (dc.Column("meta.inference.class_") == "cat"))
|
|
181
182
|
likely_cats.to_storage("high-confidence-cats/", signal="file")
|
|
182
183
|
|
|
183
184
|
|
|
@@ -198,11 +199,11 @@ Python code:
|
|
|
198
199
|
|
|
199
200
|
import os
|
|
200
201
|
from mistralai import Mistral
|
|
201
|
-
|
|
202
|
+
import datachain as dc
|
|
202
203
|
|
|
203
204
|
PROMPT = "Was this dialog successful? Answer in a single word: Success or Failure."
|
|
204
205
|
|
|
205
|
-
def eval_dialogue(file: File) -> bool:
|
|
206
|
+
def eval_dialogue(file: dc.File) -> bool:
|
|
206
207
|
client = Mistral(api_key = os.environ["MISTRAL_API_KEY"])
|
|
207
208
|
response = client.chat.complete(
|
|
208
209
|
model="open-mixtral-8x22b",
|
|
@@ -212,13 +213,13 @@ Python code:
|
|
|
212
213
|
return result.lower().startswith("success")
|
|
213
214
|
|
|
214
215
|
chain = (
|
|
215
|
-
|
|
216
|
+
dc.from_storage("gs://datachain-demo/chatbot-KiT/", object_name="file", anon=True)
|
|
216
217
|
.settings(parallel=4, cache=True)
|
|
217
218
|
.map(is_success=eval_dialogue)
|
|
218
219
|
.save("mistral_files")
|
|
219
220
|
)
|
|
220
221
|
|
|
221
|
-
successful_chain = chain.filter(Column("is_success") == True)
|
|
222
|
+
successful_chain = chain.filter(dc.Column("is_success") == True)
|
|
222
223
|
successful_chain.to_storage("./output_mistral")
|
|
223
224
|
|
|
224
225
|
print(f"{successful_chain.count()} files were exported")
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
datachain/__init__.py,sha256=
|
|
1
|
+
datachain/__init__.py,sha256=M_0MfSBJqlWA9hI3z47Yu36fxkxsekbpvNa-LBa1e5Q,1414
|
|
2
2
|
datachain/__main__.py,sha256=hG3Y4ARGEqe1AWwNMd259rBlqtphx1Wk39YbueQ0yV8,91
|
|
3
3
|
datachain/asyn.py,sha256=RH_jFwJcTXxhEFomaI9yL6S3Onau6NZ6FSKfKFGtrJE,9689
|
|
4
4
|
datachain/cache.py,sha256=yQblPhOh_Mq74Ma7xT1CL1idLJ0HgrQxpGVYvRy_9Eg,3623
|
|
@@ -17,7 +17,7 @@ datachain/studio.py,sha256=9MEpFPLKI3gG4isKklcfD5BMLeNsSXhtOUboOjW4Fdc,10017
|
|
|
17
17
|
datachain/telemetry.py,sha256=0A4IOPPp9VlP5pyW9eBfaTK3YhHGzHl7dQudQjUAx9A,994
|
|
18
18
|
datachain/utils.py,sha256=CLAYkI7iPbLYw3Pjh5EkWuc2UOs8wEbuXQnqIs4UyV8,14173
|
|
19
19
|
datachain/catalog/__init__.py,sha256=cMZzSz3VoUi-6qXSVaHYN-agxQuAcz2XSqnEPZ55crE,353
|
|
20
|
-
datachain/catalog/catalog.py,sha256=
|
|
20
|
+
datachain/catalog/catalog.py,sha256=6dDTbSom8JzxLD_cbFboKtsiYtGR5WIOEOQTtCQ5mws,60722
|
|
21
21
|
datachain/catalog/datasource.py,sha256=IkGMh0Ttg6Q-9DWfU_H05WUnZepbGa28HYleECi6K7I,1353
|
|
22
22
|
datachain/catalog/loader.py,sha256=AhSQR_-S-9lY3DcXn3PVZv9UtarHOMlDy2x75iDwUjo,6035
|
|
23
23
|
datachain/cli/__init__.py,sha256=YPVkuQ7IezNhtzo5xrfca1hEIiZtFxOlJCOzAOEuxmA,8335
|
|
@@ -26,10 +26,10 @@ datachain/cli/commands/__init__.py,sha256=zp3bYIioO60x_X04A4-IpZqSYVnpwOa1AdERQa
|
|
|
26
26
|
datachain/cli/commands/datasets.py,sha256=865ui6q4UVPbL_-jk18C-lYi_bGMlh7XhfRaHbbNyhk,5796
|
|
27
27
|
datachain/cli/commands/du.py,sha256=9edEzDEs98K2VYk8Wf-ZMpUzALcgm9uD6YtoqbvtUGU,391
|
|
28
28
|
datachain/cli/commands/index.py,sha256=eglNaIe1yyIadUHHumjtNbgIjht6kme7SS7xE3YHR88,198
|
|
29
|
-
datachain/cli/commands/ls.py,sha256=
|
|
29
|
+
datachain/cli/commands/ls.py,sha256=dSD2_MHng4t9HRFJZWMOCjPL4XU3qaBV3piNl8UXP08,5275
|
|
30
30
|
datachain/cli/commands/misc.py,sha256=c0DmkOLwcDI2YhA8ArOuLJk6aGzSMZCiKL_E2JGibVE,600
|
|
31
31
|
datachain/cli/commands/query.py,sha256=2S7hQxialt1fkbocxi6JXZI6jS5QnFrD1aOjKgZkzfI,1471
|
|
32
|
-
datachain/cli/commands/show.py,sha256=
|
|
32
|
+
datachain/cli/commands/show.py,sha256=pn8jQ5HqUpzZE3KE-iydflp8LGgfVIKR8eKwVKv6A-8,1604
|
|
33
33
|
datachain/cli/parser/__init__.py,sha256=rtjlqSsDd4LZH9WdgvluO27M4sID1wD7YkQ4cKhNXzw,15721
|
|
34
34
|
datachain/cli/parser/job.py,sha256=kvQkSfieyUmvJpOK8p78UgS8sygHhQXztRlOtVcgtaU,3449
|
|
35
35
|
datachain/cli/parser/studio.py,sha256=Y-1OlQGecLVi9QofvWUfSlPd2ISyaESf7QFGZqGsrdw,3609
|
|
@@ -50,7 +50,7 @@ datachain/data_storage/schema.py,sha256=qSukry2kINhVw8aj5lQrpe7N90DFeatKIKmDh6jA
|
|
|
50
50
|
datachain/data_storage/serializer.py,sha256=6G2YtOFqqDzJf1KbvZraKGXl2XHZyVml2krunWUum5o,927
|
|
51
51
|
datachain/data_storage/sqlite.py,sha256=KJ8hI0Hrwv9eAA-nLUlw2AYCQxiAAZ12a-ftUBtroNQ,24545
|
|
52
52
|
datachain/data_storage/warehouse.py,sha256=GGtgHcOKjnvHN6CFkGGB8m4CFgPPJBo3f-KHEFEJmDc,30730
|
|
53
|
-
datachain/diff/__init__.py,sha256=
|
|
53
|
+
datachain/diff/__init__.py,sha256=YkGdiDbZIMhAZ2SJ4eSe00HU67VP1P6SL2L_t0ODYMs,9425
|
|
54
54
|
datachain/fs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
55
|
datachain/fs/reference.py,sha256=A8McpXF0CqbXPqanXuvpKu50YLB3a2ZXA3YAPxtBXSM,914
|
|
56
56
|
datachain/fs/utils.py,sha256=s-FkTOCGBk-b6TT3toQH51s9608pofoFjUSTc1yy7oE,825
|
|
@@ -70,20 +70,19 @@ datachain/lib/arrow.py,sha256=9UBCF-lftQaz0yxdsjbLKbyzVSmrF_QSWdhp2oBDPqs,9486
|
|
|
70
70
|
datachain/lib/clip.py,sha256=lm5CzVi4Cj1jVLEKvERKArb-egb9j1Ls-fwTItT6vlI,6150
|
|
71
71
|
datachain/lib/data_model.py,sha256=ZwBXELtqROEdLL4DmxTipnwUZmhQvMz_UVDzyf7nQ9Y,2899
|
|
72
72
|
datachain/lib/dataset_info.py,sha256=IjdF1E0TQNOq9YyynfWiCFTeZpbyGfyJvxgJY4YN810,2493
|
|
73
|
-
datachain/lib/dc.py,sha256=fNIVsAU5_uPbjQhIjoXfEDEF7eImh0cqtIl39CI5sKs,99457
|
|
74
73
|
datachain/lib/file.py,sha256=HLQXS_WULm7Y-fkHMy0WpibVAcrkLPRS6CrZy6rwFe0,30450
|
|
75
74
|
datachain/lib/hf.py,sha256=gjxuStZBlKtNk3-4yYSlWZDv9zBGblOdvEy_Lwap5hA,5882
|
|
76
75
|
datachain/lib/image.py,sha256=butvUY_33PVEYPKX2nVCPeJjJVcBaptZwsE9REQsTS8,3247
|
|
77
76
|
datachain/lib/listing.py,sha256=xrgsd1_YLLiA69LnwK56oZwe0RXTBCDicGzhavF_2AQ,6665
|
|
78
77
|
datachain/lib/listing_info.py,sha256=9ua40Hw0aiQByUw3oAEeNzMavJYfW0Uhe8YdCTK-m_g,1110
|
|
79
|
-
datachain/lib/meta_formats.py,sha256=
|
|
78
|
+
datachain/lib/meta_formats.py,sha256=f-irPQH_acIYT5gzjqoOvGrGOQrm-E_0wN-4lqZF_j8,6349
|
|
80
79
|
datachain/lib/model_store.py,sha256=DNIv8Y6Jtk1_idNLzIpsThOsdW2BMAudyUCbPUcgcxk,2515
|
|
81
|
-
datachain/lib/pytorch.py,sha256=
|
|
80
|
+
datachain/lib/pytorch.py,sha256=FFCZoVkoG_FY_vJ4v_DgzijEEcTozuddlPz1uAa5tyg,7712
|
|
82
81
|
datachain/lib/settings.py,sha256=ZELRCTLbi5vzRPiDX6cQ9LLg9TefJ_A05gIGni0lll8,2535
|
|
83
82
|
datachain/lib/signal_schema.py,sha256=DRatqSG7OVtCUCWyZvMXe4m7r7XFO6NCfzsJRDErMtg,35185
|
|
84
83
|
datachain/lib/tar.py,sha256=3WIzao6yD5fbLqXLTt9GhPGNonbFIs_fDRu-9vgLgsA,1038
|
|
85
84
|
datachain/lib/text.py,sha256=UNHm8fhidk7wdrWqacEWaA6I9ykfYqarQ2URby7jc7M,1261
|
|
86
|
-
datachain/lib/udf.py,sha256=
|
|
85
|
+
datachain/lib/udf.py,sha256=6ZCn9qIAVwQA4zEyWiTb1jaSLkpkBXeGeaH8EB7Im3I,16168
|
|
87
86
|
datachain/lib/udf_signature.py,sha256=2EtsOPDNSPqcOlYwqbCdy6RF5MldI-7smii8aLy8p7Y,7543
|
|
88
87
|
datachain/lib/utils.py,sha256=QrjVs_oLRXEotOPUYurBJypBFi_ReTJmxcnJeH4j2Uk,1596
|
|
89
88
|
datachain/lib/video.py,sha256=suH_8Mi8VYk4-IVb1vjSduF_njs64ji1WGKHxDLnGYw,6629
|
|
@@ -95,6 +94,19 @@ datachain/lib/convert/python_to_sql.py,sha256=wg-O5FRKX3x3Wh8ZL1b9ntMlgf1zRO4djM
|
|
|
95
94
|
datachain/lib/convert/sql_to_python.py,sha256=XXCBYDQFUXJIBNWkjEP944cnCfJ8GF2Tji0DLF3A_zQ,315
|
|
96
95
|
datachain/lib/convert/unflatten.py,sha256=ysMkstwJzPMWUlnxn-Z-tXJR3wmhjHeSN_P-sDcLS6s,2010
|
|
97
96
|
datachain/lib/convert/values_to_tuples.py,sha256=EFfIGBiVVltJQG8blzsQ1dGXneh4D3wdLfSUeoK10OI,3931
|
|
97
|
+
datachain/lib/dc/__init__.py,sha256=QKjTAYrigSoy74RQHmNS_86SEOisKk-BLDREYaJ_olY,743
|
|
98
|
+
datachain/lib/dc/csv.py,sha256=OaVHYnOZiYEfsUcispXuGcIYQKF03u4XrRf6Fgce6Kk,4401
|
|
99
|
+
datachain/lib/dc/datachain.py,sha256=NdGCRNk3NZCGQHs-sq0jiKkvsXiowiqDQTY_X4AbL6o,76390
|
|
100
|
+
datachain/lib/dc/datasets.py,sha256=0vdgNpA_xakFgnfm78I1yU98u2hvOawOXS872pg2F48,4329
|
|
101
|
+
datachain/lib/dc/hf.py,sha256=F_ME1IpUlQfhqVGe__Uz7jLwd-fp-O7pu50OLhkaG0w,2170
|
|
102
|
+
datachain/lib/dc/json.py,sha256=gVH69oP8b5FR1YX3c_4Z_G1nFsAQ_xFz6fBg0J-U9ak,2719
|
|
103
|
+
datachain/lib/dc/listings.py,sha256=c2ASPhwRhPDMbA5esYp3kMVw6sQ7vsWEflHWh9x7tkw,1044
|
|
104
|
+
datachain/lib/dc/pandas.py,sha256=eteVB6DqRGAU2tDF_Bep7JRU4nny3uyVPbGKOZ6PVq0,1249
|
|
105
|
+
datachain/lib/dc/parquet.py,sha256=tO0rDL3XZ24rqkUJYAYn_yAyZgIYV5N6r28MTlPE0Z0,1809
|
|
106
|
+
datachain/lib/dc/records.py,sha256=zV4vPJvCEd5mBv-E_q-VfrSXNjcfu74QY884z3QuftM,2524
|
|
107
|
+
datachain/lib/dc/storage.py,sha256=PIz6K2VOtrVV7XUNd3BESp3P5WovgaG1RgBYut0OBNA,3789
|
|
108
|
+
datachain/lib/dc/utils.py,sha256=Ct-0FqCaDhNWHx09gJFcCXJGPjMI-VZr4t-GJyqTi44,3984
|
|
109
|
+
datachain/lib/dc/values.py,sha256=PLBZew0BYO3mv7W3n8OF5Ad-5tp5eWPqlbiVxG5pJ30,1409
|
|
98
110
|
datachain/model/__init__.py,sha256=R9faX5OHV1xh2EW-g2MPedwbtEqt3LodJRyluB-QylI,189
|
|
99
111
|
datachain/model/bbox.py,sha256=cQNHuQuVsh6bW3n3Hj40F2Cc20cExQ9Lg_q7R2jxUMI,9324
|
|
100
112
|
datachain/model/pose.py,sha256=rjquA6M-I-Y30Xm6YSkGv1OY52hJZmR2AuxbIpE5uD0,3865
|
|
@@ -136,11 +148,11 @@ datachain/sql/sqlite/base.py,sha256=N-cQT0Hpu9ROWe4OiKlkkn_YP1NKCRZZ3xSfTzpyaDA,
|
|
|
136
148
|
datachain/sql/sqlite/types.py,sha256=cH6oge2E_YWFy22wY-txPJH8gxoQFSpCthtZR8PZjpo,1849
|
|
137
149
|
datachain/sql/sqlite/vector.py,sha256=ncW4eu2FlJhrP_CIpsvtkUabZlQdl2D5Lgwy_cbfqR0,469
|
|
138
150
|
datachain/toolkit/__init__.py,sha256=eQ58Q5Yf_Fgv1ZG0IO5dpB4jmP90rk8YxUWmPc1M2Bo,68
|
|
139
|
-
datachain/toolkit/split.py,sha256=
|
|
151
|
+
datachain/toolkit/split.py,sha256=VdcP_zVLqAxuSrze3BaR-dBzTmyKkCUAiAremw3OEPU,2914
|
|
140
152
|
datachain/torch/__init__.py,sha256=gIS74PoEPy4TB3X6vx9nLO0Y3sLJzsA8ckn8pRWihJM,579
|
|
141
|
-
datachain-0.
|
|
142
|
-
datachain-0.
|
|
143
|
-
datachain-0.
|
|
144
|
-
datachain-0.
|
|
145
|
-
datachain-0.
|
|
146
|
-
datachain-0.
|
|
153
|
+
datachain-0.14.0.dist-info/licenses/LICENSE,sha256=8DnqK5yoPI_E50bEg_zsHKZHY2HqPy4rYN338BHQaRA,11344
|
|
154
|
+
datachain-0.14.0.dist-info/METADATA,sha256=lC1I5lSWJX7a9oNpsRnEOM_L1W3hfnY8Op7iGWaNNcM,11324
|
|
155
|
+
datachain-0.14.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
156
|
+
datachain-0.14.0.dist-info/entry_points.txt,sha256=0GMJS6B_KWq0m3VT98vQI2YZodAMkn4uReZ_okga9R4,49
|
|
157
|
+
datachain-0.14.0.dist-info/top_level.txt,sha256=lZPpdU_2jJABLNIg2kvEOBi8PtsYikbN1OdMLHk8bTg,10
|
|
158
|
+
datachain-0.14.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|