pyegeria 1.5.1.1.56__py3-none-any.whl → 1.5.1.1.58__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.
Files changed (27) hide show
  1. pyegeria/asset_catalog_omvs.py +3 -3
  2. pyegeria/commands/cat/list_assets.py +60 -39
  3. pyegeria/commands/cli/egeria.py +61 -26
  4. pyegeria/commands/cli/egeria_cat.py +7 -19
  5. pyegeria/commands/cli/egeria_my.py +0 -13
  6. pyegeria/commands/cli/egeria_ops.py +0 -13
  7. pyegeria/commands/cli/egeria_tech.py +53 -25
  8. pyegeria/commands/cli/ops_config.py +18 -9
  9. pyegeria/commands/doc/command-overview.md +77 -75
  10. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/hey_egeria: overview.md +42 -2
  11. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria 2024-11-12 at 20.38.43.png +0 -0
  12. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria cat 2024-11-12 at 21.41.43.png +0 -0
  13. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/short-cut commands 2024-11-12 at 22.22.13.png +0 -0
  14. pyegeria/commands/tech/{get_element_graph.py → list_element_graph.py} +2 -2
  15. {pyegeria-1.5.1.1.56.dist-info → pyegeria-1.5.1.1.58.dist-info}/METADATA +1 -1
  16. {pyegeria-1.5.1.1.56.dist-info → pyegeria-1.5.1.1.58.dist-info}/RECORD +19 -24
  17. {pyegeria-1.5.1.1.56.dist-info → pyegeria-1.5.1.1.58.dist-info}/entry_points.txt +1 -1
  18. pyegeria/.DS_Store +0 -0
  19. pyegeria/commands/.DS_Store +0 -0
  20. pyegeria/commands/doc/.DS_Store +0 -0
  21. pyegeria/commands/doc/glossary/.DS_Store +0 -0
  22. pyegeria/commands/doc/glossary/images/.DS_Store +0 -0
  23. pyegeria/commands/doc/glossary/images/CleanShot 2024-11-12 out-integ-status-live 2024-11-12 at 16.44.12at 16.44.12@2x.png +0 -0
  24. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/.DS_Store +0 -0
  25. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/.DS_Store +0 -0
  26. {pyegeria-1.5.1.1.56.dist-info → pyegeria-1.5.1.1.58.dist-info}/LICENSE +0 -0
  27. {pyegeria-1.5.1.1.56.dist-info → pyegeria-1.5.1.1.58.dist-info}/WHEEL +0 -0
@@ -302,7 +302,7 @@ class AssetCatalog(Client):
302
302
  # Engine Actions
303
303
  #
304
304
 
305
- async def _async_find_assets_in_domain(
305
+ async def _async_find_in_asset_domain(
306
306
  self,
307
307
  search_string: str,
308
308
  start_from: int = 0,
@@ -367,7 +367,7 @@ class AssetCatalog(Client):
367
367
  response = await self._async_make_request("POST", url, body, time_out=time_out)
368
368
  return response.json().get("searchMatches", "no assets found")
369
369
 
370
- def find_assets_in_domain(
370
+ def find_in_asset_domain(
371
371
  self,
372
372
  search_string: str,
373
373
  start_from: int = 0,
@@ -416,7 +416,7 @@ class AssetCatalog(Client):
416
416
  """
417
417
  loop = asyncio.get_event_loop()
418
418
  response = loop.run_until_complete(
419
- self._async_find_assets_in_domain(
419
+ self._async_find_in_asset_domain(
420
420
  search_string,
421
421
  start_from,
422
422
  page_size,
@@ -24,35 +24,47 @@ from pyegeria import (
24
24
  PropertyServerException,
25
25
  UserNotAuthorizedException,
26
26
  print_exception_response,
27
- AssetCatalog
27
+ AssetCatalog,
28
28
  )
29
+
29
30
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
30
- EGERIA_KAFKA_ENDPOINT = os.environ.get('KAFKA_ENDPOINT', 'localhost:9092')
31
- EGERIA_PLATFORM_URL = os.environ.get('EGERIA_PLATFORM_URL', 'https://localhost:9443')
32
- EGERIA_VIEW_SERVER = os.environ.get('VIEW_SERVER', 'view-server')
33
- EGERIA_VIEW_SERVER_URL = os.environ.get('EGERIA_VIEW_SERVER_URL', 'https://localhost:9443')
34
- EGERIA_INTEGRATION_DAEMON = os.environ.get('INTEGRATION_DAEMON', 'integration-daemon')
35
- EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
36
- EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
37
- EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
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'))
31
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
32
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
33
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
34
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
35
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
36
+ )
37
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
38
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
39
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
40
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
41
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
42
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
43
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
41
44
 
42
45
 
43
46
  disable_ssl_warnings = True
44
47
 
45
48
 
46
- def display_assets(search_string: str, server: str, url: str, username: str, user_password: str, time_out: int = 60,
47
- jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH):
49
+ def display_assets(
50
+ search_string: str,
51
+ server: str,
52
+ url: str,
53
+ username: str,
54
+ user_password: str,
55
+ time_out: int = 60,
56
+ jupyter: bool = EGERIA_JUPYTER,
57
+ width: int = EGERIA_WIDTH,
58
+ ):
48
59
  console = Console(width=width, force_terminal=not jupyter, soft_wrap=True)
49
60
  if (search_string is None) or (len(search_string) < 3):
50
- raise ValueError("Invalid Search String - must be greater than four characters long")
61
+ raise ValueError(
62
+ "Invalid Search String - must be greater than four characters long"
63
+ )
51
64
  g_client = AssetCatalog(server, url, username)
52
65
  token = g_client.create_egeria_bearer_token(username, user_password)
53
66
 
54
-
55
- def generate_table(search_string:str = None) -> Table:
67
+ def generate_table(search_string: str = None) -> Table:
56
68
  """Make a new table."""
57
69
  table = Table(
58
70
  title=f"Assets containing the string {search_string} @ {time.asctime()}",
@@ -64,7 +76,7 @@ def display_assets(search_string: str, server: str, url: str, username: str, use
64
76
  show_lines=True,
65
77
  box=box.ROUNDED,
66
78
  caption=f"View Server '{server}' @ Platform - {url}",
67
- expand=True
79
+ expand=True,
68
80
  )
69
81
  table.add_column("Display Name", max_width=15)
70
82
  table.add_column("Type Name")
@@ -73,21 +85,26 @@ def display_assets(search_string: str, server: str, url: str, username: str, use
73
85
  # table.add_column("Qualified Name",max_width=15)
74
86
  table.add_column("Matching Elements")
75
87
 
76
-
77
- assets = g_client.find_assets_in_domain(search_string, starts_with=True,
78
- ends_with=False, ignore_case=True, page_size=100, time_out=time_out)
88
+ assets = g_client.find_in_asset_domain(
89
+ search_string,
90
+ starts_with=True,
91
+ ends_with=False,
92
+ ignore_case=True,
93
+ page_size=100,
94
+ time_out=time_out,
95
+ )
79
96
  if type(assets) is str:
80
97
  return table
81
98
 
82
99
  for element in assets:
83
- properties = element['properties']
84
- header = element['elementHeader']
85
- nested = element.get('matchingElements','---')
100
+ properties = element["properties"]
101
+ header = element["elementHeader"]
102
+ nested = element.get("matchingElements", "---")
86
103
 
87
- display_name = properties.get("displayName",'---')
104
+ display_name = properties.get("displayName", "---")
88
105
  # qualified_name = properties["qualifiedName"] # we decided that qualified name wasn't useful
89
106
  type_name = header["type"]["typeName"]
90
- tech_type = properties.get("deployedImplementationType",'---')
107
+ tech_type = properties.get("deployedImplementationType", "---")
91
108
  guid = header["guid"]
92
109
  #### We decided that path wasn't useful
93
110
  # path_name = element.get("extendedProperties", None)
@@ -103,20 +120,17 @@ def display_assets(search_string: str, server: str, url: str, username: str, use
103
120
  match_tab.add_column("Properties")
104
121
 
105
122
  for match_t in nested:
106
- match = match_t['elementHeader']
107
- match_type_name = match['type']['typeName']
108
- matching_guid = match['guid']
109
- match_props = match_t['properties']
123
+ match = match_t["elementHeader"]
124
+ match_type_name = match["type"]["typeName"]
125
+ matching_guid = match["guid"]
126
+ match_props = match_t["properties"]
110
127
  match_details_md = ""
111
128
  for key in match_props.keys():
112
129
  match_details_md += f"* {key}: {match_props[key]}\n"
113
130
  match_details_out = Markdown(match_details_md)
114
131
  match_tab.add_row(match_type_name, matching_guid, match_details_out)
115
132
 
116
-
117
- table.add_row(
118
- display_name, type_name,guid, tech_type, match_tab
119
- )
133
+ table.add_row(display_name, type_name, guid, tech_type, match_tab)
120
134
 
121
135
  g_client.close_session()
122
136
  return table
@@ -130,13 +144,18 @@ def display_assets(search_string: str, server: str, url: str, username: str, use
130
144
  with console.pager(styles=True):
131
145
  console.print(generate_table(search_string), soft_wrap=True)
132
146
 
133
-
134
- except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
147
+ except (
148
+ InvalidParameterException,
149
+ PropertyServerException,
150
+ UserNotAuthorizedException,
151
+ ) as e:
135
152
  console.print_exception()
136
153
  sys.exit(1)
137
154
 
138
155
  except ValueError as e:
139
- console.print(f"\n\n====> Invalid Search String - must be greater than four characters long")
156
+ console.print(
157
+ f"\n\n====> Invalid Search String - must be greater than four characters long"
158
+ )
140
159
  sys.exit(1)
141
160
 
142
161
 
@@ -158,7 +177,9 @@ def main():
158
177
  try:
159
178
  search_string = Prompt.ask("Enter an asset search string:", default="")
160
179
  display_assets(search_string, server, url, userid, user_pass, time_out)
161
- except(KeyboardInterrupt):
180
+ except KeyboardInterrupt:
162
181
  pass
182
+
183
+
163
184
  if __name__ == "__main__":
164
- main()
185
+ main()
@@ -23,6 +23,8 @@ from pyegeria.commands.cat.list_assets import display_assets
23
23
  from pyegeria.commands.cat.list_cert_types import display_certifications
24
24
  from pyegeria.commands.cat.list_terms import display_glossary_terms
25
25
  from pyegeria.commands.cat.list_projects import display_project_list
26
+ from pyegeria.commands.tech.list_element_graph import display_element_graph
27
+ from pyegeria.commands.tech.list_elements_x import list_elements_x
26
28
  from pyegeria.commands.tech.list_relationships import list_relationships
27
29
  from pyegeria.commands.cat.list_tech_types import display_tech_types
28
30
  from pyegeria.commands.cat.list_todos import display_to_dos as list_todos
@@ -214,8 +216,6 @@ def cli(
214
216
  userid,
215
217
  password,
216
218
  timeout,
217
- paging,
218
- verbose,
219
219
  jupyter,
220
220
  width,
221
221
  ):
@@ -234,15 +234,11 @@ def cli(
234
234
  userid,
235
235
  password,
236
236
  timeout,
237
- paging,
238
- verbose,
239
237
  jupyter,
240
238
  width,
241
239
  )
242
240
  ctx.max_content_width = 200
243
241
  ctx.ensure_object(Config)
244
- if verbose:
245
- click.echo(f"we are in verbose mode - server is {server}")
246
242
 
247
243
 
248
244
  #
@@ -388,6 +384,27 @@ def show_guid_infos(ctx, guid):
388
384
  display_guid(guid, c.server, c.url, c.userid, c.password, c.jupyter, c.width)
389
385
 
390
386
 
387
+ @show_elements.command("element-graph")
388
+ @click.pass_context
389
+ @click.option("--search-string", help="value we are searching for")
390
+ @click.option(
391
+ "--prop-list", default="anchorTypeName", help="List of properties we are searching"
392
+ )
393
+ def list_element_graph(ctx, search_string: str, prop_list: str):
394
+ """List elements with the specified properties"""
395
+ c = ctx.obj
396
+ display_element_graph(
397
+ search_string,
398
+ prop_list,
399
+ c.view_server,
400
+ c.view_server_url,
401
+ c.userid,
402
+ c.password,
403
+ c.jupyter,
404
+ c.width,
405
+ )
406
+
407
+
391
408
  @show_elements.command("related-specifications")
392
409
  @click.pass_context
393
410
  @click.argument("element-guid")
@@ -670,19 +687,36 @@ def valid_metadata_values(ctx, property, type_name):
670
687
 
671
688
  @show_elements.command("elements")
672
689
  @click.pass_context
690
+ @click.option(
691
+ "--extended",
692
+ is_flag=True,
693
+ default=False,
694
+ help="If True, feedback information is displayed",
695
+ )
673
696
  @click.option("--om_type", default="Organization", help="Metadata type to query")
674
- def list_element_info(ctx, om_type):
675
- """Display the valid metadata values for a property and type"""
697
+ def list_element_info(ctx, om_type, extended):
698
+ """Display elements of a specific Open Metadata Type"""
676
699
  c = ctx.obj
677
- list_elements(
678
- om_type,
679
- c.view_server,
680
- c.view_server_url,
681
- c.userid,
682
- c.password,
683
- c.jupyter,
684
- c.width,
685
- )
700
+ if extended:
701
+ list_elements_x(
702
+ om_type,
703
+ c.view_server,
704
+ c.view_server_url,
705
+ c.userid,
706
+ c.password,
707
+ c.jupyter,
708
+ c.width,
709
+ )
710
+ else:
711
+ list_elements(
712
+ om_type,
713
+ c.view_server,
714
+ c.view_server_url,
715
+ c.userid,
716
+ c.password,
717
+ c.jupyter,
718
+ c.width,
719
+ )
686
720
 
687
721
 
688
722
  @show_tech_info.command("processes")
@@ -705,7 +739,7 @@ def list_element_info(ctx):
705
739
  @click.pass_context
706
740
  @click.option("--om_type", default="Project", help="Metadata type to query")
707
741
  def get_element_info(ctx, om_type):
708
- """Display the elements for an Open Metadata Type"""
742
+ """Display a table of elements for an Open Metadata Type"""
709
743
  c = ctx.obj
710
744
  display_elements(
711
745
  om_type,
@@ -947,7 +981,7 @@ def show_certification_types(ctx, search_string):
947
981
  @show_cat_info.command("asset-types")
948
982
  @click.pass_context
949
983
  def show_asset_types(ctx):
950
- """Display engine-host status information"""
984
+ """Display known asset types"""
951
985
  c = ctx.obj
952
986
  display_asset_types(
953
987
  c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
@@ -1029,7 +1063,7 @@ def show_todos(ctx, search_string, status):
1029
1063
  @show_cat_info.command("user-ids")
1030
1064
  @click.pass_context
1031
1065
  def show_todos(ctx):
1032
- """Display a tree graph of information about an asset"""
1066
+ """Display a list of known user ids"""
1033
1067
  c = ctx.obj
1034
1068
  list_user_ids(
1035
1069
  c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
@@ -1051,6 +1085,7 @@ def deployed_data(ctx):
1051
1085
  )
1052
1086
  @click.pass_context
1053
1087
  def show_deployed_servers(ctx, search_string):
1088
+ """Display deployed servers"""
1054
1089
  c = ctx.obj
1055
1090
  display_servers_by_dep_imp(
1056
1091
  search_string,
@@ -1067,7 +1102,7 @@ def show_deployed_servers(ctx, search_string):
1067
1102
  @click.option("--catalog", default="*", help="What database or catalog to search")
1068
1103
  @click.pass_context
1069
1104
  def deployed_schemas(ctx, catalog):
1070
- """Display a tree graph of information about an asset"""
1105
+ """Display deployed schemas"""
1071
1106
  c = ctx.obj
1072
1107
  list_deployed_database_schemas(
1073
1108
  catalog,
@@ -1084,7 +1119,7 @@ def deployed_schemas(ctx, catalog):
1084
1119
  @click.option("--search_server", default="*", help="Server to search for catalogs")
1085
1120
  @click.pass_context
1086
1121
  def list_catalogs(ctx, search_server):
1087
- """Display a tree graph of information about an asset"""
1122
+ """Display deployed catalogs"""
1088
1123
  c = ctx.obj
1089
1124
  list_deployed_catalogs(
1090
1125
  search_server,
@@ -1100,7 +1135,7 @@ def list_catalogs(ctx, search_server):
1100
1135
  @deployed_data.command("databases")
1101
1136
  @click.pass_context
1102
1137
  def list_databases(ctx):
1103
- """Display a tree graph of information about an asset"""
1138
+ """Display deployed databases"""
1104
1139
  c = ctx.obj
1105
1140
  list_deployed_databases(
1106
1141
  c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
@@ -1299,7 +1334,7 @@ def show_tech_type_elements(ctx, tech_type):
1299
1334
  )
1300
1335
  @click.pass_context
1301
1336
  def show_asset_graph(ctx, root_collection):
1302
- """Display a tree graph of information about an asset"""
1337
+ """Display information about a collection"""
1303
1338
  c = ctx.obj
1304
1339
  collection_viewer(
1305
1340
  root_collection,
@@ -1360,8 +1395,8 @@ def show_todos(ctx, search_string, status):
1360
1395
 
1361
1396
  @show_cat_info.command("user-ids")
1362
1397
  @click.pass_context
1363
- def show_todos(ctx):
1364
- """Display a tree graph of information about an asset"""
1398
+ def show_user_ids(ctx):
1399
+ """Display table of known user ids"""
1365
1400
  c = ctx.obj
1366
1401
  list_user_ids(
1367
1402
  c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
@@ -140,13 +140,6 @@ from pyegeria.commands.tech.list_asset_types import display_asset_types
140
140
  help="Egeria user password",
141
141
  )
142
142
  @click.option("--timeout", default=60, help="Number of seconds to wait")
143
- @click.option("--verbose", is_flag=True, default=False, help="Enable verbose mode")
144
- @click.option(
145
- "--paging",
146
- is_flag=True,
147
- default=False,
148
- help="Enable paging snapshots vs live updates",
149
- )
150
143
  @click.option(
151
144
  "--jupyter",
152
145
  is_flag=True,
@@ -176,8 +169,6 @@ def cli(
176
169
  userid,
177
170
  password,
178
171
  timeout,
179
- paging,
180
- verbose,
181
172
  jupyter,
182
173
  width,
183
174
  ):
@@ -196,15 +187,11 @@ def cli(
196
187
  userid,
197
188
  password,
198
189
  timeout,
199
- paging,
200
- verbose,
201
190
  jupyter,
202
191
  width,
203
192
  )
204
193
  ctx.max_content_width = 200
205
194
  ctx.ensure_object(Config)
206
- if verbose:
207
- click.echo(f"we are in verbose mode - server is {server}")
208
195
 
209
196
 
210
197
  @cli.group("show")
@@ -341,7 +328,7 @@ def show_terms(ctx, search_string, glossary_guid, glossary_name):
341
328
  @click.option("--search_string", default="*", help="Name to search for glossaries")
342
329
  @click.pass_context
343
330
  def glossaries(ctx, search_string):
344
- """Display a tree graph of information about an asset"""
331
+ """Display information about a collection"""
345
332
  c = ctx.obj
346
333
  display_glossaries(
347
334
  search_string,
@@ -504,8 +491,8 @@ def show_asset_types(ctx):
504
491
 
505
492
  @info.command("user-ids")
506
493
  @click.pass_context
507
- def show_todos(ctx):
508
- """Display a tree graph of information about an asset"""
494
+ def show_user_ids(ctx):
495
+ """Display a list of known user ids"""
509
496
  c = ctx.obj
510
497
  list_user_ids(
511
498
  c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
@@ -527,6 +514,7 @@ def deployed_data(ctx):
527
514
  )
528
515
  @click.pass_context
529
516
  def show_deployed_servers(ctx, search_string):
517
+ """Display deployed servers"""
530
518
  c = ctx.obj
531
519
  display_servers_by_dep_imp(
532
520
  search_string,
@@ -543,7 +531,7 @@ def show_deployed_servers(ctx, search_string):
543
531
  @click.option("--catalog", default="*", help="What database or catalog to search")
544
532
  @click.pass_context
545
533
  def deployed_schemas(ctx, catalog):
546
- """Display a tree graph of information about an asset"""
534
+ """Display deployed schemas"""
547
535
  c = ctx.obj
548
536
  list_deployed_database_schemas(
549
537
  catalog,
@@ -560,7 +548,7 @@ def deployed_schemas(ctx, catalog):
560
548
  @click.option("--search_server", default="*", help="Server to search for catalogs")
561
549
  @click.pass_context
562
550
  def list_catalogs(ctx, search_server):
563
- """Display a tree graph of information about an asset"""
551
+ """Display deployed catalogs"""
564
552
  c = ctx.obj
565
553
  list_deployed_catalogs(
566
554
  search_server,
@@ -576,7 +564,7 @@ def list_catalogs(ctx, search_server):
576
564
  @deployed_data.command("databases")
577
565
  @click.pass_context
578
566
  def list_databases(ctx):
579
- """Display a tree graph of information about an asset"""
567
+ """Display deployed databases"""
580
568
  c = ctx.obj
581
569
  list_deployed_databases(
582
570
  c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
@@ -115,13 +115,6 @@ from pyegeria.commands.my.todo_actions import (
115
115
  help="Egeria user password",
116
116
  )
117
117
  @click.option("--timeout", default=60, help="Number of seconds to wait")
118
- @click.option("--verbose", is_flag=True, default=False, help="Enable verbose mode")
119
- @click.option(
120
- "--paging",
121
- is_flag=True,
122
- default=False,
123
- help="Enable paging snapshots vs live updates",
124
- )
125
118
  @click.option(
126
119
  "--jupyter",
127
120
  is_flag=True,
@@ -151,8 +144,6 @@ def cli(
151
144
  userid,
152
145
  password,
153
146
  timeout,
154
- paging,
155
- verbose,
156
147
  jupyter,
157
148
  width,
158
149
  ):
@@ -171,15 +162,11 @@ def cli(
171
162
  userid,
172
163
  password,
173
164
  timeout,
174
- paging,
175
- verbose,
176
165
  jupyter,
177
166
  width,
178
167
  )
179
168
  ctx.max_content_width = 200
180
169
  ctx.ensure_object(Config)
181
- if verbose:
182
- click.echo(f"we are in verbose mode - server is {server}")
183
170
 
184
171
 
185
172
  @cli.group("show")
@@ -129,13 +129,6 @@ from pyegeria.commands.ops.list_archives import display_archive_list
129
129
  help="Egeria user password",
130
130
  )
131
131
  @click.option("--timeout", default=60, help="Number of seconds to wait")
132
- @click.option("--verbose", is_flag=True, default=False, help="Enable verbose mode")
133
- @click.option(
134
- "--paging",
135
- is_flag=True,
136
- default=False,
137
- help="Enable paging snapshots vs live updates",
138
- )
139
132
  @click.option(
140
133
  "--jupyter",
141
134
  is_flag=True,
@@ -165,8 +158,6 @@ def cli(
165
158
  userid,
166
159
  password,
167
160
  timeout,
168
- paging,
169
- verbose,
170
161
  jupyter,
171
162
  width,
172
163
  ):
@@ -185,15 +176,11 @@ def cli(
185
176
  userid,
186
177
  password,
187
178
  timeout,
188
- paging,
189
- verbose,
190
179
  jupyter,
191
180
  width,
192
181
  )
193
182
  ctx.max_content_width = 200
194
183
  ctx.ensure_object(Config)
195
- if verbose:
196
- click.echo(f"we are in verbose mode - server is {server}")
197
184
 
198
185
 
199
186
  @cli.group("show")
@@ -17,12 +17,15 @@ from pyegeria.commands.cli.ops_config import Config
17
17
  from pyegeria.commands.tech.get_guid_info import display_guid
18
18
  from pyegeria.commands.tech.get_tech_details import tech_details_viewer
19
19
  from pyegeria.commands.tech.list_asset_types import display_asset_types
20
+ from pyegeria.commands.tech.list_elements_x import list_elements_x
20
21
  from pyegeria.commands.tech.list_registered_services import display_registered_svcs
21
22
  from pyegeria.commands.tech.list_relationship_types import display_relationship_types
22
23
  from pyegeria.commands.tech.list_tech_templates import display_templates_spec
23
24
  from pyegeria.commands.tech.list_valid_metadata_values import display_metadata_values
24
25
  from pyegeria.commands.tech.get_tech_type_template import template_viewer
26
+ from pyegeria.commands.tech.list_element_graph import display_element_graph
25
27
  from pyegeria.commands.tech.list_elements import list_elements
28
+
26
29
  from pyegeria.commands.tech.get_element_info import display_elements
27
30
  from pyegeria.commands.tech.list_related_specification import (
28
31
  display_related_specification,
@@ -126,13 +129,6 @@ from pyegeria.commands.tech.get_tech_type_template import template_viewer
126
129
  help="Egeria user password",
127
130
  )
128
131
  @click.option("--timeout", default=60, help="Number of seconds to wait")
129
- @click.option("--verbose", is_flag=True, default=False, help="Enable verbose mode")
130
- @click.option(
131
- "--paging",
132
- is_flag=True,
133
- default=False,
134
- help="Enable paging snapshots vs live updates",
135
- )
136
132
  @click.option(
137
133
  "--jupyter",
138
134
  is_flag=True,
@@ -162,8 +158,6 @@ def cli(
162
158
  userid,
163
159
  password,
164
160
  timeout,
165
- paging,
166
- verbose,
167
161
  jupyter,
168
162
  width,
169
163
  ):
@@ -182,15 +176,11 @@ def cli(
182
176
  userid,
183
177
  password,
184
178
  timeout,
185
- paging,
186
- verbose,
187
179
  jupyter,
188
180
  width,
189
181
  )
190
182
  ctx.max_content_width = 200
191
183
  ctx.ensure_object(Config)
192
- if verbose:
193
- click.echo(f"we are in verbose mode - server is {server}")
194
184
 
195
185
 
196
186
  @cli.group("show")
@@ -250,6 +240,27 @@ def show_related_specifications(ctx, element_guid):
250
240
  )
251
241
 
252
242
 
243
+ @show_elements.command("element-graph")
244
+ @click.pass_context
245
+ @click.option("--search-string", help="value we are searching for")
246
+ @click.option(
247
+ "--prop-list", default="anchorTypeName", help="List of properties we are searching"
248
+ )
249
+ def list_element_graph(ctx, search_string: str, prop_list: str):
250
+ """List elements with the specified properties"""
251
+ c = ctx.obj
252
+ display_element_graph(
253
+ search_string,
254
+ prop_list,
255
+ c.view_server,
256
+ c.view_server_url,
257
+ c.userid,
258
+ c.password,
259
+ c.jupyter,
260
+ c.width,
261
+ )
262
+
263
+
253
264
  @show_tech.command("tech-types")
254
265
  @click.option("--search-string", default="*", help="Tech type to search for")
255
266
  @click.pass_context
@@ -314,7 +325,7 @@ def show_tech_type_templates(ctx, tech_type):
314
325
  @show_info.command("asset-types")
315
326
  @click.pass_context
316
327
  def show_asset_types(ctx):
317
- """Display engine-host status information"""
328
+ """Display known asset types"""
318
329
  c = ctx.obj
319
330
  display_asset_types(
320
331
  c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
@@ -512,19 +523,36 @@ def valid_metadata_values(ctx, property, type_name):
512
523
 
513
524
  @show_elements.command("elements")
514
525
  @click.pass_context
526
+ @click.option(
527
+ "--extended",
528
+ is_flag=True,
529
+ default=False,
530
+ help="If True, feedback information is displayed",
531
+ )
515
532
  @click.option("--om_type", default="Organization", help="Metadata type to query")
516
- def list_element_info(ctx, om_type):
517
- """Display the valid metadata values for a property and type"""
533
+ def list_element_info(ctx, om_type, extended):
534
+ """Display elements of a specific Open Metadata Type"""
518
535
  c = ctx.obj
519
- list_elements(
520
- om_type,
521
- c.view_server,
522
- c.view_server_url,
523
- c.userid,
524
- c.password,
525
- c.jupyter,
526
- c.width,
527
- )
536
+ if extended:
537
+ list_elements_x(
538
+ om_type,
539
+ c.view_server,
540
+ c.view_server_url,
541
+ c.userid,
542
+ c.password,
543
+ c.jupyter,
544
+ c.width,
545
+ )
546
+ else:
547
+ list_elements(
548
+ om_type,
549
+ c.view_server,
550
+ c.view_server_url,
551
+ c.userid,
552
+ c.password,
553
+ c.jupyter,
554
+ c.width,
555
+ )
528
556
 
529
557
 
530
558
  @show_info.command("processes")
@@ -2,13 +2,24 @@ import click
2
2
 
3
3
 
4
4
  class Config(object):
5
- def __init__(self, server: str = None, url: str = None,
6
- view_server: str = 'view-server', view_server_url: str = 'https://localhost:9443',
7
- integration_daemon: str = 'integration-daemon', integration_daemon_url: str = 'https://localhost:9443',
8
- engine_host: str = 'engine-host', engine_host_url: str = 'https://localhost:9443',
9
- admin_user: str = 'garygeeke', admin_user_password: str = 'secret',
10
- userid: str = None, password: str = None,
11
- timeout: int = 30, paging: bool = False, verbose: bool = False, jupyter: bool = False, width:int = 200):
5
+ def __init__(
6
+ self,
7
+ server: str = None,
8
+ url: str = None,
9
+ view_server: str = "view-server",
10
+ view_server_url: str = "https://localhost:9443",
11
+ integration_daemon: str = "integration-daemon",
12
+ integration_daemon_url: str = "https://localhost:9443",
13
+ engine_host: str = "engine-host",
14
+ engine_host_url: str = "https://localhost:9443",
15
+ admin_user: str = "garygeeke",
16
+ admin_user_password: str = "secret",
17
+ userid: str = None,
18
+ password: str = None,
19
+ timeout: int = 30,
20
+ jupyter: bool = False,
21
+ width: int = 200,
22
+ ):
12
23
  self.metadata_store = server
13
24
  self.metadata_store_url = url
14
25
  self.view_server = view_server
@@ -22,8 +33,6 @@ class Config(object):
22
33
  self.userid = userid
23
34
  self.password = password
24
35
  self.timeout = timeout
25
- self.paging = paging
26
- self.verbose = verbose
27
36
  self.jupyter = jupyter
28
37
  self.width = width
29
38
  self.server = server
@@ -16,81 +16,83 @@
16
16
 
17
17
  # Command Reference
18
18
 
19
- | Command | Purpose | Cat | My | Ops | Tech | python |
20
- |------------------------------------|---------|-----|----|-----|------|--------|
21
- | change_todo_status | | | ✓ | | | |
22
- | create_glossary | | ✓ | | | | |
23
- | create_term | | ✓ | | | | |
24
- | create_todo | | | ✓ | | | |
25
- | export_terms_to_file | | ✓ | | | | |
26
- | get_asset_graph | | ✓ | | | | |
27
- | get_collection | | ✓ | | | | |
28
- | get_element_info | | | | || |
29
- | get_guid_info | | | | || |
30
- | get_project_dependencies | | | | | | |
31
- | get_project_structure | | | | | | |
32
- | get_tech_details | | | | | ✓ | |
33
- | get_tech_type_elements | | ✓ | | | | |
34
- | get_tech_type_template | | ✓ | | | | |
35
- | hey_egeria | | | | | | |
36
- | hey_egeria_cat | | | | | | |
37
- | hey_egeria_my | | | | | | |
38
- | hey_egeria_ops | | | | | | |
39
- | hey_egeria_tech | | | | | | |
40
- | list_archives | | | | | | |
41
- | list_asset_types | | | | || |
42
- | list_assets | | | | | | |
43
- | list_catalog_targets | | | | ✓ | | |
44
- | list_cert_types | | | | | | |
45
- | list_deployed_catalogs | | ✓ | | | ||
46
- | list_deployed_databases | | ✓ | | | | ✓ |
47
- | list_deployed_schemas | | ✓ | | | ||
48
- | list_deployed_servers | | ✓ | | | | |
49
- | list_element_graph | | | | | ✓ | |
50
- | list_elements | | | | | ✓ | |
51
- | list_elements_for_classification | | | | || |
52
- | list_engine_activity | | | | ✓ | | |
53
- | list_engine_activity_compressed | | | | ✓ | | ✓ |
54
- | list_glossaries | | | | | | ✓ |
55
- | list_gov_action_processes | | | | | ✓ | |
56
- | list_gov_eng_status | | | | ✓ | | ✓ |
57
- | list_integ_daemon_status | | | | ✓ | | ✓ |
58
- | list_my_profile | | | ✓ | | | |
59
- | list_my_roles | | | ✓ | | | |
60
- | list_projects | | ✓ | | | | |
61
- | list_registered_services | | | | || |
62
- | list_related_elements | | | | || |
63
- | list_related_specification | | | | | ✓ | |
64
- | list_relationship_types | | | | | ✓ | |
65
- | list_relationships | | | | | | |
66
- | list_tech_templates | | | | | ✓ | |
67
- | list_tech_types | | ✓ | | | | |
68
- | list_terms | || | | | |
69
- | list_todos | | ✓ | | | | |
70
- | list_user_ids | | ✓ | | | | |
71
- | list_valid_metadata_values | | | | || |
72
- | load_archive | | | | ✓ | | |
73
- | load_archive_tui | | | | ✓ | | |
74
- | load_terms_from_file | | ✓ | | | | |
75
- | mark_todo_complete | | | ✓ | | | |
76
- | monitor_asset_events | | | | ✓ | | |
77
- | monitor_coco_status | | | | | | |
78
- | monitor_engine_activity | | | | ✓ | | |
79
- | monitor_engine_activity_compressed | | | | ✓ | | |
80
- | monitor_gov_eng_status | | | | ✓ | | |
81
- | monitor_integ_daemon_status | | | | ✓ | | |
82
- | monitor_my_todos | | | ✓ | | | |
83
- | monitor_open_todos | | | ✓ | | | |
84
- | monitor_platform_status | | | | | | |
85
- | monitor_server_list | | | | | | |
86
- | monitor_server_startup | | | | ✓ | | |
87
- | monitor_server_status | | | | ✓ | | |
88
- | reassign_todo | | | ✓ | | | |
89
- | refresh_gov_eng_config | | | | ✓ | | |
90
- | refresh_integration_daemon | | | | | | |
91
- | restart_integration_daemon | | | | ✓ | | |
92
- | start_daemon | | | | ✓ | | |
93
- | stop_daemon | | | | ✓ | | |
19
+ | Command | Purpose | Cat | My | Ops | Tech | python |
20
+ |------------------------------------|-----------------------------------------------------|-----|----|-----|------|--------|
21
+ | change_todo_status | Update a ToDo item status | | ✓ | | | |
22
+ | create_glossary | Create a new glossary | ✓ | | | | |
23
+ | create_term | Create a new term | ✓ | | | | |
24
+ | create_todo | Create a new ToDo item | | ✓ | | | |
25
+ | delete_glossary | Delete the specified glossary | ✓ | | | | |
26
+ | delete_term | Delete the specified term | ✓ | | | | |
27
+ | export_terms_to_file | Export the specified glossary | ✓ | | | | |
28
+ | get_asset_graph | Display a tree graph of information about an asset || | | | |
29
+ | get_collection | Display a information about a collection || | | | |
30
+ | get_element_graph | Return a table of elements and matching elements | | | || |
31
+ | get_element_info | Display elements of a specific Open Metadata Type | | | || |
32
+ | get_guid_info | Display information about GUID specified object | | | | ✓ | |
33
+ | get_project_dependencies | Show the dependencies of a project from a root | ✓ | | | | |
34
+ | get_project_structure | Show the organization structure of a project | ✓ | | | | |
35
+ | get_tech_details | Show details about a particular technology type | | | || |
36
+ | get_tech_type_elements | Display elements of a specific technology type || | | | |
37
+ | get_tech_type_template | Display the templates defined for a technology type || | | | |
38
+ | hey_egeria | Textual User Interface for the pyegeria commands | | | | | |
39
+ | hey_egeria_cat | Textual User Interface for catalog use | | | | | |
40
+ | hey_egeria_my | Textual User Interface for personal use | | | | | |
41
+ | hey_egeria_ops | Textual User Interface for operations use | | | | | |
42
+ | hey_egeria_tech | Textual User Interface for technical use | | | | | |
43
+ | list_archives | Display the available archives known to Egeria | ✓ | | | | |
44
+ | list_asset_types | List the types of assets known to Egeria | | | || |
45
+ | list_assets | Find and display assets in a domain | ✓ | | | | |
46
+ | list_catalog_targets | List the catalog target details for a connection | | | ✓ | | ✓ |
47
+ | list_cert_types | List certification types | ✓ | | | | |
48
+ | list_deployed_catalogs | List deployed catalogs | ✓ | | | ||
49
+ | list_deployed_databases | List deployed databases || | | | |
50
+ | list_deployed_schemas | List deployed schemas || | | | |
51
+ | list_deployed_servers | List deployed servers || | | | |
52
+ | list_elements | Display table of Elements of an Open Metadata type | | | | | |
53
+ | list_elements_for_classification | List the elements of a classification | | | | | |
54
+ | list_engine_activity | List engine activity | | | ✓ | | |
55
+ | list_engine_activity_compressed | Compressed view of engine activity | | || | |
56
+ | list_glossaries | List glossaries | ✓ | | | | ✓ |
57
+ | list_gov_action_processes | List governance action processes | | | | | |
58
+ | list_gov_eng_status | List the status of the governance engines | | | | | |
59
+ | list_integ_daemon_status | List status of an integration daemon server | | | | | |
60
+ | list_my_profile | List the details of the current user profile | | | | | |
61
+ | list_my_roles | List the roles of the current user | || | | |
62
+ | list_projects | List projects filtered by search string || | | | |
63
+ | list_registered_services | List all registered Egeria services | | | | ✓ | |
64
+ | list_related_elements | List elements related to a specific element | | | | ✓ | |
65
+ | list_related_specification | List details of related elements | | | || |
66
+ | list_relationship_types | List types of relationships and their attributes | | | | ✓ | |
67
+ | list_relationships | List relationships for elements of a given type | ✓ | | | | |
68
+ | list_tech_templates | | | | | ✓ | |
69
+ | list_tech_types | | ✓ | | | | |
70
+ | list_terms | | ✓ | | | ||
71
+ | list_todos | || | | | |
72
+ | list_user_ids | Display table of known user ids | ✓ | | | | |
73
+ | list_valid_metadata_values | | | | | | |
74
+ | load_archive | | | | ✓ | | |
75
+ | load_archive_tui | | | | | | |
76
+ | load_terms_from_file | | ✓ | | | | |
77
+ | mark_todo_complete | | | ✓ | | | |
78
+ | monitor_asset_events | | | | ✓ | | |
79
+ | monitor_coco_status | | | | ✓ | | |
80
+ | monitor_engine_activity | | | | ✓ | | |
81
+ | monitor_engine_activity_compressed | | | | ✓ | | |
82
+ | monitor_gov_eng_status | | | | | | |
83
+ | monitor_integ_daemon_status | | | | | | |
84
+ | monitor_my_todos | | | ✓ | | | |
85
+ | monitor_open_todos | | | ✓ | | | |
86
+ | monitor_platform_status | | | | ✓ | | |
87
+ | monitor_server_list | | | | ✓ | | |
88
+ | monitor_server_startup | | | | | | |
89
+ | monitor_server_status | | | | ✓ | | |
90
+ | reassign_todo | | | ✓ | | | |
91
+ | refresh_gov_eng_config | | | | ✓ | | |
92
+ | refresh_integration_daemon | | | | ✓ | | |
93
+ | restart_integration_daemon | | | | ✓ | | |
94
+ | start_daemon | | | | ✓ | | |
95
+ | stop_daemon | | | | ✓ | | |
94
96
 
95
97
  ----
96
98
  License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
@@ -1,8 +1,7 @@
1
1
  <!-- SPDX-License-Identifier: CC-BY-4.0 -->
2
2
  <!-- Copyright Contributors to the Egeria project. -->
3
3
 
4
- # Introduction
5
- # Hey_Egeria
4
+ # Introduction to Hey_Egeria
6
5
 
7
6
  Hey_Egeria is a friendly, easy to use command line interface (CLI) to make using Egeria easier and more transparent.
8
7
  It is implemented as a set of pyegeria commands that allows users to manage and inspect Egeria artifacts through a simple terminal interface.
@@ -283,13 +282,54 @@ This section briefly discusses some more advanced topics on the use and extensio
283
282
  As we have shown, CLI commands can be used directly in a terminal window without using the TUI.
284
283
  For frequently used commands this can be a bit quicker.
285
284
 
285
+ We start with a terminal window and type `hey_egeria` and we see that we get a lot of help information, the commands that
286
+ are available at this point and optional parameters that we can pass:
287
+ ![hey_egeria 2024-11-12 at 20.38.43.png](images/hey_egeria%20%202024-11-12%20at%2020.38.43.png)
288
+ We can add one of the commands to the end of the clause and see that the next set of commands to choose from. In the
289
+ following screenshot below we show incrementally building up the final command clause by clause. Till we finally have the
290
+ `hey_egeria cat show glossary glossaries`.
291
+ ![hey_egeria cat 2024-11-12 at 21.41.43.png](images/hey_egeria%20cat%202024-11-12%20at%2021.41.43.png)
292
+
293
+ Of course, if we remember the command we can just type it in and execute it.
286
294
 
287
295
  ## Direct commands
296
+ Sometimes, especially when writing automation scripts, we may want to use a more terse set of commands.
297
+ Pyegeria has short-hand commands that are the rough equivalent of the CLI commands. For example,
298
+ the short-hand for:
299
+
300
+ `hey_egeria ops show servers status`
301
+
302
+ is
303
+
304
+ `monitor_server_status`
305
+
306
+ Each of these commands has a help option that lists the available parameters. For example:
307
+
308
+ ![short-cut commands 2024-11-12 at 22.22.13.png](images/short-cut%20commands%202024-11-12%20at%2022.22.13.png)
309
+
310
+ The full list of available short-cut commands can be found by typing `pipx list`. It is also shown above in the
311
+ installation section.
312
+
288
313
  ## How this is implemented
314
+
315
+ The pyegeria commands are built in python using the [**click**](https://click.palletsprojects.com/en/stable/) package
316
+ for the CLI along with the [**Trogon**](https://github.com/Textualize/trogon) from Textualize to create the
317
+ CLI TUI. Most of the display commands make use of the [**Rich**](https://rich.readthedocs.io/en/stable/introduction.html)
318
+ library for visualization in a terminal environment.
319
+
289
320
  ## Making changes
321
+ All of the code for the CLI and for the pyegeria library itself (along with this documentation) can be found
322
+ on Github in the **egeria-python** repo at [pyegeria](https://github.com/odpi/egeria-python). This code is
323
+ Open Source with an Apache 2 license. You are free to use, copy and extend this code. However, if you are
324
+ interested, we would very much value your participation in the Egeria Community. We look forward to hearing from you!
290
325
 
291
326
  # Feedback
292
327
 
328
+ The pyegeria CLI and Command set offer an evolving set of capabilities. We use these features daily - but perhaps
329
+ there are aspects that you either love or wish were different? We'd love to hear from you and learn from your use cases!
330
+ Feel free to raise an issue in Github - or better yet, join our slack channel and participate in the community.
331
+
332
+
293
333
 
294
334
 
295
335
 
@@ -6,7 +6,7 @@ Copyright Contributors to the ODPi Egeria project.
6
6
  Unit tests for the Utils helper functions using the Pytest framework.
7
7
 
8
8
 
9
- A simple display for glossary terms
9
+ Retrieve elements based on a search of a specified properties.
10
10
  """
11
11
  import argparse
12
12
  import os
@@ -46,7 +46,7 @@ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "260"))
46
46
  disable_ssl_warnings = True
47
47
 
48
48
 
49
- def display_elements(
49
+ def display_element_graph(
50
50
  search_string: str,
51
51
  prop_list: [str],
52
52
  server: str,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 1.5.1.1.56
3
+ Version: 1.5.1.1.58
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -1,4 +1,3 @@
1
- pyegeria/.DS_Store,sha256=W8hFhIhY0-R0dv5qB0NhZk1yrRcwZ9rvq0hhe7jtehY,6148
2
1
  pyegeria/README.md,sha256=PwX5OC7-YSZUCIsoyHh1O-WBM2hE84sm3Bd4O353NOk,1464
3
2
  pyegeria/__init__.py,sha256=mZOa16y_LUUZevlHVQY-X_q0ZE2mEcgAE-eoe16DLls,21893
4
3
  pyegeria/_client.py,sha256=pvUuiWRzK1qgEfKsX5QrPFjowvITkwqpOr_zGpZSDOY,30655
@@ -6,11 +5,10 @@ pyegeria/_deprecated_gov_engine.py,sha256=dWNcwVsE5__dF2u4QiIyQrssozzzOjBbLld8Md
6
5
  pyegeria/_exceptions.py,sha256=NJ7vAhmvusK1ENvY2MMrBB6A6TgpYjzS9QJxFH56b8c,18470
7
6
  pyegeria/_globals.py,sha256=1Uc8392wjbiVN5L__RzxC1-U97RMXj77_iUsMSgeAjQ,638
8
7
  pyegeria/_validators.py,sha256=rnZelHJnjHaLZ8UhUTDyB59MfIUJifhALtkYoHBaos4,12736
9
- pyegeria/asset_catalog_omvs.py,sha256=Bgw5pRO8wUdVlLTRQ9ySd34Rl_FFoeDnEoybBBVNNhU,24576
8
+ pyegeria/asset_catalog_omvs.py,sha256=AmQDwAu9j3LQ9FRLxsmR8jr23RZBFNer8ZjtCijiyR0,24573
10
9
  pyegeria/automated_curation_omvs.py,sha256=BwNuF7XQJAV-POvzaWwFh0TS5yRnHZZPhlayvtIMlwY,130243
11
10
  pyegeria/classification_manager_omvs.py,sha256=aQQZGz53PkM3qh88tXiBXK4zHNvbNFDwwiNvQQSlwtw,187084
12
11
  pyegeria/collection_manager_omvs.py,sha256=kye2kjthNnmwxMZhHQKV0xoHbxcNPWjNzRAYOItj_gY,99201
13
- pyegeria/commands/.DS_Store,sha256=CABmmtYkvwnlckaTeiBEyd6K_1RjLKCC0jye43LZBa0,8196
14
12
  pyegeria/commands/README.md,sha256=zNfWZppDxoKqTJeRtcewzku9z1m6_hKacCyQUQw1iq4,1974
15
13
  pyegeria/commands/__init__.py,sha256=IBYAvBbuGneZ06YSFjZsU-Zxx-b-Qo4ZV_Vd4zz4AI0,844
16
14
  pyegeria/commands/cat/README.md,sha256=-aaAnIT2fcfU63vajgB-RzQk4l4yFdhkyVfSaTPiqRY,967
@@ -21,7 +19,7 @@ pyegeria/commands/cat/get_project_dependencies.py,sha256=B0JaMSUi0hzVgos1sTY2uUP
21
19
  pyegeria/commands/cat/get_project_structure.py,sha256=n2GbNd07w1DTo7jTR8b2ewXRyNcat_2BcCBRyDMldwk,5969
22
20
  pyegeria/commands/cat/get_tech_type_elements.py,sha256=-m3Q0BoNqkCtV8h75vMwTcOV-_ymEXmnJcr4Ec7WMAw,6180
23
21
  pyegeria/commands/cat/glossary_actions.py,sha256=U9Pz__GTVU8aKM4XqjWK5cLjaB218d9QSXe0Sr5_uAI,12180
24
- pyegeria/commands/cat/list_assets.py,sha256=bNwSaBDz661hfnc2Rn4j4HPHAugKvz0XwN9L1m4FVQk,6529
22
+ pyegeria/commands/cat/list_assets.py,sha256=hWXtWLYiQx-wIM1xWaxPlm2CyaGL2y9JomYKS--giPA,6639
25
23
  pyegeria/commands/cat/list_cert_types.py,sha256=mbCls_EqC5JKG5rvS4o69k7KgZ6aNXlcqoJ3DtHsTFA,7127
26
24
  pyegeria/commands/cat/list_deployed_catalogs.py,sha256=sdfhzK0Wqo59tpoX6jpjnBWl5MLdD1qzU0TcXC_QtsY,8140
27
25
  pyegeria/commands/cat/list_deployed_database_schemas.py,sha256=g-O5Qk6t9mHl3yAYwHIbVWNxjy5bR4YOfvJ5YMoeMyw,9535
@@ -34,18 +32,14 @@ pyegeria/commands/cat/list_terms.py,sha256=1xHNMgB03OVxskj63vDS7-p1OEhMNyxvlTmg8
34
32
  pyegeria/commands/cat/list_todos.py,sha256=iPxHRyW3X5tiREio4TUOwRPvNPjU0gxm3pVnUI79ir4,6542
35
33
  pyegeria/commands/cat/list_user_ids.py,sha256=7JinL7rknPbGusIb8ikXKEaV1vvbuvx_WWtbmlfS_DY,5093
36
34
  pyegeria/commands/cli/__init__.py,sha256=hpTVSMP2gnPRhcAZPdeUEsQ-eaDySlXlk239dNWYmng,292
37
- pyegeria/commands/cli/egeria.py,sha256=-i4PpThoKbh1jfisQPwgqdHUTyoGMHnJmRwRGykJz-8,44649
38
- pyegeria/commands/cli/egeria_cat.py,sha256=ooGW63IWFOnk9foYUzD1gmXEUAwX434NwZLcRdlFvdE,16218
39
- pyegeria/commands/cli/egeria_my.py,sha256=Memyxzhrn_i3nMNRor-5N40_SKJJMzylA4iQgBW3T4g,6235
40
- pyegeria/commands/cli/egeria_ops.py,sha256=A75wSDydYsVwV657q-jn1ri3MJv_3de1DSAj26ebwIc,12612
41
- pyegeria/commands/cli/egeria_tech.py,sha256=c2ek0hp7vG_omFQ3snfXPRc3tI0fGgty4_C9teaeEXE,14315
42
- pyegeria/commands/cli/ops_config.py,sha256=m4AfPjf-fR4EBTx8Dc2mcgrfWwAxb30YGeV-v79bg4U,1450
43
- pyegeria/commands/doc/.DS_Store,sha256=8NYo_wnhWZfLpkPld7Y2BV4ZsmywSTUkalhulBRf3qY,10244
44
- pyegeria/commands/doc/command-overview.md,sha256=tnefqWz88GUMRi0TpcE5KAmeMCpvdSF6z4gVt8y_yzs,6673
45
- pyegeria/commands/doc/glossary/.DS_Store,sha256=Wnz12QQr0lWsmfViLDHaDin30-503borBxFmXt1ST-o,6148
35
+ pyegeria/commands/cli/egeria.py,sha256=YJvaCIy4LuPH60pGtWpOXSG5WSNQooTAvNYwVPOn2f4,45524
36
+ pyegeria/commands/cli/egeria_cat.py,sha256=yaigbUEImJvo5fERLeiRo57rMJQjC5zHeQijHKUTcZg,15804
37
+ pyegeria/commands/cli/egeria_my.py,sha256=YsOy1rqDr9MFOoxpleXAo9dMlLI3NfHYf_NobKEdKk8,5888
38
+ pyegeria/commands/cli/egeria_ops.py,sha256=xw7C63jPgjQaogl7UZZJHoDnMzoZEMwy6oh1px053Cs,12265
39
+ pyegeria/commands/cli/egeria_tech.py,sha256=ldbT9LVo1wWLzIAR0sYR-7lFiQhAK5zZrw3SX-7NvUw,15064
40
+ pyegeria/commands/cli/ops_config.py,sha256=-fTndSzs1zDmWwKk8hu6FMtBwOyXrZKpIemgykhpigI,1379
41
+ pyegeria/commands/doc/command-overview.md,sha256=klICxH_Dh7fwp0DCokksfEaiNrMbVlttBSe0t655jMA,10229
46
42
  pyegeria/commands/doc/glossary/basic-glossary-tui.md,sha256=2HoFDMCbIZuh4sBA1xRuu7qHQPyGwWS-JNUm5XNZ8JE,5880
47
- pyegeria/commands/doc/glossary/images/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
48
- pyegeria/commands/doc/glossary/images/CleanShot 2024-11-12 out-integ-status-live 2024-11-12 at 16.44.12at 16.44.12@2x.png,sha256=gJoPJi0vscycUI3qrkyIWa9df1SWXMZRZkoSij-NMrE,572163
49
43
  pyegeria/commands/doc/glossary/images/delete-glossary-step1 2024-11-06 at 15.47.23@2x.png,sha256=rppVqEwN1ZrSMzyXnsYqDl7fnPs0zTlE7PMmX4VUbQI,203332
50
44
  pyegeria/commands/doc/glossary/images/delete-glossary-step2 2024-11-06 at 15.51.29@2x.png,sha256=tV0h6i1eRAbvAzye8iuWt0eJ14y1Crk9DovaJLGJCSA,299425
51
45
  pyegeria/commands/doc/glossary/images/delete-glossary-step3 2024-11-06 at 15.53.19@2x.png,sha256=i_SJAW_CeM0fNfZ3fLrZAKdrE9LHG1zHHui86pejlkg,22826
@@ -80,15 +74,16 @@ pyegeria/commands/doc/glossary/images/tui-show-glossaries 2024-11-07 at 20.00.05
80
74
  pyegeria/commands/doc/glossary/images/tui-show-glossary-terms 2024-11-05 at 19.37.53@2x.png,sha256=AAq9De5X-Qf_KPKZlHgaBk0nlSsc7Y3wra72L7vzvjs,326972
81
75
  pyegeria/commands/doc/glossary/images/tui-upsert 2024-11-07 at 11.49.04.png,sha256=tLM_fX53WHDL3bALqvTugOsq_v-CcwaLQpJ0325gewE,347024
82
76
  pyegeria/commands/doc/glossary/images/upsert-example.om-terms 2024-11-07 at 11.44.05.png,sha256=h0VE0ybRygOToKYnRplTwXcQlK4H7AzCySO7YEfkKuc,174761
83
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/.DS_Store,sha256=A7HmN0yPuXFNPV4Ztmp7X2mtEux6abma1DUlmHHntt4,6148
84
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/hey_egeria: overview.md,sha256=A-FRkpNaWMyVRZzmZYoqQZi1LB8zwsX2qVZggXDVjPk,16368
85
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
77
+ pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/hey_egeria: overview.md,sha256=kCKj6rYTBj2De4XJYatP2X0m-7iS43r5zUTeLyDEVYE,18950
86
78
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731421782704.png,sha256=8lfyO8prtahjTqqT4Uk3HSICipBpf1ly2bXp00csRb8,314990
87
79
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731422134920.png,sha256=Ri4xBHuYzsMrOpoq48-3UkfQNLm9coJxLT_LJGNIU80,745535
80
+ pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria 2024-11-12 at 20.38.43.png,sha256=J9g754NN27AOk_OYUPI4o0A7cM5oHUqO-P5sjUmBsxM,387071
81
+ pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria cat 2024-11-12 at 21.41.43.png,sha256=unjegB4XMrKsunJ9fM7LDheId6eZ5NK5bbXTh1S8Acc,961408
88
82
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-list 2024-11-12 at 16.45.26.png,sha256=BJ1oK6Ds-Flyz5G2ve_OXUjwzyCjvUM6BrdP3wvFs7c,571445
89
83
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-live 2024-11-12 at 16.44.12@2x.png,sha256=M8qFds2-WSXLaaOeyNXPhpx0OWXwvfHCzZwYdKRvTMk,572140
90
84
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status 2024-11-10 at 18.15.42@2x.png,sha256=6lNUyaasNqKENohRu_Q_NFQ9sz77pOO0256IZTPDvj4,152025
91
85
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status-full 2024-11-10 at 18.25.14@2x.png,sha256=i5I7-eS6khcPTJ9Yao9vnge9qVMCJ-DyBM8TLNoNsNY,458855
86
+ pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/short-cut commands 2024-11-12 at 22.22.13.png,sha256=FUD-X-Txiim98G0xtenKhXsMDXwbztiWrid1h3br4IU,125890
92
87
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-hey-egeria.png,sha256=WP7FdqD_tZ7m0W-7eer-YhvUA_9T5pVPm46Av6yuqNw,1213272
93
88
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-integration-status-paging.png,sha256=dp_u0abblSpe-osElW0m_2dP36meeOYI_AXCna66DRE,987553
94
89
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-load-archive 2024-11-10 at 19.19.09@2x.png,sha256=VqI0ELwROkRCWAbVqAPVAq1mFU_WPviG1r3ztMHZEMs,1415244
@@ -124,12 +119,12 @@ pyegeria/commands/ops/table_integ_daemon_status.py,sha256=to93SVOF9tlaG5FpSHV4vZ
124
119
  pyegeria/commands/ops/x_engine_actions.py,sha256=hX6MRiVsX3tRJfQLaA83NnqlvaF1Bv-SlDwACzr3nME,4500
125
120
  pyegeria/commands/tech/README.md,sha256=nxDnfr3BCiGgW5G1VxWxiwUWJXIe5wreNuUeRyIt_hY,1343
126
121
  pyegeria/commands/tech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
- pyegeria/commands/tech/get_element_graph.py,sha256=YhpvHPNuSd-Ft-dBRLswGfqGYv2AlByyV0IyjhV4SSk,7367
128
122
  pyegeria/commands/tech/get_element_info.py,sha256=Rauespy7ZfyKtLh_H8XWgYTpPijsqlUGm-zeb7KrG7k,4749
129
123
  pyegeria/commands/tech/get_guid_info.py,sha256=HfwcGAFALFIpy4AJAgQHU__Fv1fjprh1G1xB5AjlZ80,4282
130
124
  pyegeria/commands/tech/get_tech_details.py,sha256=p5OgSKep3VOuuZmQXE2OSYhE-kvnI18TBcQ-PU5kEAw,6023
131
125
  pyegeria/commands/tech/get_tech_type_template.py,sha256=gMFVcgCIm09GQu1Vsc5ZUVH9XLhItAG1eVGZJrcnHeQ,6174
132
126
  pyegeria/commands/tech/list_asset_types.py,sha256=LG7e8yjewQ_SX8SjzEiEii_-hDvmAJKyLN8iDjbch50,4162
127
+ pyegeria/commands/tech/list_element_graph.py,sha256=o_0NgjQmaEmXP1IX65k6ggYPG0qn_H-Q3CRVR09gER8,7399
133
128
  pyegeria/commands/tech/list_elements.py,sha256=vO4SPEhcKm0L5rHVr6r8KYX3sPazGJ78oWsO2wLcf2o,5998
134
129
  pyegeria/commands/tech/list_elements_for_classification.py,sha256=oAge8RFz4z9H-jCE0fBDhS4AbIHqhQWBvZ4Dp7BZbfM,6194
135
130
  pyegeria/commands/tech/list_elements_x.py,sha256=k5jkekB7wh6cbzjn7FnwL7pKrPFq_oE-x36c_Z1FuSo,6500
@@ -165,8 +160,8 @@ pyegeria/template_manager_omvs.py,sha256=heqbKeum5hPCHap4r1RUZU8YB3QaQlxVNbq4GZi
165
160
  pyegeria/utils.py,sha256=1h6bwveadd6GpbnGLTmqPBmBk68QvxdjGTI9RfbrgKY,5415
166
161
  pyegeria/valid_metadata_omvs.py,sha256=tfCGXed5LLt59YA8uZNNtd9UJ-lRZfPU_uZxK31Yux0,65069
167
162
  pyegeria/x_action_author_omvs.py,sha256=xu1IQ0YbhIKi17C5a7Aq9u1Az2czwahNPpX9czmyVxE,6454
168
- pyegeria-1.5.1.1.56.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
169
- pyegeria-1.5.1.1.56.dist-info/METADATA,sha256=ibPR12e-D15MjTOZ7KTCsPfF5hBUcNuzhJg40f1JW00,2998
170
- pyegeria-1.5.1.1.56.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
171
- pyegeria-1.5.1.1.56.dist-info/entry_points.txt,sha256=w9RxNxRMM8fmX_DFKDFRPTWTqeujjbEuGHfqORT7law,5170
172
- pyegeria-1.5.1.1.56.dist-info/RECORD,,
163
+ pyegeria-1.5.1.1.58.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
164
+ pyegeria-1.5.1.1.58.dist-info/METADATA,sha256=Z7ZU5mi9agQyof0h-8qu0jG-hEE5RjSOTyUp_cnLRRw,2998
165
+ pyegeria-1.5.1.1.58.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
166
+ pyegeria-1.5.1.1.58.dist-info/entry_points.txt,sha256=oG-N-_kcUg7NFj2XchfxtFqsL4d4uOxlGYZOzDta1Pg,5171
167
+ pyegeria-1.5.1.1.58.dist-info/RECORD,,
@@ -30,7 +30,7 @@ list_deployed_catalogs=pyegeria.commands.cat.list_deployed_catalogs:main
30
30
  list_deployed_databases=pyegeria.commands.cat.list_deployed_databases:main
31
31
  list_deployed_schemas=pyegeria.commands.cat.list_deployed_database_schemas:main
32
32
  list_deployed_servers=pyegeria.commands.cat.list_servers_deployed_imp.py:main
33
- list_element_graph=pyegeria.commands.tech.get_element_graph:main
33
+ list_element_graph=pyegeria.commands.tech.list_element_graph:main
34
34
  list_elements=pyegeria.commands.tech.list_elements:main
35
35
  list_elements_for_classification=pyegeria.commands.tech.list_elements_for_classification:main
36
36
  list_engine_activity=pyegeria.commands.ops.monitor_engine_activity:main_paging
pyegeria/.DS_Store DELETED
Binary file
Binary file
Binary file
Binary file