yellowdog-python-examples 7.12.0__tar.gz → 7.13.0__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 (78) hide show
  1. {yellowdog_python_examples-7.12.0/yellowdog_python_examples.egg-info → yellowdog_python_examples-7.13.0}/PKG-INFO +2 -2
  2. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/README.md +4 -0
  3. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/requirements.txt +1 -1
  4. yellowdog_python_examples-7.13.0/yellowdog_cli/__init__.py +1 -0
  5. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/provision.py +2 -0
  6. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/args.py +27 -0
  7. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/config_types.py +1 -0
  8. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/load_config.py +1 -0
  9. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/printing.py +2 -0
  10. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/property_names.py +2 -0
  11. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0/yellowdog_python_examples.egg-info}/PKG-INFO +2 -2
  12. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_python_examples.egg-info/requires.txt +1 -1
  13. yellowdog_python_examples-7.12.0/yellowdog_cli/__init__.py +0 -1
  14. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/LICENSE +0 -0
  15. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/PYPI_README.md +0 -0
  16. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/pyproject.toml +0 -0
  17. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/setup.cfg +0 -0
  18. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/tests/test_create_remove.py +0 -0
  19. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/tests/test_demos.py +0 -0
  20. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/tests/test_dryruns.py +0 -0
  21. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/tests/test_entrypoints.py +0 -0
  22. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/tests/test_gui.py +0 -0
  23. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/tests/test_list.py +0 -0
  24. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/tests/test_objects.py +0 -0
  25. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/tests/test_variable_processing.py +0 -0
  26. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/abort.py +0 -0
  27. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/admin.py +0 -0
  28. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/boost.py +0 -0
  29. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/cancel.py +0 -0
  30. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/cloudwizard.py +0 -0
  31. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/create.py +0 -0
  32. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/delete.py +0 -0
  33. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/download.py +0 -0
  34. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/follow.py +0 -0
  35. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/format_json.py +0 -0
  36. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/hold.py +0 -0
  37. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/instantiate.py +0 -0
  38. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/jsonnet2json.py +0 -0
  39. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/list.py +0 -0
  40. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/remove.py +0 -0
  41. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/resize.py +0 -0
  42. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/show.py +0 -0
  43. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/shutdown.py +0 -0
  44. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/start.py +0 -0
  45. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/submit.py +0 -0
  46. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/terminate.py +0 -0
  47. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/upload.py +0 -0
  48. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/__init__.py +0 -0
  49. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/check_imports.py +0 -0
  50. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/cloudwizard_aws.py +0 -0
  51. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/cloudwizard_aws_types.py +0 -0
  52. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/cloudwizard_azure.py +0 -0
  53. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/cloudwizard_common.py +0 -0
  54. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/cloudwizard_gcp.py +0 -0
  55. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/compact_json.py +0 -0
  56. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/csv_data.py +0 -0
  57. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/entity_utils.py +0 -0
  58. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/follow_utils.py +0 -0
  59. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/interactive.py +0 -0
  60. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/items.py +0 -0
  61. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/load_resources.py +0 -0
  62. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/misc_utils.py +0 -0
  63. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/provision_utils.py +0 -0
  64. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/rich_console_input_fixed.py +0 -0
  65. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/settings.py +0 -0
  66. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/start_hold_common.py +0 -0
  67. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/submit_utils.py +0 -0
  68. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/type_check.py +0 -0
  69. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/upload_utils.py +0 -0
  70. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/validate_properties.py +0 -0
  71. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/variables.py +0 -0
  72. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/wrapper.py +0 -0
  73. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/utils/ydid_utils.py +0 -0
  74. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_cli/version.py +0 -0
  75. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_python_examples.egg-info/SOURCES.txt +0 -0
  76. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_python_examples.egg-info/dependency_links.txt +0 -0
  77. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_python_examples.egg-info/entry_points.txt +0 -0
  78. {yellowdog_python_examples-7.12.0 → yellowdog_python_examples-7.13.0}/yellowdog_python_examples.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: yellowdog-python-examples
3
- Version: 7.12.0
3
+ Version: 7.13.0
4
4
  Summary: Python CLI commands using the YellowDog Python SDK
5
5
  Author-email: YellowDog Limited <support@yellowdog.co>
6
6
  Project-URL: Homepage, https://github.com/yellowdog/python-examples
@@ -13,7 +13,7 @@ Classifier: Development Status :: 4 - Beta
13
13
  Requires-Python: >=3.7
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
- Requires-Dist: yellowdog-sdk>=8.6.1
16
+ Requires-Dist: yellowdog-sdk>=8.6.2
17
17
  Requires-Dist: toml
18
18
  Requires-Dist: tabulate>=0.9.0
19
19
  Requires-Dist: PyPAC>=0.16.4
@@ -1600,6 +1600,7 @@ The following properties are available:
1600
1600
  | `instanceTags` | The dictionary of instance tags to apply to the instances. Tag names must be lower case. | |
1601
1601
  | `maintainInstanceCount` | Only used when instantiating Compute Requirements; attempt to maintain the requested number of instances. | `False` |
1602
1602
  | `maxNodes` | The maximum number of nodes to which the Worker Pool can be scaled up. | `1` |
1603
+ | `metricsEnabled` | Whether to enable performance metrics for nodes in the Worker Pool | `false` |
1603
1604
  | `minNodes` | The minimum number of nodes to which the Worker Pool can be scaled down. | `0` |
1604
1605
  | `name` | The name of the Worker Pool. | Automatically Generated |
1605
1606
  | `nodeBootTimeout` | The time in minutes allowed for a node to boot and register with the platform, otherwise it will be terminated. | `10.0` |
@@ -1636,6 +1637,7 @@ Here's an example of the `workerPool` section of a TOML configuration file, show
1636
1637
  instanceTags = {}
1637
1638
  maxNodes = 1
1638
1639
  minNodes = 1
1640
+ metricsEnabled = true
1639
1641
  name = "my-worker-pool"
1640
1642
  nodeBootTimeout = 5
1641
1643
  requirementTag = "my_tag"
@@ -1679,6 +1681,7 @@ The example below is of a simple JSON specification of a Worker Pool with one in
1679
1681
  "idlePoolShutdown": {"enabled": true, "timeout": "PT1H"},
1680
1682
  "createNodeWorkers": {"targetCount": 1, "targetType": "PER_VCPU"},
1681
1683
  "maxNodes": 5,
1684
+ "metricsEnabled": true,
1682
1685
  "minNodes": 0,
1683
1686
  "nodeBootTimeout": "PT5M",
1684
1687
  "nodeIdleGracePeriod": "PT3M",
@@ -1799,6 +1802,7 @@ Note that the `templateId` property can use either the YellowDog ID ('YDID') for
1799
1802
  - `idleNodeTimeout` (set to `0` to disable)
1800
1803
  - `idlePoolTimeout` (set to `0` to disable)
1801
1804
  - `maxNodes`
1805
+ - `metricsEnabled`
1802
1806
  - `minNodes`
1803
1807
  - `nodeBootTimeout`
1804
1808
  - `workerTag`
@@ -1,4 +1,4 @@
1
- yellowdog-sdk >= 8.6.1
1
+ yellowdog-sdk >= 8.6.2
2
2
  toml
3
3
  tabulate >= 0.9.0
4
4
  PyPAC >= 0.16.4
@@ -0,0 +1 @@
1
+ __version__ = "7.13.0"
@@ -222,6 +222,7 @@ def create_worker_pool_from_json(wp_json_file: str) -> None:
222
222
  }
223
223
  ),
224
224
  ),
225
+ ("metricsEnabled", CONFIG_WP.metrics_enabled),
225
226
  ]:
226
227
  if provisioned_properties.get(key) is None and value is not None:
227
228
  print_log(f"Setting 'provisionedProperties.{key}': '{value}'")
@@ -382,6 +383,7 @@ def create_worker_pool_from_toml():
382
383
  idleNodeShutdown=idle_node_auto_shutdown,
383
384
  idlePoolShutdown=idle_pool_auto_shutdown,
384
385
  nodeBootTimeout=node_boot_timeout,
386
+ metricsEnabled=CONFIG_WP.metrics_enabled,
385
387
  )
386
388
  if not ARGS_PARSER.dry_run:
387
389
  worker_pool = CLIENT.worker_pool_client.provision_worker_pool(
@@ -131,6 +131,7 @@ class CLIParser:
131
131
  "resize",
132
132
  "cloudwizard",
133
133
  "follow",
134
+ "list",
134
135
  ]
135
136
  ):
136
137
  parser.add_argument(
@@ -162,6 +163,32 @@ class CLIParser:
162
163
  metavar="<tag>",
163
164
  )
164
165
 
166
+ # Namespace and tag attributes are defaulted to "" when using 'yd-list'
167
+ if any(module in sys.argv[0] for module in ["list"]):
168
+ parser.add_argument(
169
+ "--namespace",
170
+ "-n",
171
+ type=str,
172
+ required=False,
173
+ nargs="?",
174
+ const="",
175
+ default="",
176
+ help="the namespace to search when listing entities",
177
+ metavar="<namespace>",
178
+ )
179
+ parser.add_argument(
180
+ "--tag",
181
+ "-t",
182
+ "--prefix",
183
+ type=str,
184
+ required=False,
185
+ nargs="?",
186
+ const="",
187
+ default="",
188
+ help="the tag to search when listing entities",
189
+ metavar="<tag>",
190
+ )
191
+
165
192
  if any(module in sys.argv[0] for module in ["submit"]):
166
193
  parser.add_argument(
167
194
  "--work-requirement",
@@ -84,6 +84,7 @@ class ConfigWorkerPool:
84
84
  maintainInstanceCount: bool = False # Only for yd-instantiate
85
85
  max_nodes: int = 0
86
86
  max_nodes_set: bool = False # Is max_nodes explicitly set?
87
+ metrics_enabled: bool = False
87
88
  min_nodes: int = 0
88
89
  min_nodes_set: bool = False
89
90
  name: Optional[str] = None
@@ -399,6 +399,7 @@ def load_config_worker_pool() -> ConfigWorkerPool:
399
399
  MAX_NODES, max(1, int(wp_section.get(TARGET_INSTANCE_COUNT, 1)))
400
400
  ),
401
401
  max_nodes_set=(False if wp_section.get(MAX_NODES) is None else True),
402
+ metrics_enabled=wp_section.get(METRICS_ENABLED, False),
402
403
  min_nodes=int(wp_section.get(MIN_NODES, 0)),
403
404
  min_nodes_set=(False if wp_section.get(MIN_NODES) is None else True),
404
405
  name=process_variable_substitutions(
@@ -86,6 +86,8 @@ class PrintLogHighlighter(RegexHighlighter):
86
86
  r" [0-9][0-9]:[0-9][0-9]:[0-9][0-9])",
87
87
  r"(?P<quoted>'[a-zA-Z0-9-._=;:\/\\\[\]{}+#@$£%\^&\*\(\)~`<>?]*')",
88
88
  r"(?P<ydid>ydid:[a-z]*:[0-9ABCDEF]*:[0-9abcdef-]*)",
89
+ r"(?P<ydid>ydid:[a-z]*:[0-9ABCDEF]*:[0-9abcdef-]*:[0-9]*)",
90
+ r"(?P<ydid>ydid:[a-z]*:[0-9ABCDEF]*:[0-9abcdef-]*:[0-9]*:[0-9]*)",
89
91
  r"(?P<url>(https?):((//)|(\\\\))+[\w\d:#@%/;$~_?\+-=\\\.&]*)",
90
92
  ] + HIGHLIGHTED_STATES
91
93
 
@@ -43,6 +43,7 @@ MAINTAIN_INSTANCE_COUNT = "maintainInstanceCount" # Bool
43
43
  MAX_NODES = "maxNodes" # Integer
44
44
  MAX_RETRIES = "maximumTaskRetries" # Integer
45
45
  MAX_WORKERS = "maxWorkers" # Integer
46
+ METRICS_ENABLED = "metricsEnabled" # Boolean
46
47
  MIN_NODES = "minNodes" # Integer
47
48
  MIN_WORKERS = "minWorkers" # Integer
48
49
  NAME = "name" # String
@@ -142,6 +143,7 @@ ALL_KEYS = [
142
143
  MAX_NODES,
143
144
  MAX_RETRIES,
144
145
  MAX_WORKERS,
146
+ METRICS_ENABLED,
145
147
  MIN_NODES,
146
148
  MIN_WORKERS,
147
149
  NAMESPACE,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: yellowdog-python-examples
3
- Version: 7.12.0
3
+ Version: 7.13.0
4
4
  Summary: Python CLI commands using the YellowDog Python SDK
5
5
  Author-email: YellowDog Limited <support@yellowdog.co>
6
6
  Project-URL: Homepage, https://github.com/yellowdog/python-examples
@@ -13,7 +13,7 @@ Classifier: Development Status :: 4 - Beta
13
13
  Requires-Python: >=3.7
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
- Requires-Dist: yellowdog-sdk>=8.6.1
16
+ Requires-Dist: yellowdog-sdk>=8.6.2
17
17
  Requires-Dist: toml
18
18
  Requires-Dist: tabulate>=0.9.0
19
19
  Requires-Dist: PyPAC>=0.16.4
@@ -1,4 +1,4 @@
1
- yellowdog-sdk>=8.6.1
1
+ yellowdog-sdk>=8.6.2
2
2
  toml
3
3
  tabulate>=0.9.0
4
4
  PyPAC>=0.16.4
@@ -1 +0,0 @@
1
- __version__ = "7.12.0"