pyegeria 0.5.8.16__py3-none-any.whl → 0.5.8.18__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.
@@ -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,19 @@ 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))
42
+ console = Console()
40
43
 
41
44
  guid_list = []
42
45
 
43
- def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, user_pass:str):
44
46
 
47
+ def asset_viewer(asset_guid: str, server_name: str, platform_url: str, user: str, user_pass: str,
48
+ jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH):
45
49
  def build_classifications(classification: dict) -> Markdown:
46
50
 
47
51
  class_md = ""
@@ -50,7 +54,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
50
54
  if c_type == "Anchors":
51
55
  continue
52
56
  class_md += f"\n* Classification: {c_type}\n"
53
- class_props = c.get("classificationProperties","---")
57
+ class_props = c.get("classificationProperties", "---")
54
58
  if type(class_props) is dict:
55
59
  for prop in class_props.keys():
56
60
  class_md += f"\t* {prop}: {class_props[prop]}\n"
@@ -72,7 +76,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
72
76
  ne_classifications = nested_element["classifications"]
73
77
  ne_class_md = build_classifications(ne_classifications)
74
78
  # ne_class_md = " " if ne_class_md is None else ne_class_md
75
- ne_props = nested_element.get("properties","---")
79
+ ne_props = nested_element.get("properties", "---")
76
80
  ne_prop_md = "\n"
77
81
  if type(ne_props) is dict:
78
82
  for prop in ne_props.keys():
@@ -90,7 +94,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
90
94
  try:
91
95
 
92
96
  a_client = AssetCatalog(server_name, platform_url,
93
- user_id=user)
97
+ user_id=user)
94
98
 
95
99
  token = a_client.create_egeria_bearer_token(user, user_pass)
96
100
  # asset_info = a_client.find_assets_in_domain(asset_name)
@@ -109,7 +113,6 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
109
113
 
110
114
  # print(f"\n{json.dumps(asset_graph, indent =2)}\n")
111
115
 
112
-
113
116
  asset_name = asset_graph["displayName"]
114
117
  qualified_name = asset_graph["qualifiedName"]
115
118
  resource_name = asset_graph["resourceName"]
@@ -118,18 +121,17 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
118
121
  style = ""
119
122
 
120
123
  asset_type = asset_graph["type"]["typeName"]
121
- asset_deployed_imp_type = asset_graph.get("deployedImplementationType","---")
124
+ asset_deployed_imp_type = asset_graph.get("deployedImplementationType", "---")
122
125
 
123
126
  asset_origin = asset_graph["origin"]["homeMetadataCollectionName"]
124
127
  asset_creation = asset_graph["versions"]["createTime"]
125
128
  asset_created_by = asset_graph["versions"]["createdBy"]
126
129
  asset_classifications = asset_graph["classifications"]
127
- asset_nested_elements = asset_graph.get("anchoredElements","----")
130
+ asset_nested_elements = asset_graph.get("anchoredElements", "----")
128
131
  asset_relationships = asset_graph["relationships"]
129
132
  asset_class_md = build_classifications(asset_classifications)
130
133
 
131
-
132
- asset_properties = asset_graph.get("extendedProperties",None)
134
+ asset_properties = asset_graph.get("extendedProperties", None)
133
135
  if asset_properties is not None:
134
136
  prop_md = "\n* Extended Properties:\n"
135
137
  for prop in asset_properties:
@@ -137,28 +139,28 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
137
139
  else:
138
140
  prop_md = ""
139
141
  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
- )
142
+ f"* Deployed Implementation Type: {asset_deployed_imp_type}\n"
143
+ f"* Qualified Name: {qualified_name}\n "
144
+ f"* Resource Name: {resource_name}\n"
145
+ f"* Display Name: {asset_name}\n"
146
+ f"* Asset Origin: {asset_origin}\n{prop_md}\n"
147
+ )
146
148
  core_md = Markdown(core_md)
147
149
 
148
- p1 = Panel.fit(core_md, style = "bold bright_white")
150
+ p1 = Panel.fit(core_md, style="bold bright_white")
149
151
  l2 = tree.add(p1)
150
152
  if asset_class_md is not None:
151
- p2 = Panel.fit(Markdown(asset_class_md), style = "bold bright_white", title = "Classifications")
153
+ p2 = Panel.fit(Markdown(asset_class_md), style="bold bright_white", title="Classifications")
152
154
  l2 = tree.add(p2)
153
155
 
154
156
  #
155
157
  # Nested Assets
156
158
  #
157
159
  if type(asset_nested_elements) is list:
158
- l2 = tree.add("Nested Elements", style = "bold white")
160
+ l2 = tree.add("Nested Elements", style="bold white")
159
161
  for el in asset_nested_elements:
160
162
  asset_ne_md = build_nested_elements(el)
161
- p3 = Panel.fit(asset_ne_md, style = "bold bright_white", title="Nested Elements")
163
+ p3 = Panel.fit(asset_ne_md, style="bold bright_white", title="Nested Elements")
162
164
  l2.add(p3)
163
165
 
164
166
  #
@@ -169,7 +171,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
169
171
  rel_end1 = relationship["end1"]
170
172
  rel_end1_type = rel_end1["type"]["typeName"]
171
173
  rel_end1_guid = rel_end1["guid"]
172
- rel_end1_unique_name = rel_end1.get("uniqueName","---")
174
+ rel_end1_unique_name = rel_end1.get("uniqueName", "---")
173
175
 
174
176
  rel_end2 = relationship["end2"]
175
177
  rel_end2_type = rel_end2["type"]["typeName"]
@@ -184,13 +186,12 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
184
186
  relationship_type = relationship["type"]["typeName"]
185
187
  relationship_created_by = relationship["versions"]["createdBy"]
186
188
  relationship_creation_time = relationship["versions"]["createTime"]
187
- relationship_properties = relationship.get("properties","--- ")
189
+ relationship_properties = relationship.get("properties", "--- ")
188
190
  relationship_md = (f"Relationship Type {relationship_type}\n"
189
191
  f"* GUID: {relationship_guid}\n* Created by: {relationship_created_by} \n"
190
192
  f"* Creation Time: {relationship_creation_time}\n"
191
193
  f"* Properties: {relationship_properties}\n")
192
194
 
193
-
194
195
  rel_md = (
195
196
  f"* Relationship Type: {relationship_type}\n"
196
197
  f"* Relationship GUID: {relationship_guid}\n"
@@ -201,7 +202,7 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
201
202
  f"\t* Type: {rel_end1_type}\n"
202
203
  f"\t* GUID: {rel_end1_guid}\n"
203
204
  f"\t* Unique Name: {rel_end1_unique_name}\n"
204
- )
205
+ )
205
206
 
206
207
  # if rel_end1_class_md is not None:
207
208
  # rel_end1_md = rel_end1_class_md + rel_end1_md
@@ -221,7 +222,8 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
221
222
 
222
223
  relationship_md += rel_end1_md + rel_end2_md
223
224
 
224
- relationship_panel = Panel.fit(Markdown(relationship_md), style="bold bright_white", title = "Asset Relationships")
225
+ relationship_panel = Panel.fit(Markdown(relationship_md), style="bold bright_white",
226
+ title="Asset Relationships")
225
227
  tree.add(relationship_panel)
226
228
 
227
229
  with console.screen():
@@ -229,13 +231,14 @@ def asset_viewer(asset_guid: str, server_name:str, platform_url:str, user:str, u
229
231
  print(tree)
230
232
 
231
233
  except (
232
- InvalidParameterException,
233
- PropertyServerException,
234
- UserNotAuthorizedException
234
+ InvalidParameterException,
235
+ PropertyServerException,
236
+ UserNotAuthorizedException
235
237
  ) as e:
236
238
  console.print_exception()
237
239
  console.print("\n\n ======> Most likely the GUID you provided is either incorrect or not an asset\n[red bold]")
238
240
 
241
+
239
242
  def main():
240
243
  parser = argparse.ArgumentParser()
241
244
 
@@ -251,10 +254,13 @@ def main():
251
254
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
252
255
  try:
253
256
  asset_guid = Prompt.ask("Enter the Asset GUID to view:", default="")
254
- asset_viewer(asset_guid,server, url, userid, user_pass)
257
+ asset_viewer(asset_guid, server, url, userid, user_pass)
255
258
  except (KeyboardInterrupt) as e:
256
259
  # console.print_exception()
257
260
  pass
261
+ except Exception as e:
262
+ console.print_exception()
263
+
258
264
 
259
265
  if __name__ == "__main__":
260
- main()
266
+ main()
@@ -31,9 +31,11 @@ EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
31
31
  EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
32
32
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
33
33
  EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
34
+ EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
35
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
34
36
 
35
-
36
- def collection_viewer(root: str, server_name: str, platform_url: str, user: str, user_password: str):
37
+ def collection_viewer(root: str, server_name: str, platform_url: str, user: str, user_password: str,
38
+ jupyter:bool=EGERIA_JUPYTER, width:int = EGERIA_WIDTH):
37
39
  """ A simple collection viewer"""
38
40
  def walk_collection_hierarchy(collection_client: CollectionManager, root_collection_name: str, tree: Tree) -> None:
39
41
  """Recursively build a Tree with collection contents."""
@@ -40,13 +40,17 @@ EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
40
40
  EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
41
41
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
42
42
  EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
43
+ EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
44
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
45
+
43
46
 
44
47
  disable_ssl_warnings = True
45
48
  console = Console(width=200)
46
49
 
47
50
  guid_list = []
48
51
 
49
- def tech_viewer(tech_name: str, server_name:str, platform_url:str, user:str, user_pass:str):
52
+ def tech_viewer(tech_name: str, server_name:str, platform_url:str, user:str, user_pass:str,
53
+ jupyter:bool=EGERIA_JUPYTER, width:int=EGERIA_WIDTH):
50
54
 
51
55
  def build_classifications(classification: dict) -> Markdown:
52
56
 
@@ -69,7 +73,8 @@ def tech_viewer(tech_name: str, server_name:str, platform_url:str, user:str, use
69
73
 
70
74
  try:
71
75
 
72
- console = Console()
76
+ console = Console(width=width, force_terminal=not jupyter)
77
+
73
78
 
74
79
  a_client = AutomatedCuration(server_name, platform_url,
75
80
  user_id=user)
@@ -33,13 +33,17 @@ EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
33
33
  EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
34
34
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
35
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'))
38
+
36
39
 
37
40
  disable_ssl_warnings = True
38
41
  console = Console(width=200)
39
42
 
40
43
  guid_list = []
41
44
 
42
- def tech_viewer(tech_name: str, server_name:str, platform_url:str, user:str, user_pass:str):
45
+ def template_viewer(tech_name: str, server_name:str, platform_url:str, user:str, user_pass:str,
46
+ jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH):
43
47
 
44
48
  def build_classifications(classification: dict) -> Markdown:
45
49
 
@@ -62,7 +66,7 @@ def tech_viewer(tech_name: str, server_name:str, platform_url:str, user:str, use
62
66
 
63
67
  try:
64
68
 
65
- console = Console()
69
+ console = Console(width=width, force_terminal=not jupyter)
66
70
 
67
71
  a_client = AutomatedCuration(server_name, platform_url,
68
72
  user_id=user)
@@ -137,7 +141,7 @@ def main():
137
141
 
138
142
  try:
139
143
  tech_name = Prompt.ask("Enter the Asset Name to view:", default="Apache Kafka Server")
140
- tech_viewer(tech_name,server, url, userid, user_pass)
144
+ template_viewer(tech_name,server, url, userid, user_pass)
141
145
  except(KeyboardInterrupt):
142
146
  pass
143
147
 
@@ -35,10 +35,14 @@ EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
35
35
  EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
36
36
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
37
37
  EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
38
+ EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
39
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
40
+
38
41
 
39
42
  disable_ssl_warnings = True
40
43
 
41
- def display_assets(search_string: str, server: str, url: str, username: str, user_password: str, time_out: int = 60):
44
+ def display_assets(search_string: str, server: str, url: str, username: str, user_password: str, time_out: int = 60,
45
+ jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH):
42
46
 
43
47
  g_client = AssetCatalog(server, url, username)
44
48
  token = g_client.create_egeria_bearer_token(username, user_password)
@@ -114,7 +118,7 @@ def display_assets(search_string: str, server: str, url: str, username: str, use
114
118
  # while True:
115
119
  # time.sleep(2)
116
120
  # live.update(generate_table())
117
- console = Console()
121
+ console = Console(width=width, force_terminal=not jupyter)
118
122
  with console.pager(styles=True):
119
123
  console.print(generate_table(search_string))
120
124
 
@@ -42,9 +42,12 @@ EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
42
42
  EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
43
43
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
44
44
  EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
45
+ EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
46
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
45
47
 
46
48
 
47
- def display_glossary_terms(search_string: str, guid: str, server: str, url: str, username: str, user_password: str):
49
+ def display_glossary_terms(search_string: str, guid: str, server: str, url: str, username: str, user_password: str,
50
+ jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH ):
48
51
 
49
52
  g_client = GlossaryBrowser(server, url)
50
53
  token = g_client.create_egeria_bearer_token(username, user_password)
@@ -99,7 +102,7 @@ def display_glossary_terms(search_string: str, guid: str, server: str, url: str,
99
102
  # while True:
100
103
  # time.sleep(2)
101
104
  # live.update(generate_table(search_string))
102
- console = Console(style="bold white on black")
105
+ console = Console(style="bold white on black", width=width, force_terminal=not jupyter)
103
106
  with console.pager(styles=True):
104
107
  console.print(generate_table(search_string))
105
108
 
@@ -36,11 +36,15 @@ EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
36
36
  EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
37
37
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
38
38
  EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
39
+ EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
40
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
41
+
39
42
 
40
43
  disable_ssl_warnings = True
41
44
 
42
45
 
43
- def display_tech_types(search_string:str, server: str, url: str, username: str, user_pass: str):
46
+ def display_tech_types(search_string:str, server: str, url: str, username: str, user_pass: str,
47
+ jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH):
44
48
  a_client = AutomatedCuration(server, url, username)
45
49
  token = a_client.create_egeria_bearer_token(username, user_pass)
46
50
  tech_list = a_client.find_technology_types(search_string, page_size=0)
@@ -88,7 +92,7 @@ def display_tech_types(search_string:str, server: str, url: str, username: str,
88
92
  sys.exit(1)
89
93
 
90
94
  try:
91
- console = Console()
95
+ console = Console(width=width, force_terminal=not jupyter)
92
96
  with console.pager(styles=True):
93
97
  console.print(generate_table())
94
98
 
@@ -0,0 +1,198 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+
7
+ A command line interface for Egeria Catalog User functions
8
+
9
+ This is an emerging capability based on the **click** package. Feedback welcome!
10
+
11
+ """
12
+ import click
13
+ from trogon import tui
14
+
15
+ from examples.widgets.catalog_user.get_asset_graph import asset_viewer
16
+ from examples.widgets.catalog_user.get_collection import collection_viewer
17
+ from examples.widgets.catalog_user.get_tech_type_elements import tech_viewer
18
+ from examples.widgets.catalog_user.get_tech_type_template import template_viewer
19
+ from examples.widgets.catalog_user.list_assets import display_assets
20
+ from examples.widgets.catalog_user.list_glossary import display_glossary_terms
21
+ from examples.widgets.catalog_user.list_tech_types import display_tech_types
22
+ # from pyegeria import ServerOps
23
+ from examples.widgets.cli.ops_config import Config
24
+
25
+
26
+ # class Config(object):
27
+ # def __init__(self, server: str = None, url: str = None, userid:str = None, password:str = None,
28
+ # timeout:int = 30, paging: bool = False):
29
+ # self.server = server
30
+ # self.url = url
31
+ # self.userid = userid
32
+ # self.password = password
33
+ # self.timeout = timeout
34
+ # self.paging = paging
35
+ #
36
+ #
37
+ # pass_config = click.make_pass_decorator(Config)
38
+
39
+ # @tui
40
+ @tui()
41
+ @click.version_option("0.0.1", prog_name="egeria_ops")
42
+ @click.group()
43
+ @click.option('--server', default='active-metadata-store', envvar='EGERIA_METADATA_STORE',
44
+ help='Egeria metadata store to work with')
45
+ @click.option('--url', default='https://localhost:9443', envvar='EGERIA_PLATFORM_URL',
46
+ help='URL of Egeria metadata store platform to connect to')
47
+ @click.option('--integration-daemon', default='integration-daemon', envvar='EGERIA_INTEGRATION_DAEMON',
48
+ help='Egeria integration daemon to work with')
49
+ @click.option('--integration_daemon_url', default='https://localhost:9443', envvar='EGERIA_INTEGRATION_DAEMON_URL',
50
+ help='URL of Egeria integration daemon platform to connect to')
51
+ @click.option('--view_server', default='view-server', envvar='EGERIA_VIEW_SERVER',
52
+ help='Egeria view server to work with')
53
+ @click.option('--view_server_url', default='https://localhost:9443', envvar='EGERIA_VIEW_SERVER_URL',
54
+ help='URL of Egeria view server platform to connect to')
55
+ @click.option('--engine_host', default='engine-host', envvar='EGERIA_ENGINE_HOST',
56
+ help='Egeria engine host to work with')
57
+ @click.option('--engine_host_url', default='https://localhost:9443', envvar='EGERIA_ENGINE_HOST_URL',
58
+ help='URL of Egeria engine host platform to connect to')
59
+ @click.option('--admin_user', default='garygeeke', envvar='EGERIA_ADMIN_USER', help='Egeria admin user')
60
+ @click.option('--admin_user_password', default='secret', envvar='EGERIA_ADMIN_PASSWORD',
61
+ help='Egeria admin password')
62
+ @click.option('--userid', default='garygeeke', envvar='EGERIA_USER', help='Egeria user')
63
+ @click.option('--password', default='secret', envvar='EGERIA_PASSWORD',
64
+ help='Egeria user password')
65
+ @click.option('--timeout', default=60, help='Number of seconds to wait')
66
+ @click.option('--verbose', is_flag=True, default=False, help='Enable verbose mode')
67
+ @click.option('--paging', is_flag=True, default=False, help='Enable paging snapshots vs live updates')
68
+ @click.option('--jupyter', is_flag=True, default=False, envvar='EGERIA_JUPYTER',
69
+ help='Enable for rendering in a Jupyter terminal')
70
+ @click.option('--width', default=200, envvar='EGERIA_WIDTH', help='Screen width, in characters, to use')
71
+ @click.pass_context
72
+ def cli(ctx, server, url, view_server, view_server_url, integration_daemon, integration_daemon_url,
73
+ engine_host, engine_host_url, admin_user, admin_user_password, userid, password, timeout, paging,
74
+ verbose, jupyter, width):
75
+ """An Egeria Command Line interface for Operations """
76
+ ctx.obj = Config(server, url, view_server, view_server_url, integration_daemon,
77
+ integration_daemon_url, engine_host, engine_host_url,
78
+ admin_user, admin_user_password, userid, password,
79
+ timeout, paging, verbose, jupyter, width)
80
+ ctx.max_content_width = 200
81
+ ctx.ensure_object(Config)
82
+ if verbose:
83
+ click.echo(f"we are in verbose mode - server is {server}")
84
+
85
+
86
+ @cli.group("show")
87
+ @click.pass_context
88
+ def show(ctx):
89
+ """Display an Egeria Object"""
90
+ pass
91
+
92
+
93
+ @show.command('tech_types')
94
+ @click.option('--tech_type', default='*', help='Tech type to search for')
95
+ @click.pass_context
96
+ def show_tech_types(ctx, tech_type):
97
+ """List deployed technology types"""
98
+ c = ctx.obj
99
+ display_tech_types(tech_type, c.view_server, c.view_server_url,
100
+ c.userid, c.password)
101
+
102
+
103
+ @show.command('tech_type_elements')
104
+ @click.option('--tech_type', default='PostgreSQL Server', help='Specific tech type to get elements for')
105
+ @click.pass_context
106
+ def show_tech_type_elements(ctx, tech_type):
107
+ """List technology type elements"""
108
+ c = ctx.obj
109
+ tech_viewer(tech_type, c.view_server, c.view_server_url,
110
+ c.userid, c.password)
111
+
112
+
113
+ @show.command('tech_type_templates')
114
+ @click.option('--tech_type', default='PostgreSQL Server', help='Specific tech type to get elements for')
115
+ @click.pass_context
116
+ def show_tech_type_templates(ctx, tech_type):
117
+ """List technology type templates"""
118
+ c = ctx.obj
119
+ template_viewer(tech_type, c.view_server, c.view_server_url, c.userid,
120
+ c.password, c.jupyter, c.width)
121
+
122
+
123
+ @show.command('assets')
124
+ @click.option('--search_string', help='List assets similar to search string - minimum of 4 characters')
125
+ @click.pass_context
126
+ def show_assets(ctx, search_string):
127
+ """Find and display assets"""
128
+ c = ctx.obj
129
+ display_assets(search_string, c.view_server, c.view_server_url, c.userid,
130
+ c.password, c.jupyter, c.width)
131
+
132
+
133
+ @show.command('glossary_terms')
134
+ @click.option('--search_string', default='*',
135
+ help='List glossary terms similar to search string - minimum of 4 characters')
136
+ @click.option('--glossary_guid', default=None, help='Optionally restrict search to glossary with the specified guid')
137
+ @click.pass_context
138
+ def show_terms(ctx, search_string, glossary_guid):
139
+ """Find and display glossary terms"""
140
+ c = ctx.obj
141
+ display_glossary_terms(search_string, glossary_guid, c.view_server, c.view_server_url, c.userid,
142
+ c.password, c.jupyter, c.width)
143
+
144
+
145
+ @show.command('asset_graph')
146
+ @click.argument('asset_guid', nargs=1)
147
+ @click.pass_context
148
+ def show_asset_graph(ctx, asset_guid):
149
+ """Display a tree graph of information about an asset """
150
+ c = ctx.obj
151
+ asset_viewer(asset_guid, c.view_server, c.view_server_url, c.userid,
152
+ c.password, c.jupyter, c.width)
153
+
154
+
155
+ @show.command('collection')
156
+ @click.option('--root_collection', default='Root Sustainability Collection',
157
+ help='View of tree of collections from a given root')
158
+ @click.pass_context
159
+ def show_asset_graph(ctx, root_collection):
160
+ """Display a tree graph of information about an asset """
161
+ c = ctx.obj
162
+ collection_viewer(root_collection, c.view_server, c.view_server_url, c.userid,
163
+ c.password, c.jupyter, c.width)
164
+
165
+
166
+ #
167
+ # Tell
168
+ #
169
+
170
+ @cli.group('tell')
171
+ @click.pass_context
172
+ def tell(ctx):
173
+ """Perform actions an Egeria Objects"""
174
+ pass
175
+
176
+
177
+ @tell.group('survey')
178
+ @click.pass_context
179
+ def survey(ctx):
180
+ """Refresh the specified integration connector or ALL connectors if not specified"""
181
+ c = ctx.obj
182
+ pass
183
+
184
+
185
+ @survey.command('survey_uc_server')
186
+ @click.pass_context
187
+ @click.option('--uc_endpoint', default='https://localhost:8080',
188
+ help="Endpoint of the Unity Catalog Server to Survey")
189
+ def survey_uc_server(ctx, uc_endpoint):
190
+ """Survey the Unity Catalog server at the given endpoint"""
191
+ c = ctx.obj
192
+ pass
193
+ # restart_connector(connector, c.integration_daemon, c.integration_daemon_url,
194
+ # c.userid, c.password)
195
+
196
+
197
+ if __name__ == '__main__':
198
+ cli()
@@ -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
 
@@ -84,6 +84,8 @@ def display_catalog_targets(connector: str, server: str, url: str, username: str
84
84
  for prop in config_props:
85
85
  config_props_md += f"* {prop}: {config_props[prop]}\n"
86
86
  config_props_out = Markdown(config_props_md)
87
+ else:
88
+ config_props_out = '---'
87
89
 
88
90
  template_props = target.get('templateProperties', '---')
89
91
  if type(template_props) is dict:
@@ -91,6 +93,8 @@ def display_catalog_targets(connector: str, server: str, url: str, username: str
91
93
  for prop in template_props:
92
94
  template_props_md += f"* {prop}: {template_props[prop]}\n"
93
95
  template_props_out = Markdown(template_props_md)
96
+ else:
97
+ template_props_out = '---'
94
98
 
95
99
  table.add_row(
96
100
  connector_unique, target_name, target_source, target_rel,
@@ -112,8 +116,9 @@ def display_catalog_targets(connector: str, server: str, url: str, username: str
112
116
 
113
117
  except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
114
118
  print_exception_response(e)
115
- except Exception:
119
+ except Exception as e:
116
120
  print(f"\n\n===> Perhaps integration connector {connector} is not known?\n\n")
121
+ console.print_exception()
117
122
  finally:
118
123
  a_client.close_session()
119
124
 
@@ -130,7 +135,7 @@ def main():
130
135
  args = parser.parse_args()
131
136
 
132
137
  server = args.server if args.server is not None else EGERIA_VIEW_SERVER
133
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
138
+ url = args.url if args.url is not None else EGERIA_VIEW_SERVER_URL
134
139
  userid = args.userid if args.userid is not None else EGERIA_USER
135
140
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
136
141
  jupyter = args.jupyter if args.jupyter is not None else EGERIA_JUPYTER
@@ -138,7 +143,7 @@ def main():
138
143
 
139
144
  try:
140
145
  connector = Prompt.ask("Enter the Integration Connector to list catalog targets for")
141
- display_catalog_targets(connector, server, url, userid, user_pass, jupyter)
146
+ display_catalog_targets(connector, server, url, userid, user_pass, jupyter, width=width)
142
147
 
143
148
  except KeyboardInterrupt:
144
149
  pass
@@ -34,6 +34,7 @@ EGERIA_PLATFORM_URL = os.environ.get('EGERIA_PLATFORM_URL', 'https://localhost:9
34
34
  EGERIA_VIEW_SERVER = os.environ.get('VIEW_SERVER', 'view-server')
35
35
  EGERIA_VIEW_SERVER_URL = os.environ.get('EGERIA_VIEW_SERVER_URL', 'https://localhost:9443')
36
36
  EGERIA_ENGINE_HOST = os.environ.get('INTEGRATION_ENGINE_HOST', 'engine-host')
37
+ EGERIA_ENGINE_HOST_URL = os.environ.get('INTEGRATION_ENGINE_HOST_URL', 'https://localhost:9443')
37
38
  EGERIA_INTEGRATION_DAEMON = os.environ.get('INTEGRATION_DAEMON', 'integration-daemon')
38
39
  EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
39
40
  EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
@@ -150,7 +151,7 @@ def main_live():
150
151
  args = parser.parse_args()
151
152
 
152
153
  server = args.server if args.server is not None else EGERIA_VIEW_SERVER
153
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
154
+ url = args.url if args.url is not None else EGERIA_VIEW_SERVER_URL
154
155
  userid = args.userid if args.userid is not None else EGERIA_USER
155
156
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
156
157
 
@@ -167,7 +168,7 @@ def main_paging():
167
168
  args = parser.parse_args()
168
169
 
169
170
  server = args.server if args.server is not None else EGERIA_VIEW_SERVER
170
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
171
+ url = args.url if args.url is not None else EGERIA_VIEW_SERVER_URL
171
172
  userid = args.userid if args.userid is not None else EGERIA_USER
172
173
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
173
174
 
@@ -33,6 +33,7 @@ EGERIA_VIEW_SERVER = os.environ.get('VIEW_SERVER', 'view-server')
33
33
  EGERIA_VIEW_SERVER_URL = os.environ.get('EGERIA_VIEW_SERVER_URL', 'https://localhost:9443')
34
34
  EGERIA_INTEGRATION_DAEMON = os.environ.get('INTEGRATION_DAEMON', 'integration-daemon')
35
35
  EGERIA_ENGINE_HOST = os.environ.get('INTEGRATION_ENGINE_HOST', 'engine-host')
36
+ EGERIA_ENGINE_HOST_URL = os.environ.get('INTEGRATION_ENGINE_HOST_URL', 'https://localhost:9443')
36
37
  EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
37
38
  EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
38
39
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
@@ -122,7 +123,7 @@ def main_live():
122
123
  args = parser.parse_args()
123
124
 
124
125
  server = args.server if args.server is not None else EGERIA_ENGINE_HOST
125
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
126
+ url = args.url if args.url is not None else EGERIA_ENGINE_HOST_URL
126
127
  userid = args.userid if args.userid is not None else EGERIA_USER
127
128
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
128
129
  display_gov_eng_status(server=server, url=url, username=userid, user_pass=user_pass, paging=False)
@@ -137,7 +138,7 @@ def main_paging():
137
138
  args = parser.parse_args()
138
139
 
139
140
  server = args.server if args.server is not None else EGERIA_ENGINE_HOST
140
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
141
+ url = args.url if args.url is not None else EGERIA_ENGINE_HOST_URL
141
142
  userid = args.userid if args.userid is not None else EGERIA_USER
142
143
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
143
144
  display_gov_eng_status(server=server, url=url, username=userid, user_pass=user_pass, paging=True)
@@ -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.18
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -2,14 +2,16 @@ examples/doc_samples/Create_Collection_Sample.py,sha256=D8nhc4qLXIzAqVdJQjmFIS-j
2
2
  examples/doc_samples/Create_Sustainability_Collection_Sample.py,sha256=iLBm1LwRLi42Gayyb-wcWZ5NySQ6sc4kVSmwIAzP2Po,5049
3
3
  examples/widgets/catalog_user/README.md,sha256=aCCVo7iqyE-XGEvmoYXnkIGM0VskF95JTj6Egzec7LM,883
4
4
  examples/widgets/catalog_user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- examples/widgets/catalog_user/get_asset_graph.py,sha256=YgdB9bgWBEGAADS54vMGVKG6SVJuIDI_vegsWFFtzYE,10642
6
- examples/widgets/catalog_user/get_collection.py,sha256=YexVIXm0fsG9ODYCrdjiH5j8s0jDg1SBXTLpohoEE-A,4414
7
- examples/widgets/catalog_user/get_tech_type_elements.py,sha256=h7tEr0KGio9R6XL_GLxOxAGEOqpXY5qbgnPas7pF8Uw,5908
8
- examples/widgets/catalog_user/get_tech_type_template.py,sha256=2bGRMIcXqlMFwNGRdobK-QtHW2TLM2kq0gxKgS_XzaM,5928
9
- examples/widgets/catalog_user/list_assets.py,sha256=MRWha0yS3JPQEZNXqAktbEWYiU3kxdcmu4mV7YravQQ,5668
10
- examples/widgets/catalog_user/list_glossary.py,sha256=abw3iBFEPHcSpucq2Jqh6UEOILyzx2IfBWS9gPl968k,5176
5
+ examples/widgets/catalog_user/get_asset_graph.py,sha256=EM4J0kG-2dZKLvgEETqRnszPsoDr5OIGekjy9p38Pm8,11044
6
+ examples/widgets/catalog_user/get_collection.py,sha256=DBZ5-XkoYsz4WmMSPz0Ao0wz3DlAUQve89KI26-44nc,4613
7
+ examples/widgets/catalog_user/get_tech_type_elements.py,sha256=SvnDWfBIA1NzpkKZj4-ZapIeM2SEhe5jJt7rTkvTzaA,6129
8
+ examples/widgets/catalog_user/get_tech_type_template.py,sha256=gMFVcgCIm09GQu1Vsc5ZUVH9XLhItAG1eVGZJrcnHeQ,6174
9
+ examples/widgets/catalog_user/list_assets.py,sha256=y569wLu2hkaIpeDnXpJAbA9Tg9xKIliYIzewFcjFMBI,5909
10
+ examples/widgets/catalog_user/list_glossary.py,sha256=TDmOgUjr_pR9oaW5vhK-Tq5SLpz0FeYaKh0CL79s6zk,5427
11
+ examples/widgets/catalog_user/list_tech_types.py,sha256=20T4v6L5qeebSsaL1nGkFMDAIsy2W3A3SMm1RcgFoh0,4609
11
12
  examples/widgets/cli/__init__.py,sha256=ReG7mIcm5c512S_z1UZIpMtE67zlO_zj-1HhHWYS4fI,30
12
- examples/widgets/cli/egeria_ops.py,sha256=DAXqBV3aK5mKNIMAzFfKBMu5VxM8-5qjTe3DFkPPrxw,9604
13
+ examples/widgets/cli/egeria_cat.py,sha256=ifuDk1AP_QZpcTnNA2G6hYFd4PObUcADNhSkz6HYeZA,8127
14
+ examples/widgets/cli/egeria_ops.py,sha256=Zsexe-dMY8wS_UHASmqmRg507wL947cQThkYz8BZkc8,9634
13
15
  examples/widgets/cli/ops_config.py,sha256=BPfiU2mZA61aA1p1DHRA5eLWH8qaAwgWNoRmazzAlM4,1398
14
16
  examples/widgets/developer/README.md,sha256=nxDnfr3BCiGgW5G1VxWxiwUWJXIe5wreNuUeRyIt_hY,1343
15
17
  examples/widgets/developer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -19,18 +21,17 @@ examples/widgets/developer/list_asset_types.py,sha256=aHueMCVHmvrn331kgFrEzvTOxB
19
21
  examples/widgets/developer/list_registered_services.py,sha256=AV6CfSt05RYfSPZT-jms3r10Q72r3ly4Ihu_y4YXKL8,6108
20
22
  examples/widgets/developer/list_relationship_types.py,sha256=uRiLTy4Gk1Cryxvqj5Bo8f-Ll55SMC_XEzm8TsH0JqQ,5340
21
23
  examples/widgets/developer/list_tech_templates.py,sha256=d1YARxPaRWG5Ri2I5m8OjBna4y0HxeWNyll8SiWLIaM,5943
22
- examples/widgets/developer/list_tech_types.py,sha256=L12F7JP1-HXXQpzmPMzsTfP-Xy0tfsiKIwIh31aWPn0,4364
23
24
  examples/widgets/developer/list_valid_metadata_values.py,sha256=jbJsqELH1MlsKTBR4zbuRnzCCd412I_atlrR0kkhBCs,5785
24
25
  examples/widgets/operational/README.md,sha256=PJsSDcvMv6E6og6y-cwvxFX5lhCII0UCwgKiM1T17MQ,1595
25
26
  examples/widgets/operational/__init__.py,sha256=SCfzF3-aMx8EpqLWmH7JQf13gTmMAtHRbg69oseLvi8,480
26
27
  examples/widgets/operational/engine_actions.py,sha256=j4OL-Gpo4n8CAqcwdCRI8nnAm0F7NOEpX6Bp6FB-Pmg,3064
27
28
  examples/widgets/operational/integration_daemon_actions.py,sha256=SacZaweJWYIUKgEu2B1y0iQXg0Aj4zeJjX4Jhs93TpM,3942
28
- examples/widgets/operational/list_catalog_targets.py,sha256=Wonf0R8rFmUvG75MtPekRraAbyTQLdkzjQKoNuVntvg,6335
29
+ examples/widgets/operational/list_catalog_targets.py,sha256=VAWnT5lhteIgX5rKAWnFzFST2RVT3WMVv5E5nOdUkcw,6526
29
30
  examples/widgets/operational/load_archive.py,sha256=j9K4uPpUzvqEyvsUMZoY0-1NVuljAwqcMg8Lhin_p1E,2280
30
31
  examples/widgets/operational/monitor_asset_events.py,sha256=cjdlVqE0XYnoRW3aorNbsVkjByDXefPBnllaZLelGls,3838
31
32
  examples/widgets/operational/monitor_coco_status.py,sha256=ERz3OJ0TXImNKHGD4gJvgT3pl2gS23ewAdUuYVLUhEE,3299
32
- examples/widgets/operational/monitor_engine_activity.py,sha256=bA-8JX37AiVpxBAECq7PPP5Ej-IBoyQQqEdzGWmufo0,7179
33
- examples/widgets/operational/monitor_gov_eng_status.py,sha256=yJakTA5NSUTXQlO1Cnq803bgocQiHnxiHHdu_g9rn2U,5809
33
+ examples/widgets/operational/monitor_engine_activity.py,sha256=5ceNWogsJqKTxerBRWK68T4Qr5OcqnqZF1ERqFnYbGk,7282
34
+ examples/widgets/operational/monitor_gov_eng_status.py,sha256=cVRtA1Ub9uGf4fic1FnMwmzCwNEnU7joCqsjsiAZ7bg,5912
34
35
  examples/widgets/operational/monitor_integ_daemon_status.py,sha256=IeRQ72Eh-PR13-lLxe7QeSqxei3LWiilXRT1lDs6vlc,8751
35
36
  examples/widgets/operational/monitor_platform_status.py,sha256=pQEWt8Vy-5whF5aVC1IFLYsHLoCNUKtTz1DfOIWOBfw,5948
36
37
  examples/widgets/operational/monitor_server_list.py,sha256=eHSeM5dW7Wyjp2zR_AD6_FalFnZ2dBaZKxtob2kva9I,4483
@@ -69,8 +70,8 @@ pyegeria/runtime_manager_omvs.py,sha256=WekK7Yeyn6Qu9YmbSDo3m57MN0xOsIm9M8kGHfRO
69
70
  pyegeria/server_operations.py,sha256=ZX7FlJRrAC7RK4bq4wHWepEsYbbWlqkUZdsJrTplVVU,16534
70
71
  pyegeria/utils.py,sha256=pkVmS3RrbjaS9yz7FtOCwaOfV5FMqz-__Rt5koCnd9c,5374
71
72
  pyegeria/valid_metadata_omvs.py,sha256=aisdRodIwJSkyArAzfm_sEnBELh69xE8k4Nea-vHu8M,36745
72
- pyegeria-0.5.8.16.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
73
- pyegeria-0.5.8.16.dist-info/METADATA,sha256=B0L1BnjFI3pE0P6h5ldv6xm_tL8EZeUTGUjOwIZoPaI,2689
74
- pyegeria-0.5.8.16.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
75
- pyegeria-0.5.8.16.dist-info/entry_points.txt,sha256=5aexqWL8P1vQZrEK4bQLfelOnFfZtXFmWYS0pLa4NmE,2772
76
- pyegeria-0.5.8.16.dist-info/RECORD,,
73
+ pyegeria-0.5.8.18.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
74
+ pyegeria-0.5.8.18.dist-info/METADATA,sha256=tNK4lStZYXn4GBThbDgB8Tef9AHKrLsSA2l7JaPj3_g,2689
75
+ pyegeria-0.5.8.18.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
76
+ pyegeria-0.5.8.18.dist-info/entry_points.txt,sha256=j0d5yv7-sYUFiN93E83CQsi7Yi-EHIIiNh7q3-Zmphs,2766
77
+ pyegeria-0.5.8.18.dist-info/RECORD,,
@@ -5,12 +5,12 @@ get_asset_graph=examples.widgets.catalog_user.get_asset_graph:main
5
5
  get_collection=examples.widgets.catalog_user.get_collection:main
6
6
  get_guid_info=examples.widgets.developer.get_guid_info:main
7
7
  get_tech_details=examples.widgets.developer.get_tech_details:main
8
- get_tech_type_elements=examples.widgets.operational.get_tech_type_elements:main
9
- get_tech_type_template=examples.widgets.operational.get_tech_type_template:main
8
+ get_tech_type_elements=examples.widgets.catalog_user.get_tech_type_elements:main
9
+ get_tech_type_template=examples.widgets.catalog_user.get_tech_type_template:main
10
10
  list_asset_types=examples.widgets.developer.list_asset_types:main
11
11
  list_assets=examples.widgets.catalog_user.list_assets:main
12
12
  list_catalog_targets=examples.widgets.operational.list_catalog_targets:main
13
- list_eng_action_status=examples.widgets.operational.monitor_eng_action_status:main_paging
13
+ list_engine_activity=examples.widgets.operational.monitor_engine_activity:main_paging
14
14
  list_glossary=examples.widgets.catalog_user.list_glossary:main
15
15
  list_gov_eng_status=examples.widgets.operational.monitor_gov_eng_status:main_paging
16
16
  list_integ_daemon_status=examples.widgets.operational.monitor_integ_daemon_status:main_paging
@@ -26,7 +26,7 @@ load_archive=examples.widgets.operational.load_archive:load_archive
26
26
  load_archive_tui=examples.widgets.operational.load_archive:tui
27
27
  monitor_asset_events=examples.widgets.operational.monitor_asset_events:main
28
28
  monitor_coco_status=examples.widgets.operational.monitor_coco_status:main
29
- monitor_eng_action_status=examples.widgets.operational.monitor_eng_action_status:main_live
29
+ monitor_engine_activity=examples.widgets.operational.monitor_engine_activity:main_live
30
30
  monitor_gov_eng_status=examples.widgets.operational.monitor_gov_eng_status:main_live
31
31
  monitor_integ_daemon_status=examples.widgets.operational.monitor_integ_daemon_status:main_live
32
32
  monitor_my_todos=examples.widgets.personal_organizer.monitor_my_todos:main