pyegeria 0.5.8.16__tar.gz → 0.5.8.17__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 (75) hide show
  1. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/PKG-INFO +1 -1
  2. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/catalog_user/get_asset_graph.py +34 -31
  3. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/cli/egeria_ops.py +2 -2
  4. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyproject.toml +5 -5
  5. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/LICENSE +0 -0
  6. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/README.md +0 -0
  7. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/doc_samples/Create_Collection_Sample.py +0 -0
  8. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/doc_samples/Create_Sustainability_Collection_Sample.py +0 -0
  9. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/catalog_user/README.md +0 -0
  10. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/catalog_user/__init__.py +0 -0
  11. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/catalog_user/get_collection.py +0 -0
  12. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/catalog_user/get_tech_type_elements.py +0 -0
  13. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/catalog_user/get_tech_type_template.py +0 -0
  14. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/catalog_user/list_assets.py +0 -0
  15. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/catalog_user/list_glossary.py +0 -0
  16. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/cli/__init__.py +0 -0
  17. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/cli/ops_config.py +0 -0
  18. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/README.md +0 -0
  19. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/__init__.py +0 -0
  20. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/get_guid_info.py +0 -0
  21. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/get_tech_details.py +0 -0
  22. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/list_asset_types.py +0 -0
  23. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/list_registered_services.py +0 -0
  24. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/list_relationship_types.py +0 -0
  25. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/list_tech_templates.py +0 -0
  26. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/list_tech_types.py +0 -0
  27. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/developer/list_valid_metadata_values.py +0 -0
  28. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/README.md +0 -0
  29. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/__init__.py +0 -0
  30. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/engine_actions.py +0 -0
  31. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/integration_daemon_actions.py +0 -0
  32. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/list_catalog_targets.py +0 -0
  33. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/load_archive.py +0 -0
  34. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/monitor_asset_events.py +0 -0
  35. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/monitor_coco_status.py +0 -0
  36. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/monitor_engine_activity.py +0 -0
  37. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/monitor_gov_eng_status.py +0 -0
  38. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/monitor_integ_daemon_status.py +0 -0
  39. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/monitor_platform_status.py +0 -0
  40. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/monitor_server_list.py +0 -0
  41. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/monitor_server_status.py +0 -0
  42. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/refresh_integration_daemon.py +0 -0
  43. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/operational/restart_integration_daemon.py +0 -0
  44. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/personal_organizer/README.md +0 -0
  45. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/personal_organizer/__init__.py +0 -0
  46. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/personal_organizer/list_my_profile.py +0 -0
  47. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/personal_organizer/list_projects.py +0 -0
  48. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/personal_organizer/list_todos.py +0 -0
  49. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/personal_organizer/monitor_my_todos.py +0 -0
  50. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/examples/widgets/personal_organizer/monitor_open_todos.py +0 -0
  51. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/Xfeedback_manager_omvs.py +0 -0
  52. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/Xloaded_resources_omvs.py +0 -0
  53. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/__init__.py +0 -0
  54. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/_client.py +0 -0
  55. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/_deprecated_gov_engine.py +0 -0
  56. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/_exceptions.py +0 -0
  57. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/_globals.py +0 -0
  58. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/_validators.py +0 -0
  59. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/action_author_omvs.py +0 -0
  60. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/asset_catalog_omvs.py +0 -0
  61. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/automated_curation_omvs.py +0 -0
  62. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/collection_manager_omvs.py +0 -0
  63. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/core_omag_server_config.py +0 -0
  64. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/create_tech_guid_lists.py +0 -0
  65. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/full_omag_server_config.py +0 -0
  66. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/glossary_browser_omvs.py +0 -0
  67. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/glossary_manager_omvs.py +0 -0
  68. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/my_profile_omvs.py +0 -0
  69. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/platform_services.py +0 -0
  70. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/project_manager_omvs.py +0 -0
  71. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/registered_info.py +0 -0
  72. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/runtime_manager_omvs.py +0 -0
  73. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/server_operations.py +0 -0
  74. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/utils.py +0 -0
  75. {pyegeria-0.5.8.16 → pyegeria-0.5.8.17}/pyegeria/valid_metadata_omvs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 0.5.8.16
3
+ Version: 0.5.8.17
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -21,6 +21,7 @@ from pyegeria import (
21
21
  UserNotAuthorizedException,
22
22
  AssetCatalog
23
23
  )
24
+
24
25
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
25
26
  EGERIA_KAFKA_ENDPOINT = os.environ.get('KAFKA_ENDPOINT', 'localhost:9092')
26
27
  EGERIA_PLATFORM_URL = os.environ.get('EGERIA_PLATFORM_URL', 'https://localhost:9443')
@@ -32,16 +33,18 @@ EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
32
33
  EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
33
34
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
34
35
  EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
36
+ EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
37
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
35
38
 
36
39
  disable_ssl_warnings = True
37
40
 
38
- console = Console(width=200)
39
-
41
+ console = Console(width=EGERIA_WIDTH, force_terminal=(not EGERIA_JUPYTER))
40
42
 
41
43
  guid_list = []
42
44
 
43
- def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, user_pass:str):
44
45
 
46
+ def asset_viewer(asset_guid: str, server_name: str, platform_url: str, user: str, user_pass: str,
47
+ jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH):
45
48
  def build_classifications(classification: dict) -> Markdown:
46
49
 
47
50
  class_md = ""
@@ -50,7 +53,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
50
53
  if c_type == "Anchors":
51
54
  continue
52
55
  class_md += f"\n* Classification: {c_type}\n"
53
- class_props = c.get("classificationProperties","---")
56
+ class_props = c.get("classificationProperties", "---")
54
57
  if type(class_props) is dict:
55
58
  for prop in class_props.keys():
56
59
  class_md += f"\t* {prop}: {class_props[prop]}\n"
@@ -72,7 +75,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
72
75
  ne_classifications = nested_element["classifications"]
73
76
  ne_class_md = build_classifications(ne_classifications)
74
77
  # ne_class_md = " " if ne_class_md is None else ne_class_md
75
- ne_props = nested_element.get("properties","---")
78
+ ne_props = nested_element.get("properties", "---")
76
79
  ne_prop_md = "\n"
77
80
  if type(ne_props) is dict:
78
81
  for prop in ne_props.keys():
@@ -90,7 +93,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
90
93
  try:
91
94
 
92
95
  a_client = AssetCatalog(server_name, platform_url,
93
- user_id=user)
96
+ user_id=user)
94
97
 
95
98
  token = a_client.create_egeria_bearer_token(user, user_pass)
96
99
  # asset_info = a_client.find_assets_in_domain(asset_name)
@@ -109,7 +112,6 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
109
112
 
110
113
  # print(f"\n{json.dumps(asset_graph, indent =2)}\n")
111
114
 
112
-
113
115
  asset_name = asset_graph["displayName"]
114
116
  qualified_name = asset_graph["qualifiedName"]
115
117
  resource_name = asset_graph["resourceName"]
@@ -118,18 +120,17 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
118
120
  style = ""
119
121
 
120
122
  asset_type = asset_graph["type"]["typeName"]
121
- asset_deployed_imp_type = asset_graph.get("deployedImplementationType","---")
123
+ asset_deployed_imp_type = asset_graph.get("deployedImplementationType", "---")
122
124
 
123
125
  asset_origin = asset_graph["origin"]["homeMetadataCollectionName"]
124
126
  asset_creation = asset_graph["versions"]["createTime"]
125
127
  asset_created_by = asset_graph["versions"]["createdBy"]
126
128
  asset_classifications = asset_graph["classifications"]
127
- asset_nested_elements = asset_graph.get("anchoredElements","----")
129
+ asset_nested_elements = asset_graph.get("anchoredElements", "----")
128
130
  asset_relationships = asset_graph["relationships"]
129
131
  asset_class_md = build_classifications(asset_classifications)
130
132
 
131
-
132
- asset_properties = asset_graph.get("extendedProperties",None)
133
+ asset_properties = asset_graph.get("extendedProperties", None)
133
134
  if asset_properties is not None:
134
135
  prop_md = "\n* Extended Properties:\n"
135
136
  for prop in asset_properties:
@@ -137,28 +138,28 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
137
138
  else:
138
139
  prop_md = ""
139
140
  core_md = (f"**Type: {asset_type} Created by: {asset_created_by} on {asset_creation}**\n"
140
- f"* Deployed Implementation Type: {asset_deployed_imp_type}\n"
141
- f"* Qualified Name: {qualified_name}\n "
142
- f"* Resource Name: {resource_name}\n"
143
- f"* Display Name: {asset_name}\n"
144
- f"* Asset Origin: {asset_origin}\n{prop_md}\n"
145
- )
141
+ f"* Deployed Implementation Type: {asset_deployed_imp_type}\n"
142
+ f"* Qualified Name: {qualified_name}\n "
143
+ f"* Resource Name: {resource_name}\n"
144
+ f"* Display Name: {asset_name}\n"
145
+ f"* Asset Origin: {asset_origin}\n{prop_md}\n"
146
+ )
146
147
  core_md = Markdown(core_md)
147
148
 
148
- p1 = Panel.fit(core_md, style = "bold bright_white")
149
+ p1 = Panel.fit(core_md, style="bold bright_white")
149
150
  l2 = tree.add(p1)
150
151
  if asset_class_md is not None:
151
- p2 = Panel.fit(Markdown(asset_class_md), style = "bold bright_white", title = "Classifications")
152
+ p2 = Panel.fit(Markdown(asset_class_md), style="bold bright_white", title="Classifications")
152
153
  l2 = tree.add(p2)
153
154
 
154
155
  #
155
156
  # Nested Assets
156
157
  #
157
158
  if type(asset_nested_elements) is list:
158
- l2 = tree.add("Nested Elements", style = "bold white")
159
+ l2 = tree.add("Nested Elements", style="bold white")
159
160
  for el in asset_nested_elements:
160
161
  asset_ne_md = build_nested_elements(el)
161
- p3 = Panel.fit(asset_ne_md, style = "bold bright_white", title="Nested Elements")
162
+ p3 = Panel.fit(asset_ne_md, style="bold bright_white", title="Nested Elements")
162
163
  l2.add(p3)
163
164
 
164
165
  #
@@ -169,7 +170,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
169
170
  rel_end1 = relationship["end1"]
170
171
  rel_end1_type = rel_end1["type"]["typeName"]
171
172
  rel_end1_guid = rel_end1["guid"]
172
- rel_end1_unique_name = rel_end1.get("uniqueName","---")
173
+ rel_end1_unique_name = rel_end1.get("uniqueName", "---")
173
174
 
174
175
  rel_end2 = relationship["end2"]
175
176
  rel_end2_type = rel_end2["type"]["typeName"]
@@ -184,13 +185,12 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
184
185
  relationship_type = relationship["type"]["typeName"]
185
186
  relationship_created_by = relationship["versions"]["createdBy"]
186
187
  relationship_creation_time = relationship["versions"]["createTime"]
187
- relationship_properties = relationship.get("properties","--- ")
188
+ relationship_properties = relationship.get("properties", "--- ")
188
189
  relationship_md = (f"Relationship Type {relationship_type}\n"
189
190
  f"* GUID: {relationship_guid}\n* Created by: {relationship_created_by} \n"
190
191
  f"* Creation Time: {relationship_creation_time}\n"
191
192
  f"* Properties: {relationship_properties}\n")
192
193
 
193
-
194
194
  rel_md = (
195
195
  f"* Relationship Type: {relationship_type}\n"
196
196
  f"* Relationship GUID: {relationship_guid}\n"
@@ -201,7 +201,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
201
201
  f"\t* Type: {rel_end1_type}\n"
202
202
  f"\t* GUID: {rel_end1_guid}\n"
203
203
  f"\t* Unique Name: {rel_end1_unique_name}\n"
204
- )
204
+ )
205
205
 
206
206
  # if rel_end1_class_md is not None:
207
207
  # rel_end1_md = rel_end1_class_md + rel_end1_md
@@ -221,7 +221,8 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
221
221
 
222
222
  relationship_md += rel_end1_md + rel_end2_md
223
223
 
224
- relationship_panel = Panel.fit(Markdown(relationship_md), style="bold bright_white", title = "Asset Relationships")
224
+ relationship_panel = Panel.fit(Markdown(relationship_md), style="bold bright_white",
225
+ title="Asset Relationships")
225
226
  tree.add(relationship_panel)
226
227
 
227
228
  with console.screen():
@@ -229,13 +230,14 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
229
230
  print(tree)
230
231
 
231
232
  except (
232
- InvalidParameterException,
233
- PropertyServerException,
234
- UserNotAuthorizedException
233
+ InvalidParameterException,
234
+ PropertyServerException,
235
+ UserNotAuthorizedException
235
236
  ) as e:
236
237
  console.print_exception()
237
238
  console.print("\n\n ======> Most likely the GUID you provided is either incorrect or not an asset\n[red bold]")
238
239
 
240
+
239
241
  def main():
240
242
  parser = argparse.ArgumentParser()
241
243
 
@@ -251,10 +253,11 @@ def main():
251
253
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
252
254
  try:
253
255
  asset_guid = Prompt.ask("Enter the Asset GUID to view:", default="")
254
- asset_viewer(asset_guid,server, url, userid, user_pass)
256
+ asset_viewer(asset_guid, server, url, userid, user_pass)
255
257
  except (KeyboardInterrupt) as e:
256
258
  # console.print_exception()
257
259
  pass
258
260
 
261
+
259
262
  if __name__ == "__main__":
260
- main()
263
+ main()
@@ -144,7 +144,7 @@ def gov_eng_status(ctx, list):
144
144
  """Display engine-host status information"""
145
145
  c = ctx.obj
146
146
  display_gov_eng_status(c.engine_host, c.engine_host_url,
147
- c.userid, c.password,
147
+ c.admin_user, c.admin_user_password,
148
148
  list, c.jupyter, c.width)
149
149
 
150
150
 
@@ -155,7 +155,7 @@ def eng_activity_status(ctx, list):
155
155
  """Show Governance Activity in engine-host"""
156
156
  c = ctx.obj
157
157
  display_engine_activity(c.view_server, c.view_server_url,
158
- c.userid, c.password,
158
+ c.admin_user, c.admin_user_password,
159
159
  list, c.jupyter, c.width)
160
160
 
161
161
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pyegeria"
3
- version = "0.5.8.16"
3
+ version = "0.5.8.17"
4
4
  license = 'Apache 2.0'
5
5
  authors = ["Dan Wolfson <dan.wolfson@pdr-associates.com>"]
6
6
  readme = "README.md"
@@ -54,13 +54,13 @@ pytest = "^8.2.2"
54
54
  get_asset_graph = "examples.widgets.catalog_user.get_asset_graph:main"
55
55
  get_collection = "examples.widgets.catalog_user.get_collection:main"
56
56
  list_glossary = "examples.widgets.catalog_user.list_glossary:main"
57
+ get_tech_type_elements = "examples.widgets.catalog_user.get_tech_type_elements:main"
58
+ get_tech_type_template = "examples.widgets.catalog_user.get_tech_type_template:main"
57
59
 
58
- get_tech_type_elements = "examples.widgets.operational.get_tech_type_elements:main"
59
- get_tech_type_template = "examples.widgets.operational.get_tech_type_template:main"
60
60
  monitor_asset_events = "examples.widgets.operational.monitor_asset_events:main"
61
61
  monitor_coco_status = "examples.widgets.operational.monitor_coco_status:main"
62
- monitor_eng_action_status = "examples.widgets.operational.monitor_eng_action_status:main_live"
63
- list_eng_action_status = "examples.widgets.operational.monitor_eng_action_status:main_paging "
62
+ monitor_engine_activity = "examples.widgets.operational.monitor_engine_activity:main_live"
63
+ list_engine_activity = "examples.widgets.operational.monitor_engine_activity:main_paging "
64
64
  monitor_gov_eng_status = "examples.widgets.operational.monitor_gov_eng_status:main_live"
65
65
  list_gov_eng_status = "examples.widgets.operational.monitor_gov_eng_status:main_paging"
66
66
  monitor_integ_daemon_status = "examples.widgets.operational.monitor_integ_daemon_status:main_live"
File without changes
File without changes