deriva-ml 1.10.0__py3-none-any.whl → 1.11.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.
- deriva_ml/dataset.py +1 -1
- deriva_ml/dataset_bag.py +10 -3
- deriva_ml/demo_catalog.py +84 -78
- deriva_ml/deriva_definitions.py +2 -2
- deriva_ml/deriva_ml_base.py +87 -128
- deriva_ml/deriva_model.py +25 -0
- deriva_ml/execution.py +389 -309
- deriva_ml/execution_configuration.py +16 -6
- deriva_ml/feature.py +1 -2
- deriva_ml/schema_setup/create_schema.py +223 -183
- deriva_ml/upload.py +95 -232
- {deriva_ml-1.10.0.dist-info → deriva_ml-1.11.0.dist-info}/METADATA +2 -1
- deriva_ml-1.11.0.dist-info/RECORD +27 -0
- {deriva_ml-1.10.0.dist-info → deriva_ml-1.11.0.dist-info}/WHEEL +1 -1
- deriva_ml-1.10.0.dist-info/RECORD +0 -27
- {deriva_ml-1.10.0.dist-info → deriva_ml-1.11.0.dist-info}/entry_points.txt +0 -0
- {deriva_ml-1.10.0.dist-info → deriva_ml-1.11.0.dist-info}/licenses/LICENSE +0 -0
- {deriva_ml-1.10.0.dist-info → deriva_ml-1.11.0.dist-info}/top_level.txt +0 -0
deriva_ml/upload.py
CHANGED
|
@@ -19,22 +19,20 @@ Here is the directory layout we support:
|
|
|
19
19
|
asset
|
|
20
20
|
<asset_table>
|
|
21
21
|
file1, file2, ...
|
|
22
|
-
<feature_name>.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
file1, file2, ....
|
|
37
|
-
|
|
22
|
+
<feature_name>.jsonl <- needs to have asset_name column remapped before uploading
|
|
23
|
+
table
|
|
24
|
+
<schema>
|
|
25
|
+
<record_table>
|
|
26
|
+
record_table.csv
|
|
27
|
+
asset
|
|
28
|
+
<schema>
|
|
29
|
+
<asset_table>
|
|
30
|
+
<metadata1>
|
|
31
|
+
<metadata2>
|
|
32
|
+
file1, file2, ....
|
|
33
|
+
asset-type
|
|
34
|
+
<schema>
|
|
35
|
+
file1.jsonl, file2.jsonl
|
|
38
36
|
"""
|
|
39
37
|
|
|
40
38
|
import json
|
|
@@ -55,27 +53,21 @@ from deriva_ml.deriva_definitions import (
|
|
|
55
53
|
DerivaMLException,
|
|
56
54
|
FileUploadState,
|
|
57
55
|
UploadState,
|
|
56
|
+
DerivaSystemColumns,
|
|
58
57
|
)
|
|
59
58
|
from deriva_ml.deriva_model import DerivaModel
|
|
60
59
|
|
|
60
|
+
|
|
61
|
+
try:
|
|
62
|
+
from icecream import ic
|
|
63
|
+
except ImportError: # Graceful fallback if IceCream isn't installed.
|
|
64
|
+
ic = lambda *a: None if not a else (a[0] if len(a) == 1 else a) # noqa
|
|
65
|
+
|
|
66
|
+
|
|
61
67
|
upload_root_regex = r"(?i)^.*/deriva-ml"
|
|
62
68
|
|
|
63
69
|
exec_dir_regex = upload_root_regex + r"/execution/(?P<execution_rid>[-\w]+)"
|
|
64
|
-
exec_asset_dir_regex = (
|
|
65
|
-
exec_dir_regex + r"/execution-asset/(?P<execution_asset_type>[-\w]+)"
|
|
66
|
-
)
|
|
67
|
-
exec_asset_regex = (
|
|
68
|
-
exec_asset_dir_regex + r"/(?P<file_name>[-\w]+)[.](?P<file_ext>[a-z0-9]+)$"
|
|
69
|
-
)
|
|
70
|
-
exec_metadata_dir_regex = (
|
|
71
|
-
exec_dir_regex + r"/execution-metadata/(?P<execution_metadata_type>[-\w]+)"
|
|
72
|
-
)
|
|
73
70
|
|
|
74
|
-
# May have more than one suffix
|
|
75
|
-
exec_metadata_regex = (
|
|
76
|
-
exec_metadata_dir_regex
|
|
77
|
-
+ r"/(?P<filename>[-\w]+([.][\w]+)*)[.](?P<file_ext>[a-z0-9]*)$"
|
|
78
|
-
)
|
|
79
71
|
feature_dir_regex = exec_dir_regex + r"/feature"
|
|
80
72
|
feature_table_dir_regex = (
|
|
81
73
|
feature_dir_regex
|
|
@@ -89,9 +81,8 @@ feature_asset_regex = (
|
|
|
89
81
|
feature_asset_dir_regex
|
|
90
82
|
+ r"/(?P<file_name>[A-Za-z0-9_-]+)[.](?P<file_ext>[a-z0-9]*)$"
|
|
91
83
|
)
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
)
|
|
84
|
+
|
|
85
|
+
asset_path_regex = exec_dir_regex + r"/asset/(?P<schema>[-\w]+)/(?P<asset_table>[-\w]*)"
|
|
95
86
|
|
|
96
87
|
asset_file_regex = r"(?P<file_name>[-\w]+)[.](?P<file_ext>[a-z0-9]*)$"
|
|
97
88
|
|
|
@@ -101,24 +92,17 @@ table_regex = (
|
|
|
101
92
|
)
|
|
102
93
|
|
|
103
94
|
|
|
104
|
-
def is_execution_metadata_dir(path: Path) -> Optional[re.Match]:
|
|
105
|
-
"""Path matches the patten for execution metadata directory."""
|
|
106
|
-
return re.match(exec_metadata_dir_regex + "$", path.as_posix())
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
def is_execution_asset_dir(path: Path) -> Optional[re.Match]:
|
|
110
|
-
"""Path maths the pattern for execution asset directory"""
|
|
111
|
-
return re.match(exec_asset_dir_regex + "$", path.as_posix())
|
|
112
|
-
|
|
113
|
-
|
|
114
95
|
def is_feature_dir(path: Path) -> Optional[re.Match]:
|
|
115
96
|
"""Path matches the pattern for where the table for a feature would go."""
|
|
116
97
|
return re.match(feature_table_dir_regex + "$", path.as_posix())
|
|
117
98
|
|
|
118
99
|
|
|
119
|
-
def
|
|
120
|
-
"""
|
|
121
|
-
|
|
100
|
+
def normalize_asset_dir(path: str) -> Optional[tuple[str, str]]:
|
|
101
|
+
"""Parse a path to an asset file and return the asset table name and file name"""
|
|
102
|
+
|
|
103
|
+
if not (m := re.match(asset_path_regex, path)):
|
|
104
|
+
return None
|
|
105
|
+
return f"{m['schema']}/{m['asset_table']}", Path(path).name
|
|
122
106
|
|
|
123
107
|
|
|
124
108
|
def upload_root(prefix: Path | str) -> Path:
|
|
@@ -128,20 +112,6 @@ def upload_root(prefix: Path | str) -> Path:
|
|
|
128
112
|
return path
|
|
129
113
|
|
|
130
114
|
|
|
131
|
-
def asset_root(prefix: Path | str) -> Path:
|
|
132
|
-
"""Return the top level directory of where to put asset directories to be uploaded."""
|
|
133
|
-
path = upload_root(prefix) / "asset"
|
|
134
|
-
path.mkdir(exist_ok=True, parents=True)
|
|
135
|
-
return path
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
def asset_table_dir(prefix: Path, asset_schema, asset_table) -> Path:
|
|
139
|
-
"""Return the top level directory of where to asset table will be uploaded."""
|
|
140
|
-
path = asset_root(prefix) / asset_schema / asset_table
|
|
141
|
-
path.mkdir(exist_ok=True, parents=True)
|
|
142
|
-
return path
|
|
143
|
-
|
|
144
|
-
|
|
145
115
|
def execution_rids(prefix: Path | str) -> list[RID]:
|
|
146
116
|
"""Return a list of all the execution RIDS that have files waiting to be uploaded."""
|
|
147
117
|
path = upload_root(prefix) / "execution"
|
|
@@ -155,42 +125,16 @@ def execution_root(prefix: Path | str, exec_rid) -> Path:
|
|
|
155
125
|
return path
|
|
156
126
|
|
|
157
127
|
|
|
158
|
-
def
|
|
159
|
-
"""
|
|
160
|
-
|
|
161
|
-
path = execution_root(prefix, exec_rid) / "execution-asset"
|
|
162
|
-
path.mkdir(parents=True, exist_ok=True)
|
|
163
|
-
return path
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
@validate_call(config=ConfigDict(arbitrary_types_allowed=True))
|
|
167
|
-
def execution_asset_dir(prefix: Path | str, exec_rid: str, asset_type: str) -> Path:
|
|
168
|
-
"""Return the path to a directory in which to place execution assets of a specified type are to be uploaded."""
|
|
169
|
-
path = execution_asset_root(prefix, exec_rid) / asset_type
|
|
170
|
-
path.mkdir(parents=True, exist_ok=True)
|
|
171
|
-
return path
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
def execution_metadata_root(prefix: Path | str, exec_rid: str) -> Path:
|
|
175
|
-
"""Path to directory into which execution metadata should be located."""
|
|
176
|
-
path = execution_root(prefix, exec_rid) / "execution-metadata"
|
|
177
|
-
path.mkdir(parents=True, exist_ok=True)
|
|
178
|
-
return path
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
def execution_metadata_dir(
|
|
182
|
-
prefix: Path | str, exec_rid: str, metadata_type: str
|
|
183
|
-
) -> Path:
|
|
184
|
-
"""Return the path to a directory in which to place execution metadata of a specified type are to be uploaded."""
|
|
185
|
-
|
|
186
|
-
path = execution_metadata_root(prefix, exec_rid) / metadata_type
|
|
128
|
+
def feature_root(prefix: Path | str, exec_rid: str) -> Path:
|
|
129
|
+
"""Return the path to the directory in which features for the specified execution should be placed."""
|
|
130
|
+
path = execution_root(prefix, exec_rid) / "feature"
|
|
187
131
|
path.mkdir(parents=True, exist_ok=True)
|
|
188
132
|
return path
|
|
189
133
|
|
|
190
134
|
|
|
191
|
-
def
|
|
135
|
+
def asset_root(prefix: Path | str, exec_rid: str) -> Path:
|
|
192
136
|
"""Return the path to the directory in which features for the specified execution should be placed."""
|
|
193
|
-
path = execution_root(prefix, exec_rid) / "
|
|
137
|
+
path = execution_root(prefix, exec_rid) / "asset"
|
|
194
138
|
path.mkdir(parents=True, exist_ok=True)
|
|
195
139
|
return path
|
|
196
140
|
|
|
@@ -221,41 +165,10 @@ def feature_value_path(
|
|
|
221
165
|
"""
|
|
222
166
|
return (
|
|
223
167
|
feature_dir(prefix, exec_rid, schema, target_table, feature_name)
|
|
224
|
-
/ f"{feature_name}.
|
|
168
|
+
/ f"{feature_name}.jsonl"
|
|
225
169
|
)
|
|
226
170
|
|
|
227
171
|
|
|
228
|
-
def feature_asset_dir(
|
|
229
|
-
prefix: Path | str,
|
|
230
|
-
exec_rid: str,
|
|
231
|
-
schema: str,
|
|
232
|
-
target_table: str,
|
|
233
|
-
feature_name: str,
|
|
234
|
-
asset_table: str,
|
|
235
|
-
) -> Path:
|
|
236
|
-
"""Return the path to a directory in which to place feature assets for a named feature are to be uploaded.
|
|
237
|
-
|
|
238
|
-
Args:
|
|
239
|
-
prefix: Location of upload root directory
|
|
240
|
-
exec_rid: RID of the execution for the feature asset
|
|
241
|
-
schema: Domain schema
|
|
242
|
-
target_table: Name of the target table for the feature.
|
|
243
|
-
feature_name: Name of the feature
|
|
244
|
-
asset_table: Name of the asset table for the feature.
|
|
245
|
-
|
|
246
|
-
Returns:
|
|
247
|
-
Path to directory in which feature asset files are placed.
|
|
248
|
-
"""
|
|
249
|
-
path = (
|
|
250
|
-
feature_dir(prefix, exec_rid, schema, target_table, feature_name)
|
|
251
|
-
/ "asset"
|
|
252
|
-
/ asset_table
|
|
253
|
-
)
|
|
254
|
-
|
|
255
|
-
path.mkdir(parents=True, exist_ok=True)
|
|
256
|
-
return path
|
|
257
|
-
|
|
258
|
-
|
|
259
172
|
def table_path(prefix: Path | str, schema: str, table: str) -> Path:
|
|
260
173
|
"""Return the path to a CSV file in which to place table values that are to be uploaded.
|
|
261
174
|
|
|
@@ -286,7 +199,7 @@ def asset_table_upload_spec(model: DerivaModel, asset_table: str | Table):
|
|
|
286
199
|
asset_table = model.name_to_table(asset_table)
|
|
287
200
|
schema = model.name_to_table(asset_table).schema.name
|
|
288
201
|
metadata_path = "/".join([rf"(?P<{c}>[-\w]+)" for c in metadata_columns])
|
|
289
|
-
asset_path = f"{
|
|
202
|
+
asset_path = f"{exec_dir_regex}/asset/{schema}/{asset_table.name}/{metadata_path}/{asset_file_regex}"
|
|
290
203
|
asset_table = model.name_to_table(asset_table)
|
|
291
204
|
schema = model.name_to_table(asset_table).schema.name
|
|
292
205
|
return {
|
|
@@ -321,72 +234,7 @@ def bulk_upload_configuration(model: DerivaModel) -> dict[str, Any]:
|
|
|
321
234
|
if model.asset_metadata(t)
|
|
322
235
|
]
|
|
323
236
|
return {
|
|
324
|
-
"asset_mappings":
|
|
325
|
-
{
|
|
326
|
-
# Upload any files that may have been created by the program execution. These are in the
|
|
327
|
-
# Execution_Metadata directory
|
|
328
|
-
"column_map": {
|
|
329
|
-
"MD5": "{md5}",
|
|
330
|
-
"URL": "{URI}",
|
|
331
|
-
"Length": "{file_size}",
|
|
332
|
-
"Filename": "{file_name}",
|
|
333
|
-
"Execution_Metadata_Type": "{execution_metadata_type_name}",
|
|
334
|
-
},
|
|
335
|
-
"file_pattern": exec_metadata_regex,
|
|
336
|
-
"target_table": ["deriva-ml", "Execution_Metadata"],
|
|
337
|
-
"checksum_types": ["sha256", "md5"],
|
|
338
|
-
"hatrac_options": {"versioned_urls": True},
|
|
339
|
-
"hatrac_templates": {
|
|
340
|
-
"hatrac_uri": "/hatrac/execution_metadata/{md5}.{file_name}",
|
|
341
|
-
"content-disposition": "filename*=UTF-8''{file_name}.{file_ext}",
|
|
342
|
-
},
|
|
343
|
-
"record_query_template": "/entity/{target_table}/MD5={md5}&Filename={file_name}",
|
|
344
|
-
"metadata_query_templates": [
|
|
345
|
-
"/attribute/deriva-ml:Execution_Metadata_Type/Name={execution_metadata_type}/execution_metadata_type_name:=Name"
|
|
346
|
-
],
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
# Upload the contents of the Execution_Asset directory.
|
|
350
|
-
"column_map": {
|
|
351
|
-
"MD5": "{md5}",
|
|
352
|
-
"URL": "{URI}",
|
|
353
|
-
"Length": "{file_size}",
|
|
354
|
-
"Filename": "{file_name}",
|
|
355
|
-
"Execution_Asset_Type": "{execution_asset_type_name}",
|
|
356
|
-
},
|
|
357
|
-
"file_pattern": exec_asset_regex,
|
|
358
|
-
"target_table": ["deriva-ml", "Execution_Asset"],
|
|
359
|
-
"checksum_types": ["sha256", "md5"],
|
|
360
|
-
"hatrac_options": {"versioned_urls": True},
|
|
361
|
-
"hatrac_templates": {
|
|
362
|
-
"hatrac_uri": "/hatrac/execution_asset/{md5}.{file_name}",
|
|
363
|
-
"content-disposition": "filename*=UTF-8''{file_name}.{file_ext}",
|
|
364
|
-
},
|
|
365
|
-
"record_query_template": "/entity/{target_table}/MD5={md5}&Filename={file_name}",
|
|
366
|
-
"metadata_query_templates": [
|
|
367
|
-
"/attribute/deriva-ml:Execution_Asset_Type/Name={execution_asset_type}/execution_asset_type_name:=Name"
|
|
368
|
-
],
|
|
369
|
-
},
|
|
370
|
-
{
|
|
371
|
-
# Upload the assets for a feature table.
|
|
372
|
-
"column_map": {
|
|
373
|
-
"MD5": "{md5}",
|
|
374
|
-
"URL": "{URI}",
|
|
375
|
-
"Length": "{file_size}",
|
|
376
|
-
"Filename": "{file_name}",
|
|
377
|
-
},
|
|
378
|
-
"file_pattern": feature_asset_regex, # Sets target_table, feature_name, asset_table
|
|
379
|
-
"target_table": ["{schema}", "{asset_table}"],
|
|
380
|
-
"checksum_types": ["sha256", "md5"],
|
|
381
|
-
"hatrac_options": {"versioned_urls": True},
|
|
382
|
-
"hatrac_templates": {
|
|
383
|
-
"hatrac_uri": "/hatrac/{asset_table}/{md5}.{file_name}",
|
|
384
|
-
"content-disposition": "filename*=UTF-8''{file_name}",
|
|
385
|
-
},
|
|
386
|
-
"record_query_template": "/entity/{target_table}/MD5={md5}&Filename={file_name}",
|
|
387
|
-
},
|
|
388
|
-
]
|
|
389
|
-
+ asset_tables_with_metadata
|
|
237
|
+
"asset_mappings": asset_tables_with_metadata
|
|
390
238
|
+ [
|
|
391
239
|
{
|
|
392
240
|
# Upload assets into an asset table of an asset table without any metadata
|
|
@@ -396,7 +244,8 @@ def bulk_upload_configuration(model: DerivaModel) -> dict[str, Any]:
|
|
|
396
244
|
"Length": "{file_size}",
|
|
397
245
|
"Filename": "{file_name}",
|
|
398
246
|
},
|
|
399
|
-
"
|
|
247
|
+
"asset_type": "fetch",
|
|
248
|
+
"target_table": ["{schema}", "{asset_table}"],
|
|
400
249
|
"file_pattern": asset_path_regex
|
|
401
250
|
+ "/"
|
|
402
251
|
+ asset_file_regex, # Sets schema, asset_table, file_name, file_ext
|
|
@@ -548,49 +397,63 @@ def upload_asset(
|
|
|
548
397
|
raise e
|
|
549
398
|
|
|
550
399
|
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
400
|
+
def asset_file_path(
|
|
401
|
+
prefix: Path | str,
|
|
402
|
+
exec_rid: RID,
|
|
403
|
+
asset_table: Table,
|
|
404
|
+
file_name: str,
|
|
405
|
+
metadata: dict[str, Any],
|
|
406
|
+
) -> Path:
|
|
407
|
+
"""Return the file in which to place assets of a specified type are to be uploaded.
|
|
408
|
+
|
|
409
|
+
Args:
|
|
410
|
+
prefix: Path prefix to use.
|
|
411
|
+
exec_rid: RID to use.
|
|
412
|
+
asset_table: Table in which to place assets.
|
|
413
|
+
file_name: File name to use.
|
|
414
|
+
metadata: Any additional metadata to add to the asset
|
|
415
|
+
Returns:
|
|
416
|
+
Path to directory in which to place assets of type asset_type.
|
|
417
|
+
"""
|
|
418
|
+
schema = asset_table.schema.name
|
|
419
|
+
asset_name = asset_table.name
|
|
420
|
+
|
|
421
|
+
path = execution_root(prefix, exec_rid) / "asset" / schema / asset_name
|
|
422
|
+
metadata = metadata or {}
|
|
423
|
+
asset_columns = {
|
|
424
|
+
"Filename",
|
|
425
|
+
"URL",
|
|
426
|
+
"Length",
|
|
427
|
+
"MD5",
|
|
428
|
+
"Description",
|
|
429
|
+
}.union(set(DerivaSystemColumns))
|
|
430
|
+
asset_metadata = {c.name for c in asset_table.columns} - asset_columns
|
|
431
|
+
if not (asset_metadata >= set(metadata.keys())):
|
|
432
|
+
raise DerivaMLException(
|
|
433
|
+
f"Metadata {metadata} does not match asset metadata {asset_metadata}"
|
|
556
434
|
)
|
|
557
|
-
self.table = table
|
|
558
|
-
self.schema = schema
|
|
559
|
-
self.model = model
|
|
560
|
-
|
|
561
|
-
def create_file(self, file_name: str, metadata: dict[str, Any]) -> Path:
|
|
562
|
-
"""Return the file in which to place assets of a specified type are to be uploaded.
|
|
563
|
-
|
|
564
|
-
Args:
|
|
565
|
-
file_name: Name of file to which the contents of the asset will be placed
|
|
566
|
-
metadata: Any additional metadata to add to the asset
|
|
567
|
-
Returns:
|
|
568
|
-
Path to directory in which to place assets of type asset_type.
|
|
569
|
-
"""
|
|
570
|
-
metadata = metadata or {}
|
|
571
|
-
asset_metadata = self.model.asset_metadata(self.table)
|
|
572
|
-
if not (asset_metadata >= set(metadata.keys())):
|
|
573
|
-
raise DerivaMLException(
|
|
574
|
-
f"Metadata {metadata} does not match asset metadata {asset_metadata}"
|
|
575
|
-
)
|
|
576
435
|
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
436
|
+
for m in asset_metadata:
|
|
437
|
+
path = path / metadata.get(m, "None")
|
|
438
|
+
path.mkdir(parents=True, exist_ok=True)
|
|
439
|
+
return path / file_name
|
|
440
|
+
|
|
582
441
|
|
|
442
|
+
def asset_type_path(prefix: Path | str, exec_rid: RID, asset_table: Table) -> Path:
|
|
443
|
+
"""Return the path to a JSON line file in which to place asset_type information.
|
|
583
444
|
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
445
|
+
Args:
|
|
446
|
+
prefix: Location of upload root directory
|
|
447
|
+
exec_rid: Execution RID
|
|
448
|
+
asset_table: Table in which to place assets.
|
|
449
|
+
|
|
450
|
+
Returns:
|
|
451
|
+
Path to the file in which to place asset_type values for the named asset..
|
|
452
|
+
"""
|
|
453
|
+
path = (
|
|
454
|
+
execution_root(prefix, exec_rid=exec_rid)
|
|
455
|
+
/ "asset-type"
|
|
456
|
+
/ asset_table.schema.name
|
|
591
457
|
)
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
_is_md = is_execution_metadata_dir(emd)
|
|
595
|
-
_is_ea = is_execution_asset_dir(ead)
|
|
596
|
-
_is_fa = is_feature_asset_dir(fa)
|
|
458
|
+
path.mkdir(parents=True, exist_ok=True)
|
|
459
|
+
return path / f"{asset_table.name}.jsonl"
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deriva-ml
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.11.0
|
|
4
4
|
Summary: Utilities to simplify use of Dervia and Pandas to create reproducable ML pipelines
|
|
5
5
|
Author-email: ISRD <isrd-dev@isi.edu>
|
|
6
6
|
Requires-Python: >=3.10
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
License-File: LICENSE
|
|
9
|
+
Requires-Dist: bump-my-version
|
|
9
10
|
Requires-Dist: deriva~=1.7.7
|
|
10
11
|
Requires-Dist: pandas
|
|
11
12
|
Requires-Dist: regex~=2024.7.24
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
deriva_ml/__init__.py,sha256=r1Z9N5vtZkAET7emqhpAx2bf_xJUp5wHOc4_DIplsG8,1082
|
|
2
|
+
deriva_ml/database_model.py,sha256=58iweWRteLeKKjjeNA9_e7TbUb4Av92lxH2zKvZzwA8,14823
|
|
3
|
+
deriva_ml/dataset.py,sha256=HXzu30n42bDPWhyYC1n87uovU1ThXeafmZ3cqUD1gYw,60827
|
|
4
|
+
deriva_ml/dataset_aux_classes.py,sha256=YxjQnu2kS9kK_f8bGqhmgE6ty9GNeitCxfvReT9vaM0,6537
|
|
5
|
+
deriva_ml/dataset_bag.py,sha256=rA5BrcR1_j3-aj50vzfnoMTxaT2-CkNktYB-6HbunwQ,11848
|
|
6
|
+
deriva_ml/demo_catalog.py,sha256=9Qo3JD4bUIwnL3ngPctc2QBeWApvMR_5UyaK9ockTrY,11536
|
|
7
|
+
deriva_ml/deriva_definitions.py,sha256=2eSbTFQ-9rpctphN4PLo8WdtkzMfhfZr3vJeywt6xPM,8897
|
|
8
|
+
deriva_ml/deriva_ml_base.py,sha256=abATy0Qju3uyJnq9FdAXD3JjZqms04j1HBxdranox58,46265
|
|
9
|
+
deriva_ml/deriva_model.py,sha256=k6P74S0-7yMJw0KDt3apErTjIpCkCwz1f_1t3T-hbLE,12981
|
|
10
|
+
deriva_ml/execution.py,sha256=7xEg8oHyfVVD5TWPYGHM1Vj2CGPJhzhgPqprvm8E2-c,34187
|
|
11
|
+
deriva_ml/execution_configuration.py,sha256=ZdLHLTUcg5V1id1sVjbp7Nm5bjh42ATG7hOGKaiCSj4,4013
|
|
12
|
+
deriva_ml/execution_environment.py,sha256=bCRKrCELDbGQDo7_FKfw7e8iMzVjSRZK3baKkqH5-_0,3264
|
|
13
|
+
deriva_ml/feature.py,sha256=07g0uSrhumdopJluWuWSRMrzagaikAOihqB09bzXBP4,5475
|
|
14
|
+
deriva_ml/history.py,sha256=qTDLDs8Ow_6r7mDO0gZm0Fg81SWKOAgtCU5pzZoDRgM,2828
|
|
15
|
+
deriva_ml/test_functions.py,sha256=-eqLHjjCQCLBNAr1ofbZekNiCOfMISSACRxT_YHER8I,4396
|
|
16
|
+
deriva_ml/upload.py,sha256=RJLZjJrbDEfONbxsxt_tYChQU77FkJeByyONrFKjvAc,16143
|
|
17
|
+
deriva_ml/schema_setup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
+
deriva_ml/schema_setup/annotations.py,sha256=v0gTpmWYxRqsQ-bcnQzsr8WowGv2pi9pZUsO3WWnu1U,9528
|
|
19
|
+
deriva_ml/schema_setup/create_schema.py,sha256=hNMc-v5tferd0UjfdB6nBw7Rc_o-Mg6NkPqQGie9YOw,11700
|
|
20
|
+
deriva_ml/schema_setup/policy.json,sha256=77sf0Imy6CAQV0_VwwbA56_KROJ05WXsvT-Wjtkk538,1633
|
|
21
|
+
deriva_ml/schema_setup/table_comments_utils.py,sha256=-2_ubEpoH7ViLVb-ZfW9wZbQ26DTKNgjkCABMzGu4i4,2140
|
|
22
|
+
deriva_ml-1.11.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
23
|
+
deriva_ml-1.11.0.dist-info/METADATA,sha256=H7JTu9ZNl-soQeX0oj2N_AELNu2r6n3NCP5o5LFF5M4,973
|
|
24
|
+
deriva_ml-1.11.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
25
|
+
deriva_ml-1.11.0.dist-info/entry_points.txt,sha256=ZiOvrYj022x544TQwi018ujeHRRDahNmwJnzn5ThacM,242
|
|
26
|
+
deriva_ml-1.11.0.dist-info/top_level.txt,sha256=I1Q1dkH96cRghdsFRVqwpa2M7IqJpR2QPUNNc5-Bnpw,10
|
|
27
|
+
deriva_ml-1.11.0.dist-info/RECORD,,
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
deriva_ml/__init__.py,sha256=r1Z9N5vtZkAET7emqhpAx2bf_xJUp5wHOc4_DIplsG8,1082
|
|
2
|
-
deriva_ml/database_model.py,sha256=58iweWRteLeKKjjeNA9_e7TbUb4Av92lxH2zKvZzwA8,14823
|
|
3
|
-
deriva_ml/dataset.py,sha256=h7Zkhnhy66GhPg6O1ud-YCx-jFKAabWF-nwuIDsR8SU,60785
|
|
4
|
-
deriva_ml/dataset_aux_classes.py,sha256=YxjQnu2kS9kK_f8bGqhmgE6ty9GNeitCxfvReT9vaM0,6537
|
|
5
|
-
deriva_ml/dataset_bag.py,sha256=aOJxFA9t5apjE5BNBrk8Pi9R1Cp8AWnnaL-10P8ELrQ,11515
|
|
6
|
-
deriva_ml/demo_catalog.py,sha256=1442Lbxmlq45_fgFx0SZPag6dZLimXCk57-TRFee3VA,11064
|
|
7
|
-
deriva_ml/deriva_definitions.py,sha256=jNiInYA2Cb1GE4OOT1CofxBygdLDSOmNsw5Wl6NbZQE,8943
|
|
8
|
-
deriva_ml/deriva_ml_base.py,sha256=Yo52Sb_9rujH7ew9aJ_Ys84NZU-Tc3TGV_O--wnaUQA,47307
|
|
9
|
-
deriva_ml/deriva_model.py,sha256=B4gwr3-92IQU-mEZlusgNEnRyulD96esWGS67q9MzHk,12024
|
|
10
|
-
deriva_ml/execution.py,sha256=nPTQ__QHoBTz0gUu8k4CSEeCD4UvttZfy2oDJr9HxKY,30294
|
|
11
|
-
deriva_ml/execution_configuration.py,sha256=yksebWFjAfrar2955L8_D6vUnQlfuvcyrqjOIrvWW90,3368
|
|
12
|
-
deriva_ml/execution_environment.py,sha256=bCRKrCELDbGQDo7_FKfw7e8iMzVjSRZK3baKkqH5-_0,3264
|
|
13
|
-
deriva_ml/feature.py,sha256=7e8WYPCfJSrGxJh9oUTduYSnB5ekybRhXa_0HIigS_w,5459
|
|
14
|
-
deriva_ml/history.py,sha256=qTDLDs8Ow_6r7mDO0gZm0Fg81SWKOAgtCU5pzZoDRgM,2828
|
|
15
|
-
deriva_ml/test_functions.py,sha256=-eqLHjjCQCLBNAr1ofbZekNiCOfMISSACRxT_YHER8I,4396
|
|
16
|
-
deriva_ml/upload.py,sha256=P35ViZzlNNbsXVbnTyq-G781nGHbX4md1tiCp3c_KKI,22264
|
|
17
|
-
deriva_ml/schema_setup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
-
deriva_ml/schema_setup/annotations.py,sha256=v0gTpmWYxRqsQ-bcnQzsr8WowGv2pi9pZUsO3WWnu1U,9528
|
|
19
|
-
deriva_ml/schema_setup/create_schema.py,sha256=BRdYeWW5I8HxuATkB1hkKuIw4n-JQu620xod7EQoVSE,10674
|
|
20
|
-
deriva_ml/schema_setup/policy.json,sha256=77sf0Imy6CAQV0_VwwbA56_KROJ05WXsvT-Wjtkk538,1633
|
|
21
|
-
deriva_ml/schema_setup/table_comments_utils.py,sha256=-2_ubEpoH7ViLVb-ZfW9wZbQ26DTKNgjkCABMzGu4i4,2140
|
|
22
|
-
deriva_ml-1.10.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
23
|
-
deriva_ml-1.10.0.dist-info/METADATA,sha256=EInfvOS4ru5OFfTQvNvFYVytQiuzHOXhiH3zISlNhmQ,942
|
|
24
|
-
deriva_ml-1.10.0.dist-info/WHEEL,sha256=DK49LOLCYiurdXXOXwGJm6U4DkHkg4lcxjhqwRa0CP4,91
|
|
25
|
-
deriva_ml-1.10.0.dist-info/entry_points.txt,sha256=ZiOvrYj022x544TQwi018ujeHRRDahNmwJnzn5ThacM,242
|
|
26
|
-
deriva_ml-1.10.0.dist-info/top_level.txt,sha256=I1Q1dkH96cRghdsFRVqwpa2M7IqJpR2QPUNNc5-Bnpw,10
|
|
27
|
-
deriva_ml-1.10.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|