yellowdog-python-examples 7.19.0__tar.gz → 7.19.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 (79) hide show
  1. {yellowdog_python_examples-7.19.0/yellowdog_python_examples.egg-info → yellowdog_python_examples-7.19.2}/PKG-INFO +1 -1
  2. yellowdog_python_examples-7.19.2/yellowdog_cli/__init__.py +1 -0
  3. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/list.py +5 -1
  4. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/show.py +0 -2
  5. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/args.py +12 -0
  6. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/printing.py +12 -2
  7. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/settings.py +1 -0
  8. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2/yellowdog_python_examples.egg-info}/PKG-INFO +1 -1
  9. yellowdog_python_examples-7.19.0/yellowdog_cli/__init__.py +0 -1
  10. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/LICENSE +0 -0
  11. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/PYPI_README.md +0 -0
  12. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/README.md +0 -0
  13. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/pyproject.toml +0 -0
  14. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/requirements.txt +0 -0
  15. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/setup.cfg +0 -0
  16. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/tests/test_create_remove.py +0 -0
  17. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/tests/test_demos.py +0 -0
  18. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/tests/test_dryruns.py +0 -0
  19. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/tests/test_entrypoints.py +0 -0
  20. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/tests/test_gui.py +0 -0
  21. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/tests/test_list.py +0 -0
  22. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/tests/test_objects.py +0 -0
  23. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/tests/test_variable_processing.py +0 -0
  24. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/abort.py +0 -0
  25. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/admin.py +0 -0
  26. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/boost.py +0 -0
  27. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/cancel.py +0 -0
  28. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/cloudwizard.py +0 -0
  29. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/compare.py +0 -0
  30. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/create.py +0 -0
  31. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/delete.py +0 -0
  32. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/download.py +0 -0
  33. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/follow.py +0 -0
  34. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/format_json.py +0 -0
  35. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/hold.py +0 -0
  36. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/instantiate.py +0 -0
  37. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/jsonnet2json.py +0 -0
  38. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/provision.py +0 -0
  39. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/remove.py +0 -0
  40. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/resize.py +0 -0
  41. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/shutdown.py +0 -0
  42. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/start.py +0 -0
  43. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/submit.py +0 -0
  44. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/terminate.py +0 -0
  45. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/upload.py +0 -0
  46. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/__init__.py +0 -0
  47. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/check_imports.py +0 -0
  48. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/cloudwizard_aws.py +0 -0
  49. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/cloudwizard_aws_types.py +0 -0
  50. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/cloudwizard_azure.py +0 -0
  51. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/cloudwizard_common.py +0 -0
  52. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/cloudwizard_gcp.py +0 -0
  53. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/compact_json.py +0 -0
  54. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/config_types.py +0 -0
  55. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/csv_data.py +0 -0
  56. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/entity_utils.py +0 -0
  57. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/follow_utils.py +0 -0
  58. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/interactive.py +0 -0
  59. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/items.py +0 -0
  60. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/load_config.py +0 -0
  61. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/load_resources.py +0 -0
  62. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/misc_utils.py +0 -0
  63. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/property_names.py +0 -0
  64. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/provision_utils.py +0 -0
  65. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/rich_console_input_fixed.py +0 -0
  66. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/start_hold_common.py +0 -0
  67. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/submit_utils.py +0 -0
  68. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/type_check.py +0 -0
  69. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/upload_utils.py +0 -0
  70. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/validate_properties.py +0 -0
  71. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/variables.py +0 -0
  72. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/wrapper.py +0 -0
  73. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/utils/ydid_utils.py +0 -0
  74. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_cli/version.py +0 -0
  75. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_python_examples.egg-info/SOURCES.txt +0 -0
  76. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_python_examples.egg-info/dependency_links.txt +0 -0
  77. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_python_examples.egg-info/entry_points.txt +0 -0
  78. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_python_examples.egg-info/requires.txt +0 -0
  79. {yellowdog_python_examples-7.19.0 → yellowdog_python_examples-7.19.2}/yellowdog_python_examples.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yellowdog-python-examples
3
- Version: 7.19.0
3
+ Version: 7.19.2
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
@@ -0,0 +1 @@
1
+ __version__ = "7.19.2"
@@ -84,6 +84,7 @@ from yellowdog_cli.utils.settings import (
84
84
  RN_GROUP,
85
85
  RN_IMAGE_FAMILY,
86
86
  RN_KEYRING,
87
+ RN_NAMESPACE,
87
88
  RN_NUMERIC_ATTRIBUTE_DEFINITION,
88
89
  RN_REQUIREMENT_TEMPLATE,
89
90
  RN_ROLE,
@@ -890,7 +891,10 @@ def list_namespaces():
890
891
  return
891
892
 
892
893
  print_yd_object_list(
893
- [(namespace, None) for namespace in select(CLIENT, namespaces)]
894
+ [
895
+ (namespace, {PROP_RESOURCE: RN_NAMESPACE})
896
+ for namespace in select(CLIENT, namespaces)
897
+ ]
894
898
  )
895
899
 
896
900
 
@@ -30,7 +30,6 @@ from yellowdog_cli.utils.settings import (
30
30
  RN_REQUIREMENT_TEMPLATE,
31
31
  RN_ROLE,
32
32
  RN_SOURCE_TEMPLATE,
33
- RN_USER,
34
33
  )
35
34
  from yellowdog_cli.utils.wrapper import ARGS_PARSER, CLIENT, main_wrapper
36
35
  from yellowdog_cli.utils.ydid_utils import YDIDType, get_ydid_type
@@ -240,7 +239,6 @@ def show_details(ydid: str, initial_indent: int = 0, with_final_comma: bool = Fa
240
239
  CLIENT.account_client.get_user(ydid),
241
240
  initial_indent=initial_indent,
242
241
  with_final_comma=with_final_comma,
243
- add_fields=({RESOURCE_PROPERTY_NAME: RN_USER}),
244
242
  )
245
243
 
246
244
  elif ydid_type == YDIDType.GROUP:
@@ -120,6 +120,13 @@ class CLIParser:
120
120
  required=False,
121
121
  help="values in '.env' file override values in the environment",
122
122
  )
123
+ parser.add_argument(
124
+ "--print-pid",
125
+ "--pp",
126
+ action="store_true",
127
+ required=False,
128
+ help="include the process ID of this CLI invocation alongside timestamp in logging messages",
129
+ )
123
130
 
124
131
  # Module-specific argument sets
125
132
  if not any(module in sys.argv[0] for module in ["compare"]):
@@ -1282,6 +1289,11 @@ class CLIParser:
1282
1289
  def env_override(self) -> Optional[bool]:
1283
1290
  return self.args.env_override
1284
1291
 
1292
+ @property
1293
+ @allow_missing_attribute
1294
+ def print_pid(self) -> Optional[bool]:
1295
+ return self.args.print_pid
1296
+
1285
1297
  @property
1286
1298
  @allow_missing_attribute
1287
1299
  def work_req_file(self) -> Optional[str]:
@@ -7,7 +7,7 @@ from dataclasses import dataclass
7
7
  from datetime import datetime
8
8
  from json import dumps as json_dumps
9
9
  from json import loads as json_loads
10
- from os import get_terminal_size
10
+ from os import get_terminal_size, getpid
11
11
  from os import name as os_name
12
12
  from os.path import relpath
13
13
  from textwrap import fill
@@ -76,6 +76,7 @@ from yellowdog_cli.utils.settings import (
76
76
  PROP_ADMIN_GROUP,
77
77
  PROP_CREATED_BY_USER_ID,
78
78
  PROP_CREATED_TIME,
79
+ PROP_DELETABLE,
79
80
  PROP_ID,
80
81
  PROP_INSTANCE_PRICING,
81
82
  PROP_SUPPORTING_RESOURCE_CREATED,
@@ -151,7 +152,15 @@ def print_string(msg: str = "", no_fill: bool = False) -> str:
151
152
  for the terminal width.
152
153
  """
153
154
  global PREFIX_LEN
154
- prefix = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " : "
155
+
156
+ prefix = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
157
+ # Optionally add the PID to the prefix to disambiguate interleaved
158
+ # log messages
159
+ if ARGS_PARSER.print_pid:
160
+ prefix += f" ({getpid()}) : "
161
+ else:
162
+ prefix += " : "
163
+
155
164
  if PREFIX_LEN == 0:
156
165
  PREFIX_LEN = len(prefix)
157
166
 
@@ -1123,6 +1132,7 @@ def print_yd_object(
1123
1132
  PROP_ADMIN_GROUP,
1124
1133
  PROP_CREATED_BY_USER_ID,
1125
1134
  PROP_CREATED_TIME,
1135
+ PROP_DELETABLE,
1126
1136
  PROP_INSTANCE_PRICING,
1127
1137
  PROP_SUPPORTING_RESOURCE_CREATED,
1128
1138
  PROP_TRAITS,
@@ -143,6 +143,7 @@ PROP_CREATED_TIME = "createdTime"
143
143
  PROP_CREDENTIAL = "credential"
144
144
  PROP_CST_ID = "sourceTemplateId"
145
145
  PROP_DEFAULT_RANK_ORDER = "defaultRankOrder"
146
+ PROP_DELETABLE = "deletable"
146
147
  PROP_DESCRIPTION = "description"
147
148
  PROP_EFFECTIVE_FROM = "effectiveFrom"
148
149
  PROP_EFFECTIVE_UNTIL = "effectiveUntil"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yellowdog-python-examples
3
- Version: 7.19.0
3
+ Version: 7.19.2
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
@@ -1 +0,0 @@
1
- __version__ = "7.19.0"