yellowdog-python-examples 8.1.6__py3-none-any.whl → 8.2.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.
- yellowdog_cli/__init__.py +1 -1
- yellowdog_cli/abort.py +3 -3
- yellowdog_cli/cancel.py +2 -2
- yellowdog_cli/create.py +4 -6
- yellowdog_cli/finish.py +3 -3
- yellowdog_cli/list.py +1 -1
- yellowdog_cli/show.py +1 -1
- yellowdog_cli/shutdown.py +11 -9
- yellowdog_cli/submit.py +21 -6
- yellowdog_cli/terminate.py +3 -3
- yellowdog_cli/utils/config_types.py +1 -0
- yellowdog_cli/utils/entity_utils.py +1 -1
- yellowdog_cli/utils/load_config.py +1 -0
- yellowdog_cli/utils/property_names.py +3 -1
- yellowdog_cli/utils/provision_utils.py +0 -1
- {yellowdog_python_examples-8.1.6.dist-info → yellowdog_python_examples-8.2.0.dist-info}/METADATA +2 -2
- {yellowdog_python_examples-8.1.6.dist-info → yellowdog_python_examples-8.2.0.dist-info}/RECORD +21 -21
- {yellowdog_python_examples-8.1.6.dist-info → yellowdog_python_examples-8.2.0.dist-info}/WHEEL +1 -1
- {yellowdog_python_examples-8.1.6.dist-info → yellowdog_python_examples-8.2.0.dist-info}/entry_points.txt +0 -0
- {yellowdog_python_examples-8.1.6.dist-info → yellowdog_python_examples-8.2.0.dist-info}/licenses/LICENSE +0 -0
- {yellowdog_python_examples-8.1.6.dist-info → yellowdog_python_examples-8.2.0.dist-info}/top_level.txt +0 -0
yellowdog_cli/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "8.
|
|
1
|
+
__version__ = "8.2.0"
|
yellowdog_cli/abort.py
CHANGED
|
@@ -37,9 +37,9 @@ def main():
|
|
|
37
37
|
return
|
|
38
38
|
|
|
39
39
|
print_log(
|
|
40
|
-
"Finding active Work Requirements in"
|
|
41
|
-
f"namespace '{CONFIG_COMMON.namespace}' with "
|
|
42
|
-
f"'{CONFIG_COMMON.name_tag}'
|
|
40
|
+
"Finding active Work Requirements in "
|
|
41
|
+
f"namespace '{CONFIG_COMMON.namespace}' with tags "
|
|
42
|
+
f"including '{CONFIG_COMMON.name_tag}'"
|
|
43
43
|
)
|
|
44
44
|
|
|
45
45
|
# Abort Tasks is always interactive
|
yellowdog_cli/cancel.py
CHANGED
|
@@ -32,8 +32,8 @@ def main():
|
|
|
32
32
|
|
|
33
33
|
print_log(
|
|
34
34
|
"Cancelling Work Requirements in namespace "
|
|
35
|
-
f"'{CONFIG_COMMON.namespace}' with "
|
|
36
|
-
f"'{CONFIG_COMMON.name_tag}'
|
|
35
|
+
f"'{CONFIG_COMMON.namespace}' with tags "
|
|
36
|
+
f"including '{CONFIG_COMMON.name_tag}'"
|
|
37
37
|
)
|
|
38
38
|
|
|
39
39
|
selected_work_requirement_summaries: List[WorkRequirementSummary] = (
|
yellowdog_cli/create.py
CHANGED
|
@@ -7,7 +7,7 @@ A script to create or update YellowDog resources.
|
|
|
7
7
|
from copy import deepcopy
|
|
8
8
|
from dataclasses import dataclass
|
|
9
9
|
from datetime import datetime
|
|
10
|
-
from typing import Dict, List, Optional, Set
|
|
10
|
+
from typing import Dict, List, Optional, Set, Tuple
|
|
11
11
|
|
|
12
12
|
import yellowdog_client.model as model
|
|
13
13
|
from dateparser import parse as date_parse
|
|
@@ -278,7 +278,7 @@ def create_compute_source_template(resource: Dict):
|
|
|
278
278
|
compute_source = CLIENT.compute_client.add_compute_source_template(
|
|
279
279
|
compute_source_template
|
|
280
280
|
)
|
|
281
|
-
print_log(f"Created Compute Source Template '{name}'
|
|
281
|
+
print_log(f"Created Compute Source Template '{name}' ({compute_source.id})")
|
|
282
282
|
else:
|
|
283
283
|
if not confirmed(f"Update existing Compute Source Template '{name}'?"):
|
|
284
284
|
return
|
|
@@ -405,9 +405,7 @@ def create_compute_requirement_template(resource: Dict):
|
|
|
405
405
|
template = CLIENT.compute_client.update_compute_requirement_template(
|
|
406
406
|
compute_template
|
|
407
407
|
)
|
|
408
|
-
print_log(
|
|
409
|
-
f"Updated existing Compute Requirement Template '{name}'" f" ({template.id})"
|
|
410
|
-
)
|
|
408
|
+
print_log(f"Updated existing Compute Requirement Template '{name}' ({template.id})")
|
|
411
409
|
if ARGS_PARSER.quiet:
|
|
412
410
|
print(template.id)
|
|
413
411
|
|
|
@@ -446,7 +444,7 @@ def create_keyring(resource: Dict, show_secrets: bool = False):
|
|
|
446
444
|
print_error(f"Failed to create Keyring '{name}': {e}")
|
|
447
445
|
|
|
448
446
|
|
|
449
|
-
def create_keyring_via_api(name: str, description: str) ->
|
|
447
|
+
def create_keyring_via_api(name: str, description: str) -> Tuple[Keyring, str]:
|
|
450
448
|
"""
|
|
451
449
|
Temporary direct API call to create a Keyring and return the shown-once
|
|
452
450
|
password. The password is not available via the SDK call.
|
yellowdog_cli/finish.py
CHANGED
|
@@ -31,8 +31,8 @@ def main():
|
|
|
31
31
|
|
|
32
32
|
print_log(
|
|
33
33
|
"Finishing Work Requirements in namespace "
|
|
34
|
-
f"'{CONFIG_COMMON.namespace}' with "
|
|
35
|
-
f"'{CONFIG_COMMON.name_tag}'
|
|
34
|
+
f"'{CONFIG_COMMON.namespace}' with tags "
|
|
35
|
+
f"including '{CONFIG_COMMON.name_tag}'"
|
|
36
36
|
)
|
|
37
37
|
|
|
38
38
|
selected_work_requirement_summaries: List[WorkRequirementSummary] = (
|
|
@@ -59,7 +59,7 @@ def main():
|
|
|
59
59
|
)
|
|
60
60
|
|
|
61
61
|
if len(selected_work_requirement_summaries) > 0 and confirmed(
|
|
62
|
-
f"Finish {len(selected_work_requirement_summaries)}
|
|
62
|
+
f"Finish {len(selected_work_requirement_summaries)} Work Requirement(s)?"
|
|
63
63
|
):
|
|
64
64
|
for work_summary in selected_work_requirement_summaries:
|
|
65
65
|
if work_summary.status != WorkRequirementStatus.FINISHING:
|
yellowdog_cli/list.py
CHANGED
|
@@ -115,7 +115,7 @@ def main():
|
|
|
115
115
|
ARGS_PARSER.details = True
|
|
116
116
|
|
|
117
117
|
if ARGS_PARSER.details and ARGS_PARSER.strip_ids:
|
|
118
|
-
print_log("
|
|
118
|
+
print_log("Stripping YellowDog IDs (etc.) from detailed JSON objects")
|
|
119
119
|
|
|
120
120
|
if ARGS_PARSER.output_file and ARGS_PARSER.details:
|
|
121
121
|
if exists(ARGS_PARSER.output_file):
|
yellowdog_cli/show.py
CHANGED
|
@@ -44,7 +44,7 @@ def main():
|
|
|
44
44
|
generate_json_list = len(ARGS_PARSER.yellowdog_ids) > 1 and ARGS_PARSER.quiet
|
|
45
45
|
|
|
46
46
|
if ARGS_PARSER.strip_ids:
|
|
47
|
-
print_log("
|
|
47
|
+
print_log("Stripping YellowDog IDs (etc.) from detailed JSON objects")
|
|
48
48
|
|
|
49
49
|
if generate_json_list:
|
|
50
50
|
print("[")
|
yellowdog_cli/shutdown.py
CHANGED
|
@@ -16,11 +16,12 @@ from yellowdog_client.model import (
|
|
|
16
16
|
from yellowdog_cli.utils.entity_utils import (
|
|
17
17
|
get_worker_pool_by_id,
|
|
18
18
|
get_worker_pool_id_by_name,
|
|
19
|
+
get_worker_pools,
|
|
19
20
|
)
|
|
20
21
|
from yellowdog_cli.utils.follow_utils import follow_ids
|
|
21
22
|
from yellowdog_cli.utils.interactive import confirmed, select
|
|
22
23
|
from yellowdog_cli.utils.misc_utils import link_entity
|
|
23
|
-
from yellowdog_cli.utils.printing import print_error, print_log
|
|
24
|
+
from yellowdog_cli.utils.printing import print_error, print_log, print_warning
|
|
24
25
|
from yellowdog_cli.utils.wrapper import ARGS_PARSER, CLIENT, CONFIG_COMMON, main_wrapper
|
|
25
26
|
from yellowdog_cli.utils.ydid_utils import YDIDType, get_ydid_type
|
|
26
27
|
|
|
@@ -33,13 +34,14 @@ def main():
|
|
|
33
34
|
|
|
34
35
|
print_log(
|
|
35
36
|
"Shutting down Worker Pools in "
|
|
36
|
-
f"namespace '{CONFIG_COMMON.namespace}'
|
|
37
|
+
f"namespace '{CONFIG_COMMON.namespace}' with "
|
|
37
38
|
f"names including '{CONFIG_COMMON.name_tag}'"
|
|
38
39
|
)
|
|
39
40
|
|
|
40
|
-
worker_pool_summaries: List[WorkerPoolSummary] = (
|
|
41
|
-
CLIENT.
|
|
41
|
+
worker_pool_summaries: List[WorkerPoolSummary] = get_worker_pools(
|
|
42
|
+
CLIENT, CONFIG_COMMON.namespace, CONFIG_COMMON.name_tag
|
|
42
43
|
)
|
|
44
|
+
|
|
43
45
|
shutdown_count = 0
|
|
44
46
|
|
|
45
47
|
selected_worker_pool_summaries: List[WorkerPoolSummary] = []
|
|
@@ -73,7 +75,7 @@ def main():
|
|
|
73
75
|
print_log(f"Shut down {link_entity(CONFIG_COMMON.url, worker_pool)}")
|
|
74
76
|
optionally_terminate_compute_requirement(worker_pool_summary.id)
|
|
75
77
|
except Exception as e:
|
|
76
|
-
print_error(f"
|
|
78
|
+
print_error(f"Failed to shut down '{worker_pool_summary.name}': {e}")
|
|
77
79
|
|
|
78
80
|
if shutdown_count > 0:
|
|
79
81
|
print_log(f"Shut down {shutdown_count} Worker Pool(s)")
|
|
@@ -101,7 +103,7 @@ def shutdown_by_names_or_ids(names_or_ids: List[str]):
|
|
|
101
103
|
else:
|
|
102
104
|
worker_pool_id = get_worker_pool_id_by_name(CLIENT, name_or_id)
|
|
103
105
|
if worker_pool_id is None:
|
|
104
|
-
|
|
106
|
+
print_warning(f"Worker Pool '{name_or_id}' not found")
|
|
105
107
|
continue
|
|
106
108
|
worker_pool_ids.append(worker_pool_id)
|
|
107
109
|
|
|
@@ -120,14 +122,14 @@ def shutdown_by_names_or_ids(names_or_ids: List[str]):
|
|
|
120
122
|
print_log(f"Shut down Worker Pool '{worker_pool_id}'")
|
|
121
123
|
optionally_terminate_compute_requirement(worker_pool_id)
|
|
122
124
|
except Exception as e:
|
|
123
|
-
print_error(f"
|
|
125
|
+
print_error(f"Failed to shut down Worker Pool '{worker_pool_id}': ({e})")
|
|
124
126
|
|
|
125
127
|
for node_id in node_ids:
|
|
126
128
|
try:
|
|
127
129
|
CLIENT.worker_pool_client.shutdown_node_by_id(node_id)
|
|
128
130
|
print_log(f"Shut down Node '{node_id}'")
|
|
129
131
|
except Exception as e:
|
|
130
|
-
print_error(f"
|
|
132
|
+
print_error(f"Failed to to shut down Node '{node_id}': ({e})")
|
|
131
133
|
|
|
132
134
|
if ARGS_PARSER.follow:
|
|
133
135
|
follow_ids(worker_pool_ids, auto_cr=ARGS_PARSER.auto_cr)
|
|
@@ -151,7 +153,7 @@ def optionally_terminate_compute_requirement(worker_pool_id: str):
|
|
|
151
153
|
f"Terminated associated Compute Requirement '{worker_pool.computeRequirementId}'"
|
|
152
154
|
)
|
|
153
155
|
except Exception as e:
|
|
154
|
-
print_error(f"
|
|
156
|
+
print_error(f"Failed to terminate Compute Requirement: ({e})")
|
|
155
157
|
|
|
156
158
|
|
|
157
159
|
# Entry point
|
yellowdog_cli/submit.py
CHANGED
|
@@ -477,6 +477,7 @@ def create_task_group(
|
|
|
477
477
|
if providers_data is None
|
|
478
478
|
else [CloudProvider(provider) for provider in providers_data]
|
|
479
479
|
)
|
|
480
|
+
|
|
480
481
|
task_timeout_minutes: Optional[float] = check_float_or_int(
|
|
481
482
|
task_group_data.get(TASK_TIMEOUT, config_wr.task_timeout)
|
|
482
483
|
)
|
|
@@ -486,6 +487,24 @@ def create_task_group(
|
|
|
486
487
|
else timedelta(minutes=task_timeout_minutes)
|
|
487
488
|
)
|
|
488
489
|
|
|
490
|
+
exclusive_workers = check_bool(
|
|
491
|
+
task_group_data.get(
|
|
492
|
+
EXCLUSIVE_WORKERS,
|
|
493
|
+
wr_data.get(EXCLUSIVE_WORKERS, config_wr.exclusive_workers),
|
|
494
|
+
)
|
|
495
|
+
)
|
|
496
|
+
batch_allocation = check_bool(
|
|
497
|
+
task_group_data.get(
|
|
498
|
+
BATCH_ALLOCATION,
|
|
499
|
+
wr_data.get(BATCH_ALLOCATION, config_wr.batch_allocation),
|
|
500
|
+
)
|
|
501
|
+
)
|
|
502
|
+
if batch_allocation and not exclusive_workers:
|
|
503
|
+
raise Exception(
|
|
504
|
+
f"Property '{EXCLUSIVE_WORKERS}' must be set when "
|
|
505
|
+
f"'{BATCH_ALLOCATION}' is specified"
|
|
506
|
+
)
|
|
507
|
+
|
|
489
508
|
run_specification = RunSpecification(
|
|
490
509
|
taskTypes=task_types,
|
|
491
510
|
maximumTaskRetries=check_int(
|
|
@@ -498,12 +517,8 @@ def create_task_group(
|
|
|
498
517
|
WORKER_TAGS, wr_data.get(WORKER_TAGS, config_wr.worker_tags)
|
|
499
518
|
)
|
|
500
519
|
),
|
|
501
|
-
exclusiveWorkers=
|
|
502
|
-
|
|
503
|
-
EXCLUSIVE_WORKERS,
|
|
504
|
-
wr_data.get(EXCLUSIVE_WORKERS, config_wr.exclusive_workers),
|
|
505
|
-
)
|
|
506
|
-
),
|
|
520
|
+
exclusiveWorkers=exclusive_workers,
|
|
521
|
+
batchAllocation=batch_allocation,
|
|
507
522
|
instanceTypes=check_list(
|
|
508
523
|
task_group_data.get(
|
|
509
524
|
INSTANCE_TYPES, wr_data.get(INSTANCE_TYPES, config_wr.instance_types)
|
yellowdog_cli/terminate.py
CHANGED
|
@@ -40,7 +40,7 @@ def main():
|
|
|
40
40
|
|
|
41
41
|
print_log(
|
|
42
42
|
"Terminating Compute Requirements in "
|
|
43
|
-
f"namespace '{CONFIG_COMMON.namespace}'
|
|
43
|
+
f"namespace '{CONFIG_COMMON.namespace}' with tags "
|
|
44
44
|
f"including '{CONFIG_COMMON.name_tag}'"
|
|
45
45
|
)
|
|
46
46
|
|
|
@@ -77,7 +77,7 @@ def main():
|
|
|
77
77
|
)
|
|
78
78
|
except Exception as e:
|
|
79
79
|
print_error(
|
|
80
|
-
f"
|
|
80
|
+
f"Failed to terminate '{compute_requirement_summary.name}': {e}"
|
|
81
81
|
)
|
|
82
82
|
|
|
83
83
|
if terminated_count > 0:
|
|
@@ -125,7 +125,7 @@ def terminate_cr_by_name_or_id(names_or_ids: List[str]):
|
|
|
125
125
|
)
|
|
126
126
|
print_log(f"Terminated '{compute_requirement_id}'")
|
|
127
127
|
except Exception as e:
|
|
128
|
-
print_error(f"
|
|
128
|
+
print_error(f"Failed to terminate '{compute_requirement_id}': ({e})")
|
|
129
129
|
|
|
130
130
|
if ARGS_PARSER.follow:
|
|
131
131
|
follow_ids(compute_requirement_ids)
|
|
@@ -23,6 +23,7 @@ class ConfigWorkRequirement:
|
|
|
23
23
|
add_yd_env_vars: bool = False
|
|
24
24
|
always_upload: bool = True
|
|
25
25
|
args: List[str] = field(default_factory=list)
|
|
26
|
+
batch_allocation: Optional[bool] = None
|
|
26
27
|
completed_task_ttl: Optional[float] = None # In minutes
|
|
27
28
|
csv_files: Optional[List[str]] = None
|
|
28
29
|
docker_env: Optional[Dict] = None
|
|
@@ -54,7 +54,7 @@ from yellowdog_client.model import (
|
|
|
54
54
|
|
|
55
55
|
from yellowdog_cli.utils.args import ARGS_PARSER
|
|
56
56
|
from yellowdog_cli.utils.interactive import confirmed, select
|
|
57
|
-
from yellowdog_cli.utils.printing import print_log
|
|
57
|
+
from yellowdog_cli.utils.printing import print_log
|
|
58
58
|
from yellowdog_cli.utils.settings import NAMESPACE_PREFIX_SEPARATOR
|
|
59
59
|
from yellowdog_cli.utils.ydid_utils import YDIDType, get_ydid_type
|
|
60
60
|
|
|
@@ -309,6 +309,7 @@ def load_config_work_requirement() -> ConfigWorkRequirement:
|
|
|
309
309
|
add_yd_env_vars=wr_section.get(ADD_YD_ENV_VARS, False),
|
|
310
310
|
always_upload=wr_section.get(ALWAYS_UPLOAD, True),
|
|
311
311
|
args=wr_section.get(ARGS, []),
|
|
312
|
+
batch_allocation=wr_section.get(BATCH_ALLOCATION, None),
|
|
312
313
|
upload_taskoutput=wr_section.get(UPLOAD_TASKOUTPUT, False),
|
|
313
314
|
completed_task_ttl=wr_section.get(COMPLETED_TASK_TTL, None),
|
|
314
315
|
csv_files=csv_files,
|
|
@@ -5,6 +5,7 @@ Property names.
|
|
|
5
5
|
ADD_YD_ENV_VARS = "addYDEnvironmentVariables"
|
|
6
6
|
ALWAYS_UPLOAD = "alwaysUpload" # Bool
|
|
7
7
|
ARGS = "arguments" # List
|
|
8
|
+
BATCH_ALLOCATION = "batchAllocation" # Bool
|
|
8
9
|
CERTIFICATES = "certificates"
|
|
9
10
|
COMMON_SECTION = "common" # No value
|
|
10
11
|
COMPLETED_TASK_TTL = "completedTaskTtl" # Float
|
|
@@ -37,7 +38,7 @@ IMAGES_ID = "imagesId" # String
|
|
|
37
38
|
IMPORT_COMMON = "importCommon" # String
|
|
38
39
|
INPUTS_OPTIONAL = "inputsOptional" # List of Strings
|
|
39
40
|
INPUTS_REQUIRED = "inputs" # List of Strings
|
|
40
|
-
INSTANCE_TAGS = "instanceTags" #
|
|
41
|
+
INSTANCE_TAGS = "instanceTags" # Dictionary
|
|
41
42
|
INSTANCE_TYPES = "instanceTypes" # List of Strings
|
|
42
43
|
KEY = "key" # String
|
|
43
44
|
LOCAL_PATH = "localPath" # String
|
|
@@ -119,6 +120,7 @@ ALL_KEYS = [
|
|
|
119
120
|
ADD_YD_ENV_VARS,
|
|
120
121
|
ALWAYS_UPLOAD,
|
|
121
122
|
ARGS,
|
|
123
|
+
BATCH_ALLOCATION,
|
|
122
124
|
CERTIFICATES,
|
|
123
125
|
COMMON_SECTION,
|
|
124
126
|
COMPLETED_TASK_TTL,
|
|
@@ -11,7 +11,6 @@ from yellowdog_cli.utils.config_types import ConfigWorkerPool
|
|
|
11
11
|
from yellowdog_cli.utils.entity_utils import (
|
|
12
12
|
find_compute_requirement_template_id_by_name,
|
|
13
13
|
find_image_name_or_id,
|
|
14
|
-
split_namespace_and_name,
|
|
15
14
|
)
|
|
16
15
|
from yellowdog_cli.utils.load_config import CONFIG_FILE_DIR
|
|
17
16
|
from yellowdog_cli.utils.printing import print_log
|
{yellowdog_python_examples-8.1.6.dist-info → yellowdog_python_examples-8.2.0.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: yellowdog-python-examples
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.2.0
|
|
4
4
|
Summary: Python CLI commands using the YellowDog Python SDK
|
|
5
5
|
Author-email: YellowDog Limited <support@yellowdog.co>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -26,7 +26,7 @@ Requires-Dist: requests
|
|
|
26
26
|
Requires-Dist: rich==13.9.4
|
|
27
27
|
Requires-Dist: tabulate>=0.9.0
|
|
28
28
|
Requires-Dist: toml
|
|
29
|
-
Requires-Dist: yellowdog-sdk>=11.
|
|
29
|
+
Requires-Dist: yellowdog-sdk>=11.7.0
|
|
30
30
|
Provides-Extra: jsonnet
|
|
31
31
|
Requires-Dist: jsonnet; extra == "jsonnet"
|
|
32
32
|
Provides-Extra: cloudwizard
|
{yellowdog_python_examples-8.1.6.dist-info → yellowdog_python_examples-8.2.0.dist-info}/RECORD
RENAMED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
yellowdog_cli/__init__.py,sha256=
|
|
2
|
-
yellowdog_cli/abort.py,sha256=
|
|
1
|
+
yellowdog_cli/__init__.py,sha256=Xb24P8T6pG5QQaEw-UTO0iybyDoxvRGJaUR_qFoVAJQ,22
|
|
2
|
+
yellowdog_cli/abort.py,sha256=S8tCr-Fcc8zM7luQ5_xunEeo-eqmkO4pmahDZEpxWF4,4311
|
|
3
3
|
yellowdog_cli/admin.py,sha256=Iipc0_A-Rf997hSDjOOYTaPpB3dsuqekV8Slmm154GI,1010
|
|
4
4
|
yellowdog_cli/boost.py,sha256=JOUkXpl7yvmVZCAS_iv8GJ6g2wF1siVjGGJ-EUDI0FI,1268
|
|
5
|
-
yellowdog_cli/cancel.py,sha256=
|
|
5
|
+
yellowdog_cli/cancel.py,sha256=Eu0FIH-VNNhW7WzvC0tcHgp7KxMVc35n5Rinu_YPeZc,6357
|
|
6
6
|
yellowdog_cli/cloudwizard.py,sha256=UC1CDNPAsUMh_0C9ScLF4wGmvJ2Rbryravj67LHdFnI,2647
|
|
7
7
|
yellowdog_cli/compare.py,sha256=yihgygtxedvRXz0mQV9hmvvMeKaNYIMfgBlTHetaa_s,24311
|
|
8
|
-
yellowdog_cli/create.py,sha256=
|
|
8
|
+
yellowdog_cli/create.py,sha256=QD9Su3GXEQTOsfNt0BswEWpKcD65kpJZnwcUZMf_6-c,51944
|
|
9
9
|
yellowdog_cli/delete.py,sha256=7YWGY8vI9ec3QP2y7VSEFFyAsY3IWcsZndDDXhlUNTY,3023
|
|
10
10
|
yellowdog_cli/download.py,sha256=zYlfr7jCoJGzoayjhpoy3Ku9unmXnLu5XORRuUIuDlo,5479
|
|
11
|
-
yellowdog_cli/finish.py,sha256=
|
|
11
|
+
yellowdog_cli/finish.py,sha256=Edcz9__13ppE2KUffuLoLTjo4Cj9FKLhj-ttxYiEKvs,5231
|
|
12
12
|
yellowdog_cli/follow.py,sha256=1CUVKNZYjEge6AY0lqtc-i6MAp63p509T3CVnldXzdQ,345
|
|
13
13
|
yellowdog_cli/format_json.py,sha256=NrgE0jAUK46Kd4yWxuVbjKXQMzWewP3I8us8QkZZx1s,1502
|
|
14
14
|
yellowdog_cli/hold.py,sha256=wqSsI8UhFZX4pE-pTefxvnVCb0uCY1P_kJjm_YMedsM,306
|
|
15
15
|
yellowdog_cli/instantiate.py,sha256=TDwvUVwqWLY4m0updxbWPTgLX2J0SOmT-EqZRDHgOgI,11996
|
|
16
16
|
yellowdog_cli/jsonnet2json.py,sha256=kv-AZSR-xwIbXnUdL3gYGjYdSiHq7cAvlEGPz4StdTE,765
|
|
17
|
-
yellowdog_cli/list.py,sha256=
|
|
17
|
+
yellowdog_cli/list.py,sha256=MNiIJkTygRMtNvfcscys-wWg8_18_PO672z4HnwQprM,33345
|
|
18
18
|
yellowdog_cli/provision.py,sha256=-rbFJYzd3Kfq6zpFhbM_KM0VUSkJAa3mvY2YODTNc5Q,19667
|
|
19
19
|
yellowdog_cli/remove.py,sha256=yPZSVXY0shzcb_FN8MvW1friuixVzuVGmwqZAnFLDno,20904
|
|
20
20
|
yellowdog_cli/resize.py,sha256=5oMqZmT1KXjnqEClCVzQbCDyZaEu-oc06mypy0TlTBo,4353
|
|
21
|
-
yellowdog_cli/show.py,sha256=
|
|
22
|
-
yellowdog_cli/shutdown.py,sha256=
|
|
21
|
+
yellowdog_cli/show.py,sha256=tXKl5QgO2o1AgcGXXpxTA1MvmLzm1df1UnwcFBAYrNo,11015
|
|
22
|
+
yellowdog_cli/shutdown.py,sha256=JlgdJWv4hfVf_eTQU5z_tlSLFXNw4Pb31rA2NjxBijM,5606
|
|
23
23
|
yellowdog_cli/start.py,sha256=9PHUAbS6vSq9RbttKkymOBzltIlWssQvk4zHJ8R-bWw,314
|
|
24
|
-
yellowdog_cli/submit.py,sha256=
|
|
25
|
-
yellowdog_cli/terminate.py,sha256=
|
|
24
|
+
yellowdog_cli/submit.py,sha256=nsP3ooUvri70yieB91I3_YwDxJ8MdAdpDmepZVtiAXA,62126
|
|
25
|
+
yellowdog_cli/terminate.py,sha256=GCHAvK3iQBoKoea6UVT63f7stejSEhJGRGUcLRW8VGw,4687
|
|
26
26
|
yellowdog_cli/upload.py,sha256=tCqspQ5xNqUFsAIqBxzvyVQ5Uhk5uZFTf1xM3JFSgBs,5389
|
|
27
27
|
yellowdog_cli/version.py,sha256=IADl53F8zo2pe1FrgZqo3hKNQXmfz7GnynIbXZ7ryQo,1208
|
|
28
28
|
yellowdog_cli/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -34,18 +34,18 @@ yellowdog_cli/utils/cloudwizard_azure.py,sha256=aWtMeBNnIIotLpFllKtDTBxwSFL3Io09
|
|
|
34
34
|
yellowdog_cli/utils/cloudwizard_common.py,sha256=3cXOVlHkyg80ZSbZN14_6P2pMCml6AcRc62Omvc4CAg,13989
|
|
35
35
|
yellowdog_cli/utils/cloudwizard_gcp.py,sha256=zb4WdNrkMgbWWgko3zOb8uTyeQ6BuWsdeVtVEBCdQxQ,12278
|
|
36
36
|
yellowdog_cli/utils/compact_json.py,sha256=l-tOoOaiS7Th8ravH66F_xam0dPX2CXLRq-gEBIcNl8,3757
|
|
37
|
-
yellowdog_cli/utils/config_types.py,sha256=
|
|
37
|
+
yellowdog_cli/utils/config_types.py,sha256=RYgL_Ms8BYlEwh6Vb7Awr9wBfXSgbl2yC2iDYFovchQ,3963
|
|
38
38
|
yellowdog_cli/utils/csv_data.py,sha256=vyLhb6ZRzQXzSjK9VWzoP6AP43SuHoWxbD5kEAzUwvM,14409
|
|
39
|
-
yellowdog_cli/utils/entity_utils.py,sha256=
|
|
39
|
+
yellowdog_cli/utils/entity_utils.py,sha256=CAzKhYDB3QNzvMNQqWsCMgIJum4xySIuMu4fTe3jZPk,33007
|
|
40
40
|
yellowdog_cli/utils/follow_utils.py,sha256=Tiq6n86v1cEMBACVoz6IFj_GLW0Fp0qKB2EZINX8wKE,4320
|
|
41
41
|
yellowdog_cli/utils/interactive.py,sha256=VQZKZ9GtA-bSsWGJgEoOQ0WrOeXbeALpkRhHENCJ8q0,5778
|
|
42
42
|
yellowdog_cli/utils/items.py,sha256=AhSyhgi-p6EZpwozFIxwIxbjxRwKgR2_wt6QdZtORj8,1333
|
|
43
|
-
yellowdog_cli/utils/load_config.py,sha256=
|
|
43
|
+
yellowdog_cli/utils/load_config.py,sha256=vFe9tegO2IVUm90_Yg2mHx02S5sGn22j1J76FgP6Xa0,19300
|
|
44
44
|
yellowdog_cli/utils/load_resources.py,sha256=tJlXuDjNKLu5yB7defWxRf4Rl_5zE4tHALlZT8VM_q0,4560
|
|
45
45
|
yellowdog_cli/utils/misc_utils.py,sha256=pZIIS1s9LfeI24ef_cXJsth3nDdIJvbVX7VToTM0LzQ,8565
|
|
46
46
|
yellowdog_cli/utils/printing.py,sha256=gGgvshfcBcQHI50yMSDrCCJpzkLAecumzst4Cx8gMMg,46403
|
|
47
|
-
yellowdog_cli/utils/property_names.py,sha256=
|
|
48
|
-
yellowdog_cli/utils/provision_utils.py,sha256=
|
|
47
|
+
yellowdog_cli/utils/property_names.py,sha256=eM550eiMD6-o5RjjHovU5y1Ki8RCkacaKN-Az6msXSk,7025
|
|
48
|
+
yellowdog_cli/utils/provision_utils.py,sha256=oLiOWvb-V38asFFEFNpF_T-vyz2c-ez47yrZ8skzemk,3673
|
|
49
49
|
yellowdog_cli/utils/rich_console_input_fixed.py,sha256=-ij5gI11Y2P-jRNH5JCx4RlagxoLay_m20N4qj1DAvA,1417
|
|
50
50
|
yellowdog_cli/utils/settings.py,sha256=D21yQ80nMrYG75WOZKLy7p1ZPlF_rqW_eDylATiZMX0,5807
|
|
51
51
|
yellowdog_cli/utils/start_hold_common.py,sha256=h8fnxbj9jYkuqhJF_QFREg0h4vHixvSFLHCjlzzkRU4,5283
|
|
@@ -56,9 +56,9 @@ yellowdog_cli/utils/validate_properties.py,sha256=TsroKrf4jcAg_uQLRb9DpoSjRZ49XB
|
|
|
56
56
|
yellowdog_cli/utils/variables.py,sha256=AHaolW682lkqm1P9MqWZnwvvK-Gd8hgV0HgzX76A1Ck,20542
|
|
57
57
|
yellowdog_cli/utils/wrapper.py,sha256=TtvHmPKqKRk9meQw3LcsZcpkYNyuPSGcS0tC3fbQ4U4,3846
|
|
58
58
|
yellowdog_cli/utils/ydid_utils.py,sha256=Gs98Pidkpd6v-cpL28t3z8mOW9JMB7ZY2MkGBX8EhMo,2360
|
|
59
|
-
yellowdog_python_examples-8.
|
|
60
|
-
yellowdog_python_examples-8.
|
|
61
|
-
yellowdog_python_examples-8.
|
|
62
|
-
yellowdog_python_examples-8.
|
|
63
|
-
yellowdog_python_examples-8.
|
|
64
|
-
yellowdog_python_examples-8.
|
|
59
|
+
yellowdog_python_examples-8.2.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
60
|
+
yellowdog_python_examples-8.2.0.dist-info/METADATA,sha256=wHbZAMaPm1-uvj6HCtfMBBpZlGWPx19JCRqtTQS5Hy0,3927
|
|
61
|
+
yellowdog_python_examples-8.2.0.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
|
|
62
|
+
yellowdog_python_examples-8.2.0.dist-info/entry_points.txt,sha256=KABYVOB3kO7kVqnUplNNoz4l36KUUVY05ynsZ9jSVL8,1016
|
|
63
|
+
yellowdog_python_examples-8.2.0.dist-info/top_level.txt,sha256=RfffFF4rsBrBbPB1qRkJsRpUn_5icIZSdCqMDLO3hgA,14
|
|
64
|
+
yellowdog_python_examples-8.2.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|