yellowdog-python-examples 7.10.0__tar.gz → 7.10.2__tar.gz

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.
Files changed (77) hide show
  1. {yellowdog_python_examples-7.10.0/yellowdog_python_examples.egg-info → yellowdog_python_examples-7.10.2}/PKG-INFO +2 -2
  2. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/README.md +4 -0
  3. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/pyproject.toml +1 -0
  4. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/requirements.txt +1 -1
  5. yellowdog_python_examples-7.10.2/yd_commands/__init__.py +1 -0
  6. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/args.py +15 -0
  7. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/config_types.py +1 -0
  8. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/load_config.py +1 -0
  9. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/printing.py +15 -0
  10. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/property_names.py +2 -0
  11. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/show.py +16 -13
  12. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/submit.py +5 -0
  13. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2/yellowdog_python_examples.egg-info}/PKG-INFO +2 -2
  14. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yellowdog_python_examples.egg-info/entry_points.txt +1 -0
  15. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yellowdog_python_examples.egg-info/requires.txt +1 -1
  16. yellowdog_python_examples-7.10.0/yd_commands/__init__.py +0 -1
  17. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/LICENSE +0 -0
  18. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/PYPI_README.md +0 -0
  19. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/setup.cfg +0 -0
  20. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/setup.py +0 -0
  21. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/tests/test_create_remove.py +0 -0
  22. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/tests/test_demos.py +0 -0
  23. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/tests/test_dryruns.py +0 -0
  24. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/tests/test_entrypoints.py +0 -0
  25. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/tests/test_gui.py +0 -0
  26. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/tests/test_list.py +0 -0
  27. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/tests/test_objects.py +0 -0
  28. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/tests/test_variable_processing.py +0 -0
  29. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/abort.py +0 -0
  30. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/admin.py +0 -0
  31. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/boost.py +0 -0
  32. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/cancel.py +0 -0
  33. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/check_imports.py +0 -0
  34. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/cloudwizard.py +0 -0
  35. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/cloudwizard_aws.py +0 -0
  36. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/cloudwizard_aws_types.py +0 -0
  37. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/cloudwizard_azure.py +0 -0
  38. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/cloudwizard_common.py +0 -0
  39. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/cloudwizard_gcp.py +0 -0
  40. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/compact_json.py +0 -0
  41. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/create.py +0 -0
  42. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/csv_data.py +0 -0
  43. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/delete.py +0 -0
  44. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/download.py +0 -0
  45. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/follow.py +0 -0
  46. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/follow_utils.py +0 -0
  47. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/format_json.py +0 -0
  48. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/hold.py +0 -0
  49. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/id_utils.py +0 -0
  50. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/instantiate.py +0 -0
  51. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/interactive.py +0 -0
  52. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/items.py +0 -0
  53. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/jsonnet2json.py +0 -0
  54. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/list.py +0 -0
  55. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/load_resources.py +0 -0
  56. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/object_utilities.py +0 -0
  57. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/provision.py +0 -0
  58. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/provision_utils.py +0 -0
  59. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/remove.py +0 -0
  60. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/resize.py +0 -0
  61. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/settings.py +0 -0
  62. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/shutdown.py +0 -0
  63. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/start.py +0 -0
  64. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/start_hold_common.py +0 -0
  65. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/submit_utils.py +0 -0
  66. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/terminate.py +0 -0
  67. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/type_check.py +0 -0
  68. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/upload.py +0 -0
  69. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/upload_utils.py +0 -0
  70. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/utils.py +0 -0
  71. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/validate_properties.py +0 -0
  72. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/variables.py +0 -0
  73. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/version.py +0 -0
  74. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yd_commands/wrapper.py +0 -0
  75. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yellowdog_python_examples.egg-info/SOURCES.txt +0 -0
  76. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yellowdog_python_examples.egg-info/dependency_links.txt +0 -0
  77. {yellowdog_python_examples-7.10.0 → yellowdog_python_examples-7.10.2}/yellowdog_python_examples.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: yellowdog-python-examples
3
- Version: 7.10.0
3
+ Version: 7.10.2
4
4
  Summary: Example Python commands using the YellowDog Python SDK
5
5
  Home-page: https://github.com/yellowdog/python-examples
6
6
  Author: YellowDog Limited
@@ -15,7 +15,7 @@ Classifier: Development Status :: 4 - Beta
15
15
  Requires-Python: >=3.7
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
- Requires-Dist: yellowdog-sdk>=8.0.0
18
+ Requires-Dist: yellowdog-sdk>=8.0.2
19
19
  Requires-Dist: toml
20
20
  Requires-Dist: tabulate>=0.9.0
21
21
  Requires-Dist: PyPAC>=0.16.4
@@ -581,6 +581,7 @@ All properties are optional except for **`taskType`** (or **`taskTypes`**).
581
581
  | `maxWorkers` | The maximum number of Workers that can be claimed for the associated Task Group. E.g., `10`. | Yes | Yes | Yes | |
582
582
  | `minWorkers` | The minimum number of Workers that the associated Task Group requires. This many workers must be claimed before the associated Task Group will start working. E.g., `1`. | Yes | Yes | Yes | |
583
583
  | `name` | The name of the Work Requirement, Task Group or Task. E.g., `"wr_name"`. Note that the `name` property is not inherited. | Yes | Yes | Yes | Yes |
584
+ | `namespaces` | Only Worker Pools whose workers match one of the namespaces in this list can be claimed by the Task Group. E.g., `["namespace_1", "namespace_2"]. Defaults to `None`. | Yes | Yes | Yes | |
584
585
  | `outputs` | The files to be uploaded to the YellowDog Object Store by a Worker node on completion of the Task. E.g., `["results_1.txt", "results_2.txt"]`. | Yes | Yes | Yes | Yes |
585
586
  | `outputsOther` | Files to be uploaded to the YellowDog Object Store from outside the Tasks's Working Directory by a Worker node on completion of a Task. E.g., `outputsOther = [{"directoryName" = "tmp", "filePattern" = "out.txt", "required" = false}]`. | Yes | Yes | Yes | Yes |
586
587
  | `outputsRequired` | The files that *must* be uploaded to the YellowDog Object Store by a Worker node on completion of the Task. The Task will fail if any outputs are unavailable. | Yes | Yes | Yes | Yes |
@@ -774,6 +775,7 @@ Here's an example of the `workRequirement` section of a TOML configuration file,
774
775
  ]
775
776
  inputsOptional = ["optional.txt"]
776
777
  instanceTypes = ["t3a.micro", "t3.micro"]
778
+ namespaces = ["namespace_1", "namespace_2"]
777
779
  maxWorkers = 1
778
780
  maximumTaskRetries = 0
779
781
  minWorkers = 1
@@ -832,6 +834,7 @@ Showing all possible properties at the Work Requirement level:
832
834
  "maximumTaskRetries": 0,
833
835
  "minWorkers": 1,
834
836
  "name": "my-work-requirement",
837
+ "namespaces": ["namespace_1", "namespace_2"],
835
838
  "outputs": ["results.txt"],
836
839
  "outputsOther": [{"directoryName": "my_output_dir", "filePattern": "out.txt", "required": true}],
837
840
  "outputsRequired": ["results_required.txt"],
@@ -892,6 +895,7 @@ Showing all possible properties at the Task Group level:
892
895
  "maxWorkers": 1,
893
896
  "minWorkers": 1,
894
897
  "name": "first-task-group",
898
+ "namespaces": ["namespace_1", "namespace_2"],
895
899
  "outputs": ["results.txt"],
896
900
  "outputsOther": [{"directoryName": "my_output_dir", "filePattern": "out.txt", "required": true}],
897
901
  "outputsRequired": ["results_required.txt"],
@@ -47,6 +47,7 @@
47
47
  yd-provision = "yd_commands.provision:main"
48
48
  yd-remove = "yd_commands.remove:main"
49
49
  yd-resize = "yd_commands.resize:main"
50
+ yd-show = "yd_commands.show:main"
50
51
  yd-shutdown = "yd_commands.shutdown:main"
51
52
  yd-submit = "yd_commands.submit:main"
52
53
  yd-start = "yd_commands.start:main"
@@ -1,4 +1,4 @@
1
- yellowdog-sdk >= 8.0.0
1
+ yellowdog-sdk >= 8.0.2
2
2
  toml
3
3
  tabulate >= 0.9.0
4
4
  PyPAC >= 0.16.4
@@ -0,0 +1 @@
1
+ __version__ = "7.10.2"
@@ -1003,6 +1003,14 @@ class CLIParser:
1003
1003
  ),
1004
1004
  )
1005
1005
 
1006
+ if any(module in sys.argv[0] for module in ["show"]):
1007
+ parser.add_argument(
1008
+ "--show-token",
1009
+ action="store_true",
1010
+ required=False,
1011
+ help="display the worker pool token when showing the details of a configured worker pool",
1012
+ )
1013
+
1006
1014
  self.args = parser.parse_args()
1007
1015
 
1008
1016
  if self.args.docs:
@@ -1443,6 +1451,11 @@ class CLIParser:
1443
1451
  def public_ips_only(self) -> Optional[bool]:
1444
1452
  return self.args.public_ips_only
1445
1453
 
1454
+ @property
1455
+ @allow_missing_attribute
1456
+ def show_token(self) -> Optional[bool]:
1457
+ return self.args.show_token
1458
+
1446
1459
 
1447
1460
  def lookup_module_description(module_name: str) -> Optional[str]:
1448
1461
  """
@@ -1489,6 +1502,8 @@ def lookup_module_description(module_name: str) -> Optional[str]:
1489
1502
  suffix = "holding (pausing) running Work Requirements"
1490
1503
  elif "boost" in module_name:
1491
1504
  suffix = "boosting Allowances"
1505
+ elif "show" in module_name:
1506
+ suffix = "showing the JSON details of entities referenced by their YDIDs"
1492
1507
 
1493
1508
  return None if suffix is None else prefix + suffix
1494
1509
 
@@ -43,6 +43,7 @@ class ConfigWorkRequirement:
43
43
  max_retries: int = 0
44
44
  max_workers: Optional[int] = None
45
45
  min_workers: Optional[int] = None
46
+ namespaces: Optional[List[str]] = None
46
47
  outputs_optional: List[str] = field(default_factory=list)
47
48
  outputs_other: List[Dict] = field(default_factory=list)
48
49
  outputs_required: List[str] = field(default_factory=list)
@@ -291,6 +291,7 @@ def load_config_work_requirement() -> Optional[ConfigWorkRequirement]:
291
291
  max_retries=wr_section.get(MAX_RETRIES, 0),
292
292
  max_workers=wr_section.get(MAX_WORKERS, None),
293
293
  min_workers=wr_section.get(MIN_WORKERS, None),
294
+ namespaces=wr_section.get(NAMESPACES, None),
294
295
  outputs_optional=wr_section.get(OUTPUTS_OPTIONAL, []),
295
296
  outputs_other=wr_section.get(OUTPUTS_OTHER, []),
296
297
  outputs_required=wr_section.get(OUTPUTS_REQUIRED, []),
@@ -136,6 +136,21 @@ def print_string(msg: str = "", no_fill: bool = False) -> str:
136
136
  )
137
137
 
138
138
 
139
+ def print_simple(
140
+ log_message: str = "",
141
+ override_quiet: bool = False,
142
+ no_fill: bool = False,
143
+ ):
144
+ """
145
+ Simple print function without timestamp.
146
+ Set 'override_quiet' to print when '-q' is set.
147
+ """
148
+ if ARGS_PARSER.quiet and override_quiet is False:
149
+ return
150
+
151
+ CONSOLE.print(log_message)
152
+
153
+
139
154
  def print_log(
140
155
  log_message: str = "",
141
156
  override_quiet: bool = False,
@@ -47,6 +47,7 @@ MIN_NODES = "minNodes" # Integer
47
47
  MIN_WORKERS = "minWorkers" # Integer
48
48
  NAME = "name" # String
49
49
  NAMESPACE = "namespace" # String
50
+ NAMESPACES = "namespaces" # List of Strings
50
51
  NAME_TAG = "tag" # String
51
52
  NODE_BOOT_TIMEOUT = "nodeBootTimeout" # Float
52
53
  OUTPUTS_OPTIONAL = "outputs" # List of Strings
@@ -144,6 +145,7 @@ ALL_KEYS = [
144
145
  MIN_NODES,
145
146
  MIN_WORKERS,
146
147
  NAMESPACE,
148
+ NAMESPACES,
147
149
  NAME_TAG,
148
150
  NODE_BOOT_TIMEOUT,
149
151
  OUTPUTS_OPTIONAL,
@@ -6,7 +6,7 @@ Command to show the JSON details of YellowDog entities via their IDs.
6
6
 
7
7
  from typing import List
8
8
 
9
- from yellowdog_client.model import Task, TaskSearch
9
+ from yellowdog_client.model import ConfiguredWorkerPool, Task, TaskSearch
10
10
  from yellowdog_client.model.exceptions import InvalidRequestException
11
11
 
12
12
  from yd_commands.printing import print_log, print_warning, print_yd_object
@@ -16,11 +16,7 @@ from yd_commands.wrapper import ARGS_PARSER, CLIENT, main_wrapper
16
16
  @main_wrapper
17
17
  def main():
18
18
 
19
- ydids_set = set(ARGS_PARSER.yellowdog_ids)
20
- if len(ydids_set) < len(ARGS_PARSER.yellowdog_ids):
21
- print_warning("Dropping duplicate YDIDs")
22
-
23
- for ydid in ydids_set:
19
+ for ydid in ARGS_PARSER.yellowdog_ids:
24
20
  show_details(ydid)
25
21
 
26
22
 
@@ -51,13 +47,21 @@ def show_details(ydid: str):
51
47
  for source in compute_requirement.provisionStrategy.sources:
52
48
  if source.id == ydid:
53
49
  print_yd_object(source)
54
- break
50
+ return
55
51
  else:
56
52
  print_warning(f"Compute Source ID '{ydid}' not found")
57
53
 
58
54
  elif ":wrkrpool:" in ydid:
59
55
  print_log(f"Showing details of Worker Pool ID '{ydid}'")
60
- print_yd_object(CLIENT.worker_pool_client.get_worker_pool_by_id(ydid))
56
+ worker_pool = CLIENT.worker_pool_client.get_worker_pool_by_id(ydid)
57
+ print_yd_object(worker_pool)
58
+ if ARGS_PARSER.show_token and isinstance(worker_pool, ConfiguredWorkerPool):
59
+ print_log("Showing Configured Worker Pool token data")
60
+ print_yd_object(
61
+ CLIENT.worker_pool_client.get_configured_worker_pool_token_by_id(
62
+ ydid
63
+ )
64
+ )
61
65
 
62
66
  elif ":node:" in ydid:
63
67
  print_log(f"Showing details of Node ID '{ydid}'")
@@ -71,7 +75,7 @@ def show_details(ydid: str):
71
75
  for worker in node.workers:
72
76
  if worker.id == ydid:
73
77
  print_yd_object(worker)
74
- break
78
+ return
75
79
  else:
76
80
  print_warning(f"Worker ID '{ydid}' not found")
77
81
 
@@ -87,7 +91,7 @@ def show_details(ydid: str):
87
91
  for task_group in work_requirement.taskGroups:
88
92
  if task_group.id == ydid:
89
93
  print_yd_object(task_group)
90
- break
94
+ return
91
95
  else:
92
96
  print_warning(f"Task Group ID '{ydid}' not found")
93
97
 
@@ -110,6 +114,7 @@ def show_details(ydid: str):
110
114
  for task in tasks:
111
115
  if task.id == ydid:
112
116
  print_yd_object(task)
117
+ return
113
118
  else:
114
119
  print_warning(f"Task ID '{ydid}' not found")
115
120
 
@@ -131,7 +136,7 @@ def show_details(ydid: str):
131
136
  for keyring in keyrings:
132
137
  if keyring.id == ydid:
133
138
  print_yd_object(keyring)
134
- break
139
+ return
135
140
  else:
136
141
  print_warning(f"Keyring ID '{ydid}' not found")
137
142
 
@@ -142,8 +147,6 @@ def show_details(ydid: str):
142
147
  else:
143
148
  print_warning(f"Unknown (or unsupported) YellowDog ID type for '{ydid}'")
144
149
 
145
- except InvalidRequestException as e:
146
- print_warning(f"Unable to show details for '{ydid}': {e}")
147
150
  except Exception as e:
148
151
  print_warning(f"Unable to show details for '{ydid}': {e}")
149
152
 
@@ -486,6 +486,11 @@ def create_task_group(
486
486
  task_group_data.get(REGIONS, wr_data.get(REGIONS, config_wr.regions))
487
487
  ),
488
488
  taskTimeout=task_timeout,
489
+ namespaces=check_list(
490
+ task_group_data.get(
491
+ NAMESPACES, wr_data.get(NAMESPACES, config_wr.namespaces)
492
+ )
493
+ ),
489
494
  )
490
495
  ctttl_data = check_float_or_int(
491
496
  task_group_data.get(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: yellowdog-python-examples
3
- Version: 7.10.0
3
+ Version: 7.10.2
4
4
  Summary: Example Python commands using the YellowDog Python SDK
5
5
  Home-page: https://github.com/yellowdog/python-examples
6
6
  Author: YellowDog Limited
@@ -15,7 +15,7 @@ Classifier: Development Status :: 4 - Beta
15
15
  Requires-Python: >=3.7
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
- Requires-Dist: yellowdog-sdk>=8.0.0
18
+ Requires-Dist: yellowdog-sdk>=8.0.2
19
19
  Requires-Dist: toml
20
20
  Requires-Dist: tabulate>=0.9.0
21
21
  Requires-Dist: PyPAC>=0.16.4
@@ -15,6 +15,7 @@ yd-list = yd_commands.list:main
15
15
  yd-provision = yd_commands.provision:main
16
16
  yd-remove = yd_commands.remove:main
17
17
  yd-resize = yd_commands.resize:main
18
+ yd-show = yd_commands.show:main
18
19
  yd-shutdown = yd_commands.shutdown:main
19
20
  yd-start = yd_commands.start:main
20
21
  yd-submit = yd_commands.submit:main
@@ -1,4 +1,4 @@
1
- yellowdog-sdk>=8.0.0
1
+ yellowdog-sdk>=8.0.2
2
2
  toml
3
3
  tabulate>=0.9.0
4
4
  PyPAC>=0.16.4
@@ -1 +0,0 @@
1
- __version__ = "7.10.0"