pyegeria 1.5.1.1.61__py3-none-any.whl → 5.2.0.1__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/commands/cat/list_cert_types.py +1 -1
  2. pyegeria/commands/cat/list_collections.py +157 -0
  3. pyegeria/commands/cat/list_deployed_catalogs.py +4 -3
  4. pyegeria/commands/cat/list_deployed_database_schemas.py +1 -0
  5. pyegeria/commands/cat/list_deployed_databases.py +1 -0
  6. pyegeria/commands/cat/list_terms.py +3 -0
  7. pyegeria/commands/cli/egeria.py +18 -16
  8. pyegeria/commands/cli/egeria_cat.py +12 -0
  9. pyegeria/commands/cli/egeria_tech.py +1 -1
  10. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/Asset-graph 2024-11-20 at 15.56.42.png +0 -0
  11. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/Assets-in-domain 2024-11-20 at 15.49.55@2x.png +0 -0
  12. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/deployed-catalogs 2024-11-20 at 16.17.43@2x.png +0 -0
  13. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/elements-of-type 2024-11-20 at 16.01.35.png +0 -0
  14. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/tech-type-elements 2024-11-20 at 16.05.05.png +0 -0
  15. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/CleanShot 2024-11-20 at 16.17.43@2x.png +0 -0
  16. pyegeria/commands/doc/command-overview.md +78 -77
  17. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/hey_egeria: overview.md +8 -0
  18. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png +0 -0
  19. pyegeria/commands/my/todo_actions.py +7 -14
  20. pyegeria/commands/ops/monitor_platform_status.py +14 -2
  21. pyegeria/commands/ops/x_engine_actions.py +2 -59
  22. pyegeria/commands/tech/{list_element_graph.py → list_anchored_elements.py} +3 -3
  23. {pyegeria-1.5.1.1.61.dist-info → pyegeria-5.2.0.1.dist-info}/METADATA +1 -1
  24. {pyegeria-1.5.1.1.61.dist-info → pyegeria-5.2.0.1.dist-info}/RECORD +27 -20
  25. {pyegeria-1.5.1.1.61.dist-info → pyegeria-5.2.0.1.dist-info}/entry_points.txt +2 -1
  26. {pyegeria-1.5.1.1.61.dist-info → pyegeria-5.2.0.1.dist-info}/LICENSE +0 -0
  27. {pyegeria-1.5.1.1.61.dist-info → pyegeria-5.2.0.1.dist-info}/WHEEL +0 -0
@@ -107,7 +107,7 @@ def display_certifications(
107
107
  title = properties.get("title", "---")
108
108
  cert_guid = element["elementHeader"]["guid"]
109
109
 
110
- related = g_client.get_all_related_elements(cert_guid)
110
+ related = g_client.get_related_elements(cert_guid)
111
111
  if (len(related) > 0) and (type(related) is list):
112
112
  rel_md = ""
113
113
  for rel in related:
@@ -0,0 +1,157 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+ A simple display for collections
7
+ """
8
+ import argparse
9
+ import os
10
+ import sys
11
+ import time
12
+
13
+ from rich import box
14
+ from rich.console import Console
15
+ from rich.prompt import Prompt
16
+ from rich.table import Table
17
+ from rich.text import Text
18
+
19
+ from pyegeria import (
20
+ InvalidParameterException,
21
+ PropertyServerException,
22
+ UserNotAuthorizedException,
23
+ EgeriaTech,
24
+ print_exception_response,
25
+ )
26
+
27
+ disable_ssl_warnings = True
28
+
29
+ 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(
34
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
35
+ )
36
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
37
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
38
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
39
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
40
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
41
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
42
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
43
+
44
+
45
+ def display_collections(
46
+ search_string: str = "*",
47
+ view_server: str = EGERIA_VIEW_SERVER,
48
+ view_url: str = EGERIA_VIEW_SERVER_URL,
49
+ user: str = EGERIA_USER,
50
+ user_pass: str = EGERIA_USER_PASSWORD,
51
+ jupyter: bool = EGERIA_JUPYTER,
52
+ width: int = EGERIA_WIDTH,
53
+ ):
54
+ """Display either a specified glossary or all collections if the search_string is '*'.
55
+ Parameters
56
+ ----------
57
+ search_string : str, default is '*'
58
+ The string used to search for collections.
59
+ view_server : str
60
+ The view server name or address where the Egeria services are hosted.
61
+ view_url : str
62
+ The URL of the platform the view server is on.
63
+ user : str
64
+ The user ID for authentication with the Egeria server.
65
+ user_pass : str
66
+ The password for authentication with the Egeria server.
67
+ jupyter : bool, optional
68
+ A boolean indicating whether the output is intended for a Jupyter notebook (default is EGERIA_JUPYTER).
69
+ width : int, optional
70
+ The width of the console output (default is EGERIA_WIDTH).
71
+ """
72
+ m_client = EgeriaTech(view_server, view_url, user_id=user, user_pwd=user_pass)
73
+ token = m_client.create_egeria_bearer_token()
74
+ try:
75
+ table = Table(
76
+ title=f"Collection List @ {time.asctime()}",
77
+ style="bright_white on black",
78
+ header_style="bright_white on dark_blue",
79
+ title_style="bold white on black",
80
+ caption_style="white on black",
81
+ show_lines=True,
82
+ box=box.ROUNDED,
83
+ caption=f"View Server '{view_server}' @ Platform - {view_url}",
84
+ expand=True,
85
+ )
86
+ table.add_column("Collection Name")
87
+ table.add_column(
88
+ "Qualified Name & GUID", width=38, no_wrap=True, justify="center"
89
+ )
90
+ table.add_column("Home Metadata Collection")
91
+ table.add_column("Description")
92
+ table.add_column("Collection Type")
93
+
94
+ collections = m_client.find_collections(
95
+ search_string, None, False, ends_with=False, ignore_case=True
96
+ )
97
+ if type(collections) is list:
98
+ sorted_collection_list = sorted(
99
+ collections, key=lambda k: k["properties"]["name"]
100
+ )
101
+ for collection in sorted_collection_list:
102
+ display_name = collection["properties"]["name"]
103
+ qualified_name = collection["properties"]["qualifiedName"]
104
+ home_metadata_collection = collection["elementHeader"]["origin"][
105
+ "homeMetadataCollectionName"
106
+ ]
107
+ guid = collection["elementHeader"]["guid"]
108
+ q_name = Text(f"{qualified_name}\n&\n{guid}", justify="center")
109
+ description = collection["properties"]["description"]
110
+ collection_type = collection["properties"].get("collectionType", "---")
111
+ table.add_row(
112
+ display_name,
113
+ q_name,
114
+ home_metadata_collection,
115
+ description,
116
+ collection_type,
117
+ )
118
+ console = Console(
119
+ style="bold bright_white on black",
120
+ width=width,
121
+ force_terminal=not jupyter,
122
+ )
123
+ console.print(table)
124
+
125
+ except (InvalidParameterException, PropertyServerException) as e:
126
+ print_exception_response(e)
127
+ finally:
128
+ m_client.close_session()
129
+
130
+
131
+ def main():
132
+ parser = argparse.ArgumentParser()
133
+ parser.add_argument("--server", help="Name of the server to display status for")
134
+ parser.add_argument("--url", help="URL Platform to connect to")
135
+ parser.add_argument("--userid", help="User Id")
136
+ parser.add_argument("--password", help="User Password")
137
+
138
+ args = parser.parse_args()
139
+
140
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
141
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
142
+ userid = args.userid if args.userid is not None else EGERIA_USER
143
+ user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
144
+
145
+ try:
146
+ search_string = Prompt.ask(
147
+ "Enter the collection you are searching for or '*' for all:", default="*"
148
+ )
149
+
150
+ display_collections(search_string, server, url, userid, user_pass)
151
+
152
+ except KeyboardInterrupt:
153
+ pass
154
+
155
+
156
+ if __name__ == "__main__":
157
+ main()
@@ -81,7 +81,8 @@ def list_deployed_catalogs(
81
81
  def generate_table() -> Table:
82
82
  """Make a new table."""
83
83
  table = Table(
84
- caption=f"Databases found: {view_url} - {view_server} @ {time.asctime()}",
84
+ title=f"Catalog List @ {time.asctime()}",
85
+ caption=f"Catalogs found: {view_url} - {view_server} @ {time.asctime()}",
85
86
  style="bold bright_white on black",
86
87
  row_styles=["bold bright_white on black"],
87
88
  header_style="white on dark_blue",
@@ -100,11 +101,11 @@ def list_deployed_catalogs(
100
101
  table.add_column("Catalog Schemas")
101
102
 
102
103
  if catalog_server in [None, "*"]:
103
- cats = c_client.get_elements_by_classification("Anchors", "Catalog")
104
+ cats = c_client.get_elements_by_classification("Anchors", "DataManager")
104
105
  else:
105
106
  server_guid = c_client.get_guid_for_name(catalog_server)
106
107
  cats = c_client.get_elements_by_classification_with_property_value(
107
- "Anchors", server_guid, ["anchorGUID"], "Catalog"
108
+ "Anchors", server_guid, ["anchorGUID"], "DataManager"
108
109
  )
109
110
  if type(cats) is list:
110
111
  for cat in cats:
@@ -87,6 +87,7 @@ def list_deployed_database_schemas(
87
87
  def generate_table() -> Table:
88
88
  """Make a new table."""
89
89
  table = Table(
90
+ title=f"Database Schema List @ {time.asctime()}",
90
91
  caption=f"Databases found: {view_url} - {view_server} @ {time.asctime()}",
91
92
  style="bold bright_white on black",
92
93
  row_styles=["bold bright_white on black"],
@@ -76,6 +76,7 @@ def list_deployed_databases(
76
76
  def generate_table() -> Table:
77
77
  """Make a new table."""
78
78
  table = Table(
79
+ title=f"Database List @ {time.asctime()}",
79
80
  caption=f"Databases found: {view_url} - {view_server} @ {time.asctime()}",
80
81
  style="bold bright_white on black",
81
82
  row_styles=["bold bright_white on black"],
@@ -119,6 +119,7 @@ def display_glossary_terms(
119
119
  table.add_column("Version Id")
120
120
  table.add_column("Glossary")
121
121
  table.add_column("Status")
122
+ table.add_column("Example")
122
123
 
123
124
  terms = g_client.find_glossary_terms(
124
125
  search_string,
@@ -158,6 +159,7 @@ def display_glossary_terms(
158
159
  style=style,
159
160
  justify="center",
160
161
  )
162
+ example = Text(props.get("example", " "), style=style)
161
163
 
162
164
  classifications = term["elementHeader"]["classifications"]
163
165
  glossary_guid = None
@@ -184,6 +186,7 @@ def display_glossary_terms(
184
186
  version,
185
187
  glossary_name,
186
188
  term_status,
189
+ example,
187
190
  style="bold white on black",
188
191
  )
189
192
 
@@ -23,7 +23,7 @@ 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
26
+ from pyegeria.commands.tech.list_anchored_elements import display_anchored_elements
27
27
  from pyegeria.commands.tech.list_elements_x import list_elements_x
28
28
  from pyegeria.commands.tech.list_relationships import list_relationships
29
29
  from pyegeria.commands.cat.list_tech_types import display_tech_types
@@ -39,6 +39,7 @@ from pyegeria.commands.my.monitor_open_todos import display_todos
39
39
  from pyegeria.commands.cat.list_deployed_database_schemas import (
40
40
  list_deployed_database_schemas,
41
41
  )
42
+ from pyegeria.commands.cat.list_collections import display_collections
42
43
  from pyegeria.commands.cat.list_deployed_catalogs import list_deployed_catalogs
43
44
  from pyegeria.commands.cat.list_deployed_databases import list_deployed_databases
44
45
  from pyegeria.commands.cat.glossary_actions import (
@@ -303,12 +304,7 @@ def show_my_todos(ctx):
303
304
  @my_show.command("open-to-dos")
304
305
  @click.pass_context
305
306
  def show_open_todos(ctx):
306
- """Display a live status view of Egeria servers for the specified Egeria platform
307
-
308
- Usage: show tech-details <tech-name>
309
-
310
- tech-name is a valid technology name (see 'show tech-types')
311
- """
307
+ """Display Open Todo items"""
312
308
  c = ctx.obj
313
309
  display_todos(
314
310
  c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
@@ -384,16 +380,16 @@ def show_guid_infos(ctx, guid):
384
380
  display_guid(guid, c.server, c.url, c.userid, c.password, c.jupyter, c.width)
385
381
 
386
382
 
387
- @show_elements.command("element-graph")
383
+ @show_elements.command("anchored-elements")
388
384
  @click.pass_context
389
385
  @click.option("--search-string", help="value we are searching for")
390
386
  @click.option(
391
387
  "--prop-list", default="anchorTypeName", help="List of properties we are searching"
392
388
  )
393
- def list_element_graph(ctx, search_string: str, prop_list: str):
389
+ def list_anchored_elementsh(ctx, search_string: str, prop_list: str):
394
390
  """List elements with the specified properties"""
395
391
  c = ctx.obj
396
- display_element_graph(
392
+ display_anchored_elements(
397
393
  search_string,
398
394
  prop_list,
399
395
  c.view_server,
@@ -444,12 +440,7 @@ def show_tech_types(ctx, search_string):
444
440
  @click.argument("tech-name")
445
441
  @click.pass_context
446
442
  def show_tech_details(ctx, tech_name):
447
- """Display a live status view of Egeria servers for the specified Egeria platform
448
-
449
- Usage: show tech-details <tech-name>
450
-
451
- tech-name is a valid technology name (see 'show tech-types')
452
- """
443
+ """Show technology type details"""
453
444
  c = ctx.obj
454
445
  tech_details_viewer(
455
446
  tech_name,
@@ -789,6 +780,17 @@ def show_tech_types(ctx, tech_type):
789
780
  )
790
781
 
791
782
 
783
+ @show_cat_info.command("collections")
784
+ @click.option("--collection", default="*", help="Collection to search for")
785
+ @click.pass_context
786
+ def show_collections(ctx, collections):
787
+ """List Collections"""
788
+ c = ctx.obj
789
+ display_collections(
790
+ collections, c.view_server, c.view_server_url, c.userid, c.password
791
+ )
792
+
793
+
792
794
  @show_cat.group("assets")
793
795
  @click.pass_context
794
796
  def asset_group(ctx):
@@ -39,6 +39,7 @@ from pyegeria.commands.cat.list_projects import display_project_list
39
39
  from pyegeria.commands.cat.list_tech_types import display_tech_types
40
40
  from pyegeria.commands.cat.list_todos import display_to_dos as list_todos
41
41
  from pyegeria.commands.cat.list_user_ids import list_user_ids
42
+ from pyegeria.commands.cat.list_collections import display_collections
42
43
 
43
44
  # from pyegeria import ServerOps
44
45
  from pyegeria.commands.cli.ops_config import Config
@@ -218,6 +219,17 @@ def show_tech_types(ctx, tech_type):
218
219
  )
219
220
 
220
221
 
222
+ @info.command("collections")
223
+ @click.option("--collection", default="*", help="Collection to search for")
224
+ @click.pass_context
225
+ def show_collections(ctx, collections):
226
+ """List Collections"""
227
+ c = ctx.obj
228
+ display_collections(
229
+ collections, c.view_server, c.view_server_url, c.userid, c.password
230
+ )
231
+
232
+
221
233
  @show.group("assets")
222
234
  @click.pass_context
223
235
  def asset_group(ctx):
@@ -23,7 +23,7 @@ from pyegeria.commands.tech.list_relationship_types import display_relationship_
23
23
  from pyegeria.commands.tech.list_tech_templates import display_templates_spec
24
24
  from pyegeria.commands.tech.list_valid_metadata_values import display_metadata_values
25
25
  from pyegeria.commands.tech.get_tech_type_template import template_viewer
26
- from pyegeria.commands.tech.list_element_graph import display_element_graph
26
+ from pyegeria.commands.tech.list_anchored_elements import display_element_graph
27
27
  from pyegeria.commands.tech.list_elements import list_elements
28
28
 
29
29
  from pyegeria.commands.tech.get_element_info import display_elements
@@ -16,83 +16,84 @@
16
16
 
17
17
  # Command Reference
18
18
 
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 | | | | ✓ | | |
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_collections | List collections | ✓ | | | | |
49
+ | list_deployed_catalogs | List deployed catalogs | ✓ | | | | ✓ |
50
+ | list_deployed_databases | List deployed databases | ✓ | | | | ✓ |
51
+ | list_deployed_schemas | List deployed schemas | ✓ | | | ||
52
+ | list_deployed_servers | List deployed servers | | | | | |
53
+ | list_elements | Display table of Elements of an Open Metadata type | | | | ✓ | |
54
+ | list_elements_for_classification | List the elements of a classification | | | | | |
55
+ | list_engine_activity | List engine activity | | | ✓ | | |
56
+ | list_engine_activity_compressed | Compressed view of engine activity | | | ✓ | | ✓ |
57
+ | list_glossaries | List glossaries | | | | | |
58
+ | list_gov_action_processes | List governance action processes | | | | | |
59
+ | list_gov_eng_status | List the status of the governance engines | | | ✓ | | ✓ |
60
+ | list_integ_daemon_status | List status of an integration daemon server | | | | | |
61
+ | list_my_profile | List the details of the current user profile | | ✓ | | | |
62
+ | list_my_roles | List the roles of the current user | | | | | |
63
+ | list_projects | List projects filtered by search string || | | | |
64
+ | list_registered_services | List all registered Egeria services | | | | ✓ | |
65
+ | list_related_elements | List elements related to a specific element | | | | ✓ | |
66
+ | list_related_specification | List details of related elements | | | | ✓ | |
67
+ | list_relationship_types | List types of relationships and their attributes | | | || |
68
+ | list_relationships | List relationships for elements of a given type || | | | |
69
+ | list_tech_templates | List templates for technology types | | | || |
70
+ | list_tech_types | List technology types | ✓ | | | | |
71
+ | list_terms | List glossary terms | ✓ | | | ||
72
+ | list_todos | List to-do actions | ✓ | | | | |
73
+ | list_user_ids | Display table of known user ids || | | | |
74
+ | list_valid_metadata_values | List valid metadata (reference) values | | | | | |
75
+ | load_archive | Load an archive/content-pack into Egeria | | | ✓ | | |
76
+ | load_archive_tui | Load an archive/content-pack into Egeria | | | ✓ | | |
77
+ | load_terms_from_file | Import glossary terms from a CSV file | ✓ | | | | |
78
+ | mark_todo_complete | Mark a to-do item as complete | | ✓ | | | |
79
+ | monitor_asset_events | Monitor asset events | | | ✓ | | |
80
+ | monitor_coco_status | Monitor status of Coco Sample servers | | | ✓ | | |
81
+ | monitor_engine_activity | Monitor engine activity | | | ✓ | | |
82
+ | monitor_engine_activity_compressed | Monitor engine activity | | | ✓ | | |
83
+ | monitor_gov_eng_status | Monitor status of an engine-host OMAG server | | | ✓ | | |
84
+ | monitor_integ_daemon_status | Monitor status of an integration daemon OMAG server | | | | | |
85
+ | monitor_my_todos | Monitor to-do items assigned to me | | ✓ | | | |
86
+ | monitor_open_todos | Monitor open to-do items | | ✓ | | | |
87
+ | monitor_platform_status | Monitor the status of all platforms | | | ✓ | | |
88
+ | monitor_server_list | List status of all servers using the RuntimeManager | | | ✓ | | |
89
+ | monitor_server_startup | Monitor the status of all servers using access services | | | ✓ | | |
90
+ | monitor_server_status | Monitor the status of all servers using the RuntimeManager | | | | | |
91
+ | reassign_todo | Reassign a todo item to a new actor | | ✓ | | | |
92
+ | refresh_gov_eng_config | Refresh the governance engines on an engine host | | | ✓ | | |
93
+ | refresh_integration_daemon | Refresh one or all integration connectors | | | ✓ | | |
94
+ | restart_integration_daemon | Restart and integration daemon | | | ✓ | | |
95
+ | start_daemon | Start or restart an OMAG server from its known configuration | | | ✓ | | |
96
+ | stop_daemon | Stop an OMAG server daemon | | | ✓ | | |
96
97
 
97
98
  ----
98
99
  License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
@@ -245,6 +245,14 @@ we also have subsets of **hey_egeria** available for the major roles/perspective
245
245
  The structure and use of these is quite similar to **hey_egeria** - however, these commands can be a bit
246
246
  simpler if you focus on one of the above areas.
247
247
 
248
+ ## When to upgrade - and how
249
+
250
+ **pyegeria** is in active development. New methods are added in conjunction with new capabilities in Egeria, methods
251
+ are updated to reflect Egeria's evolution and commands are added or updated to support the community. To support this
252
+ active lifecycle, are *moving* to a naming convention where the version of pyegeria is aligned with the version of
253
+ Egeria. Thus version 5.2 of Egeria will be aligned with version 5.2.x.x.x of pyegeria. The 3rd digit of the version will
254
+ be a 0 for SNAPSHOT (in-progress) releases of Egeria and non-zero for production releases.
255
+
248
256
  # Adapting to your environment
249
257
 
250
258
  Commands in the hey_egeria TUI have parameters to adapt to your environment. These parameters set
@@ -13,7 +13,6 @@ from datetime import datetime
13
13
 
14
14
  import click
15
15
 
16
- # from ops_config import Config, pass_config
17
16
  from pyegeria import MyProfile
18
17
  from pyegeria._exceptions import (
19
18
  InvalidParameterException,
@@ -52,19 +51,15 @@ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
52
51
  @click.option("--userid", default=EGERIA_USER, help="Egeria user")
53
52
  @click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
54
53
  @click.option("--timeout", default=60, help="Number of seconds to wait")
55
- @click.option("--name", prompt="Todo Name", help="Name of Todo", required=True)
54
+ @click.option("--name", help="Name of Todo", required=True)
56
55
  @click.option(
57
56
  "--description",
58
- prompt="Description",
59
57
  help="Brief description of To Do item",
60
58
  required=True,
61
59
  )
62
- @click.option(
63
- "--type", prompt="Todo Type", help="Type of Todo", required=True, default="forMe"
64
- )
60
+ @click.option("--type", help="Type of Todo", required=True, default="forMe")
65
61
  @click.option(
66
62
  "--priority",
67
- prompt="Todo Priority",
68
63
  type=int,
69
64
  help="Priority of Todo",
70
65
  required=True,
@@ -72,14 +67,12 @@ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
72
67
  )
73
68
  @click.option(
74
69
  "--due",
75
- prompt="Due Date",
76
70
  help="Due date of Todo (yyyy-mm-dd)",
77
71
  default=datetime.now().strftime("%Y-%m-%d"),
78
72
  required=True,
79
73
  )
80
74
  @click.option(
81
75
  "--assigned-to",
82
- prompt="Assigned to",
83
76
  help="Party the Todo is assigned to",
84
77
  required=True,
85
78
  default=peter_guid,
@@ -99,7 +92,7 @@ def create_todo(
99
92
  ):
100
93
  """Create a new ToDo item"""
101
94
  m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
102
- token = m_client.create_egeria_bearer_token()
95
+ m_client.create_egeria_bearer_token()
103
96
  try:
104
97
  body = {
105
98
  "properties": {
@@ -141,7 +134,7 @@ def create_todo(
141
134
  def delete_todo(server, url, userid, password, timeout, todo_guid):
142
135
  """Delete the todo item specified"""
143
136
  m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
144
- token = m_client.create_egeria_bearer_token()
137
+ m_client.create_egeria_bearer_token()
145
138
  try:
146
139
  m_client.delete_to_do(todo_guid)
147
140
 
@@ -176,7 +169,7 @@ def delete_todo(server, url, userid, password, timeout, todo_guid):
176
169
  def change_todo_status(server, url, userid, password, timeout, todo_guid, new_status):
177
170
  """Update a ToDo item status"""
178
171
  m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
179
- token = m_client.create_egeria_bearer_token()
172
+ m_client.create_egeria_bearer_token()
180
173
  try:
181
174
  body = {"class": "ToDoProperties", "toDoStatus": new_status}
182
175
 
@@ -205,7 +198,7 @@ def mark_todo_complete(server, url, userid, password, timeout, todo_guid):
205
198
  """Mark the specified todo as complete"""
206
199
  m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
207
200
  try:
208
- token = m_client.create_egeria_bearer_token()
201
+ m_client.create_egeria_bearer_token()
209
202
  body = {
210
203
  "class": "ToDoProperties",
211
204
  "completionTime": time.asctime(),
@@ -237,7 +230,7 @@ def mark_todo_complete(server, url, userid, password, timeout, todo_guid):
237
230
  def reassign_todo(server, url, userid, password, timeout, todo_guid, new_actor_guid):
238
231
  """Reassign ToDo item to new actor"""
239
232
  m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
240
- token = m_client.create_egeria_bearer_token()
233
+ m_client.create_egeria_bearer_token()
241
234
  try:
242
235
  m_client.reassign_to_do(todo_guid, new_actor_guid)
243
236
 
@@ -12,6 +12,7 @@ import time
12
12
 
13
13
  from rich.console import Console
14
14
  from rich.live import Live
15
+ from rich.markdown import Markdown
15
16
  from rich.table import Table
16
17
 
17
18
  from pyegeria import RuntimeManager
@@ -97,8 +98,20 @@ def display_status(
97
98
  platform_report = r_client.get_platform_report(platform_guid)
98
99
  platform_url = platform_report.get("platformURLRoot", " ")
99
100
  platform_origin = platform_report.get("platformOrigin", " ")
101
+ platform_build = platform_report.get("platformBuildProperties", " ")
102
+ platform_build_md = ""
103
+ if type(platform_build) is dict:
104
+ for prop in platform_build:
105
+ platform_build_md = (
106
+ f"{platform_build_md}\n* {prop}: {platform_build[prop]}"
107
+ )
108
+ platform_build_out = Markdown(platform_build_md)
109
+ else:
110
+ platform_build_out = platform_origin
111
+ platform_desc = f"{platform_desc}\n\n\t\t&\n\n{platform_build}"
100
112
  platform_started = platform_report.get("platformStartTime", " ")
101
113
  platform_id = f"{platform_name}\n\n\t\t&\n\n{platform_guid}"
114
+
102
115
  servers = platform_report.get("omagservers", None)
103
116
 
104
117
  if servers is not None:
@@ -117,12 +130,11 @@ def display_status(
117
130
  server_list += (
118
131
  f"{status_flag}{server_types[server_type]}: {server_name}\n"
119
132
  )
120
- # server_list = server_list + serv
121
133
 
122
134
  table.add_row(
123
135
  platform_id,
124
136
  platform_url,
125
- platform_origin,
137
+ platform_build_out,
126
138
  platform_desc,
127
139
  platform_started,
128
140
  server_list,
@@ -18,40 +18,12 @@ from pyegeria._exceptions import (
18
18
  print_exception_response,
19
19
  )
20
20
 
21
- # EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
22
- # EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
23
- # EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
24
- # EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
25
- # EGERIA_VIEW_SERVER_URL = os.environ.get(
26
- # "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
27
- # )
28
- # EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
29
- # EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
30
- # "EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
31
- # )
32
- #
33
- # EGERIA_USER = os.environ.get("EGERIA_USER", "garygeeke")
34
- # EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
35
-
36
21
 
37
22
  @click.command("stop")
38
23
  @click.option("--server", help="OMAG Server to stop")
39
- # @click.option(
40
- # "--view-server", default=EGERIA_VIEW_SERVER, help="View Server to communicate with"
41
- # )
42
- # @click.option(
43
- # "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
44
- # )
45
- # @click.option("--userid", default="garygeeke", envvar="EGERIA_USER", help="Egeria user")
46
- # @click.option(
47
- # "--password",
48
- # default="secret",
49
- # envvar="EGERIA_PASSWORD",
50
- # help="Egeria user password",
51
- # )
52
24
  @click.pass_context
53
25
  def stop_server(ctx, server):
54
- """Stop an engine-host daemon"""
26
+ """Stop an OMAG server daemon"""
55
27
  c = ctx.obj
56
28
  p_client = EgeriaTech(c.view_server, c.view_server_url, c.userid, c.password)
57
29
  token = p_client.create_egeria_bearer_token()
@@ -68,21 +40,8 @@ def stop_server(ctx, server):
68
40
 
69
41
  @click.command("start")
70
42
  @click.option("--server", help="OMAG Server to start")
71
- # @click.option(
72
- # "--view-server", default=EGERIA_VIEW_SERVER, help="View Server to communicate with"
73
- # )
74
- # @click.option(
75
- # "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
76
- # )
77
- # @click.option("--userid", default="garygeeke", envvar="EGERIA_USER", help="Egeria user")
78
- # @click.option(
79
- # "--password",
80
- # default="secret",
81
- # envvar="EGERIA_USER_PASSWORD",
82
- # help="Egeria user password",
83
- # )
84
43
  def start_server(ctx, server):
85
- """Start or restart an engine-host from its known configuration"""
44
+ """Start or restart an OMAG server from its known configuration"""
86
45
  c = ctx.obj
87
46
  p_client = EgeriaTech(c.view_server, c.view_server_url, c.userid, c.password)
88
47
  token = p_client.create_egeria_bearer_token()
@@ -100,22 +59,6 @@ def start_server(ctx, server):
100
59
 
101
60
  @click.command("refresh")
102
61
  @click.pass_context
103
- # @click.option(
104
- # "--engine-host", default=EGERIA_ENGINE_HOST, help="Engine Host to refresh"
105
- # )
106
- # @click.option(
107
- # "--view-server", default=EGERIA_VIEW_SERVER, help="View Server to communicate with"
108
- # )
109
- # @click.option(
110
- # "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
111
- # )
112
- # @click.option("--userid", default="garygeeke", envvar="EGERIA_USER", help="Egeria user")
113
- # @click.option(
114
- # "--password",
115
- # default="secret",
116
- # envvar="EGERIA_PASSWORD",
117
- # help="Egeria user password",
118
- # )
119
62
  def refresh(ctx):
120
63
  """Start or restart an engine-host from its known configuration"""
121
64
  c = ctx.obj
@@ -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_element_graph(
49
+ def display_anchored_elements(
50
50
  search_string: str,
51
51
  prop_list: [str],
52
52
  server: str,
@@ -187,11 +187,11 @@ def main():
187
187
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
188
188
  time_out = args.time_out if args.time_out is not None else 60
189
189
  try:
190
- search_string = Prompt.ask("Enter an asset search string:", default="")
190
+ search_string = Prompt.ask("Enter an property search string:", default="")
191
191
  prop_list = Prompt.ask(
192
192
  "Enter the list of properties to search", default="anchorTypeName"
193
193
  )
194
- display_elements(
194
+ display_anchored_elements(
195
195
  search_string, [prop_list], server, url, userid, user_pass, time_out
196
196
  )
197
197
  except KeyboardInterrupt:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 1.5.1.1.61
3
+ Version: 5.2.0.1
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -21,25 +21,32 @@ pyegeria/commands/cat/get_project_structure.py,sha256=n2GbNd07w1DTo7jTR8b2ewXRyN
21
21
  pyegeria/commands/cat/get_tech_type_elements.py,sha256=-m3Q0BoNqkCtV8h75vMwTcOV-_ymEXmnJcr4Ec7WMAw,6180
22
22
  pyegeria/commands/cat/glossary_actions.py,sha256=U9Pz__GTVU8aKM4XqjWK5cLjaB218d9QSXe0Sr5_uAI,12180
23
23
  pyegeria/commands/cat/list_assets.py,sha256=hWXtWLYiQx-wIM1xWaxPlm2CyaGL2y9JomYKS--giPA,6639
24
- pyegeria/commands/cat/list_cert_types.py,sha256=mbCls_EqC5JKG5rvS4o69k7KgZ6aNXlcqoJ3DtHsTFA,7127
25
- pyegeria/commands/cat/list_deployed_catalogs.py,sha256=sdfhzK0Wqo59tpoX6jpjnBWl5MLdD1qzU0TcXC_QtsY,8140
26
- pyegeria/commands/cat/list_deployed_database_schemas.py,sha256=g-O5Qk6t9mHl3yAYwHIbVWNxjy5bR4YOfvJ5YMoeMyw,9535
27
- pyegeria/commands/cat/list_deployed_databases.py,sha256=r8KjKo-eEh0zt9_5TvlZJ-073oEcH5yBddZcIRmUxrE,7532
24
+ pyegeria/commands/cat/list_cert_types.py,sha256=x3R7ydIgXQmQyObE2Ffvr3187acFlsN1fXD1vuznJrc,7123
25
+ pyegeria/commands/cat/list_collections.py,sha256=6_nR_H-i9yRmqnvX4sxTYMSOXf9fPxPbkCBmkC-kCQo,5843
26
+ pyegeria/commands/cat/list_deployed_catalogs.py,sha256=vXmR6FF9s1Utbci3HGJQRY_AaSzBb8prmVGuJGUQTLQ,8201
27
+ pyegeria/commands/cat/list_deployed_database_schemas.py,sha256=VuL9MFWdMWDyWjgVUZMB_USbjPLbvpksZ2skjoUDGRA,9597
28
+ pyegeria/commands/cat/list_deployed_databases.py,sha256=hGlYPTFJtjEss0enb8rBLP38Ghq9e54YjG55MPqkBAk,7587
28
29
  pyegeria/commands/cat/list_glossaries.py,sha256=t4p6DUd09MkIW07rCW0nc2K2ktD_YP0Qlw2z8zSayBI,5592
29
30
  pyegeria/commands/cat/list_projects.py,sha256=Jzs-DtIpPhCH-gY4PYT6mnRBWnEf4m18TFfcw8UymNU,8011
30
31
  pyegeria/commands/cat/list_servers_deployed_imp.py,sha256=gcfeDzf7QGwa5tU_WYJD4O-dZKQ7XYp_J1BXTnGy3xg,5705
31
32
  pyegeria/commands/cat/list_tech_types.py,sha256=20T4v6L5qeebSsaL1nGkFMDAIsy2W3A3SMm1RcgFoh0,4609
32
- pyegeria/commands/cat/list_terms.py,sha256=1xHNMgB03OVxskj63vDS7-p1OEhMNyxvlTmg8Bak6dE,9148
33
+ pyegeria/commands/cat/list_terms.py,sha256=yq3kyfCZ6Hfbqc30L6o-b3Ebp6NpywD99KL4kdKErKE,9276
33
34
  pyegeria/commands/cat/list_todos.py,sha256=iPxHRyW3X5tiREio4TUOwRPvNPjU0gxm3pVnUI79ir4,6542
34
35
  pyegeria/commands/cat/list_user_ids.py,sha256=7JinL7rknPbGusIb8ikXKEaV1vvbuvx_WWtbmlfS_DY,5093
35
36
  pyegeria/commands/cli/__init__.py,sha256=hpTVSMP2gnPRhcAZPdeUEsQ-eaDySlXlk239dNWYmng,292
36
- pyegeria/commands/cli/egeria.py,sha256=YJvaCIy4LuPH60pGtWpOXSG5WSNQooTAvNYwVPOn2f4,45524
37
- pyegeria/commands/cli/egeria_cat.py,sha256=yaigbUEImJvo5fERLeiRo57rMJQjC5zHeQijHKUTcZg,15804
37
+ pyegeria/commands/cli/egeria.py,sha256=Iidn4XE064na4YZW7UHBHDXj-ENj6GBA_1ipCBlb484,45597
38
+ pyegeria/commands/cli/egeria_cat.py,sha256=p7r6Dahv9gvo_WLPmI1z2giVfbfXdbTlP5BLHtzcg68,16192
38
39
  pyegeria/commands/cli/egeria_my.py,sha256=YsOy1rqDr9MFOoxpleXAo9dMlLI3NfHYf_NobKEdKk8,5888
39
40
  pyegeria/commands/cli/egeria_ops.py,sha256=xw7C63jPgjQaogl7UZZJHoDnMzoZEMwy6oh1px053Cs,12265
40
- pyegeria/commands/cli/egeria_tech.py,sha256=ldbT9LVo1wWLzIAR0sYR-7lFiQhAK5zZrw3SX-7NvUw,15064
41
+ pyegeria/commands/cli/egeria_tech.py,sha256=BbKIGSzZ0soZFg1bZyXsut2C0eI4mLuEyB3Rbla-dFA,15068
41
42
  pyegeria/commands/cli/ops_config.py,sha256=-fTndSzs1zDmWwKk8hu6FMtBwOyXrZKpIemgykhpigI,1379
42
- pyegeria/commands/doc/command-overview.md,sha256=klICxH_Dh7fwp0DCokksfEaiNrMbVlttBSe0t655jMA,10229
43
+ pyegeria/commands/doc/Visual Command Reference/cat/show/assets/Asset-graph 2024-11-20 at 15.56.42.png,sha256=gL7LDmS0OUeDmmmz6ayZL7qbriaos6ryct-2T0D7CIM,769210
44
+ pyegeria/commands/doc/Visual Command Reference/cat/show/assets/Assets-in-domain 2024-11-20 at 15.49.55@2x.png,sha256=Op6NHsqPfYVvpKX46Z-IX8G_Of8rrVtDK34C1MJIJdw,540605
45
+ pyegeria/commands/doc/Visual Command Reference/cat/show/assets/deployed-catalogs 2024-11-20 at 16.17.43@2x.png,sha256=MUgoH6orUk9qUeCv8yEjuQ6sAao3eZyK3DOF4aXfqkw,525598
46
+ pyegeria/commands/doc/Visual Command Reference/cat/show/assets/elements-of-type 2024-11-20 at 16.01.35.png,sha256=NCtzoZau5ANXjNh2IH57htfVvWAtMns87_M_5E9DSQ0,627528
47
+ pyegeria/commands/doc/Visual Command Reference/cat/show/assets/tech-type-elements 2024-11-20 at 16.05.05.png,sha256=-QCu00HYhdkOJqclthiBSVKQuz1qHVothDwng53n_cw,271680
48
+ pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/CleanShot 2024-11-20 at 16.17.43@2x.png,sha256=MUgoH6orUk9qUeCv8yEjuQ6sAao3eZyK3DOF4aXfqkw,525598
49
+ pyegeria/commands/doc/command-overview.md,sha256=XTwDAR_fUrW0A4krMWuXYCZr1NDFiaE_3LH42y9rmr0,11059
43
50
  pyegeria/commands/doc/glossary/basic-glossary-tui.md,sha256=2HoFDMCbIZuh4sBA1xRuu7qHQPyGwWS-JNUm5XNZ8JE,5880
44
51
  pyegeria/commands/doc/glossary/images/delete-glossary-step1 2024-11-06 at 15.47.23@2x.png,sha256=rppVqEwN1ZrSMzyXnsYqDl7fnPs0zTlE7PMmX4VUbQI,203332
45
52
  pyegeria/commands/doc/glossary/images/delete-glossary-step2 2024-11-06 at 15.51.29@2x.png,sha256=tV0h6i1eRAbvAzye8iuWt0eJ14y1Crk9DovaJLGJCSA,299425
@@ -75,8 +82,8 @@ pyegeria/commands/doc/glossary/images/tui-show-glossaries 2024-11-07 at 20.00.05
75
82
  pyegeria/commands/doc/glossary/images/tui-show-glossary-terms 2024-11-05 at 19.37.53@2x.png,sha256=AAq9De5X-Qf_KPKZlHgaBk0nlSsc7Y3wra72L7vzvjs,326972
76
83
  pyegeria/commands/doc/glossary/images/tui-upsert 2024-11-07 at 11.49.04.png,sha256=tLM_fX53WHDL3bALqvTugOsq_v-CcwaLQpJ0325gewE,347024
77
84
  pyegeria/commands/doc/glossary/images/upsert-example.om-terms 2024-11-07 at 11.44.05.png,sha256=h0VE0ybRygOToKYnRplTwXcQlK4H7AzCySO7YEfkKuc,174761
78
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/hey_egeria: overview.md,sha256=kCKj6rYTBj2De4XJYatP2X0m-7iS43r5zUTeLyDEVYE,18950
79
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png,sha256=VAlnHSpnDqCGTIc-IOozARcR6sSl9QNgmhuPOeiM-4s,913730
85
+ pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/hey_egeria: overview.md,sha256=sathRSGN5rpR5iu3hNeTi2jCvHUjVtmTXImv0CtUUwU,19545
86
+ pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png,sha256=7twshXV74tnBr5RWugLZCgijyOl55_ETIraH_X6DLv8,961218
80
87
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731421782704.png,sha256=8lfyO8prtahjTqqT4Uk3HSICipBpf1ly2bXp00csRb8,314990
81
88
  pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731422134920.png,sha256=Ri4xBHuYzsMrOpoq48-3UkfQNLm9coJxLT_LJGNIU80,745535
82
89
  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
@@ -98,7 +105,7 @@ pyegeria/commands/my/list_my_profile.py,sha256=7oZ-rT1WuRSatlthJP_Qlvlgf66z3Petd
98
105
  pyegeria/commands/my/list_my_roles.py,sha256=ItwkKgweF4NIx_5AqkHFTiNHZlXejCgfd0eq5KaehHE,5176
99
106
  pyegeria/commands/my/monitor_my_todos.py,sha256=Sqvvn5rOQsRquPEHmBigJTvrgfHb03kE18UkrCbXoSw,6598
100
107
  pyegeria/commands/my/monitor_open_todos.py,sha256=IlF8Wlj8qSWGcWqKX8H6LyEoihUt6MuJ2bFw505aN2w,5893
101
- pyegeria/commands/my/todo_actions.py,sha256=RPdJ-N3nmHU9jMCBYP0CZZWwZdcvAgMPQdWSwMs5MX4,8372
108
+ pyegeria/commands/my/todo_actions.py,sha256=_yBcXUJoPQZOTauQPcXfosX69V1RYCF9FmkSgcl6B5M,8138
102
109
  pyegeria/commands/ops/README.md,sha256=PJsSDcvMv6E6og6y-cwvxFX5lhCII0UCwgKiM1T17MQ,1595
103
110
  pyegeria/commands/ops/__init__.py,sha256=GyDGBYodxuJ-7k87z2farDs9vhR__RNrYeAe94HWGPM,764
104
111
  pyegeria/commands/ops/gov_server_actions.py,sha256=zdawX-yfPFakc3Xf5V6j7e-csMbRLzJ-tdt_FkIhG34,5689
@@ -110,7 +117,7 @@ pyegeria/commands/ops/monitor_engine_activity.py,sha256=8RX-3znYx-4oWsI8nGFwODkW
110
117
  pyegeria/commands/ops/monitor_engine_activity_c.py,sha256=eW23z4KJyZFj0OCURlFodZ8qhJwepnZQU_dB6Xggk3I,10747
111
118
  pyegeria/commands/ops/monitor_gov_eng_status.py,sha256=nR0xI_8L8W6gOJm8-jp8BaAeOLf1Gd5ikYP43AbJMxo,9094
112
119
  pyegeria/commands/ops/monitor_integ_daemon_status.py,sha256=NQVHJuZfRfSaO7WjZnziI6ckHLCl06ykliJCV_sICOI,11368
113
- pyegeria/commands/ops/monitor_platform_status.py,sha256=E4Qf6m1dv8EqUV1-LAxWAlOrZRqNSXJgJ0i_cczW1aI,6578
120
+ pyegeria/commands/ops/monitor_platform_status.py,sha256=Hy0QxdCm3NzAfhwJgTBuSlunLTrGgKtXr2sPpqKmUr8,7164
114
121
  pyegeria/commands/ops/monitor_server_startup.py,sha256=0pwnhv761uuFHGJXVANa5RhQQPPTXFldJ45TfeT7qfk,3901
115
122
  pyegeria/commands/ops/monitor_server_status.py,sha256=O7iixd-6jzaDO7QrK1JuXLdrDF291YvxLbgLUk3BYQs,6870
116
123
  pyegeria/commands/ops/orig_monitor_server_list.py,sha256=Uhtn8lv7QVXJBi9DSR3Nelmz8TB0vOsat10nFS6Nu20,4637
@@ -118,15 +125,15 @@ pyegeria/commands/ops/orig_monitor_server_status.py,sha256=A-8hMDfbscdcq-b1OD4wK
118
125
  pyegeria/commands/ops/refresh_integration_daemon.py,sha256=WEAeaFAEWLJ055pGfzX6rkn7mq3Z0FYqJ0Xn0z1VjtA,2962
119
126
  pyegeria/commands/ops/restart_integration_daemon.py,sha256=dqsQ6nOBw-EJgf7NvwTcR__h317dq_cxUWYRTGxvWaM,2901
120
127
  pyegeria/commands/ops/table_integ_daemon_status.py,sha256=to93SVOF9tlaG5FpSHV4vZwZQgVoKmj5n-wc3oVQLGU,8414
121
- pyegeria/commands/ops/x_engine_actions.py,sha256=hX6MRiVsX3tRJfQLaA83NnqlvaF1Bv-SlDwACzr3nME,4500
128
+ pyegeria/commands/ops/x_engine_actions.py,sha256=sjoyDJD2_0xQkE2tSlFdBxD2d9C3Nzcy9qi69dWC4Rw,2284
122
129
  pyegeria/commands/tech/README.md,sha256=nxDnfr3BCiGgW5G1VxWxiwUWJXIe5wreNuUeRyIt_hY,1343
123
130
  pyegeria/commands/tech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
131
  pyegeria/commands/tech/get_element_info.py,sha256=Rauespy7ZfyKtLh_H8XWgYTpPijsqlUGm-zeb7KrG7k,4749
125
132
  pyegeria/commands/tech/get_guid_info.py,sha256=HfwcGAFALFIpy4AJAgQHU__Fv1fjprh1G1xB5AjlZ80,4282
126
133
  pyegeria/commands/tech/get_tech_details.py,sha256=p5OgSKep3VOuuZmQXE2OSYhE-kvnI18TBcQ-PU5kEAw,6023
127
134
  pyegeria/commands/tech/get_tech_type_template.py,sha256=gMFVcgCIm09GQu1Vsc5ZUVH9XLhItAG1eVGZJrcnHeQ,6174
135
+ pyegeria/commands/tech/list_anchored_elements.py,sha256=FqC9rcUWfzIXmERQT8V_RrxgujES3fpTbtG-MHooXPc,7415
128
136
  pyegeria/commands/tech/list_asset_types.py,sha256=LG7e8yjewQ_SX8SjzEiEii_-hDvmAJKyLN8iDjbch50,4162
129
- pyegeria/commands/tech/list_element_graph.py,sha256=o_0NgjQmaEmXP1IX65k6ggYPG0qn_H-Q3CRVR09gER8,7399
130
137
  pyegeria/commands/tech/list_elements.py,sha256=vO4SPEhcKm0L5rHVr6r8KYX3sPazGJ78oWsO2wLcf2o,5998
131
138
  pyegeria/commands/tech/list_elements_for_classification.py,sha256=oAge8RFz4z9H-jCE0fBDhS4AbIHqhQWBvZ4Dp7BZbfM,6194
132
139
  pyegeria/commands/tech/list_elements_x.py,sha256=k5jkekB7wh6cbzjn7FnwL7pKrPFq_oE-x36c_Z1FuSo,6500
@@ -162,8 +169,8 @@ pyegeria/template_manager_omvs.py,sha256=heqbKeum5hPCHap4r1RUZU8YB3QaQlxVNbq4GZi
162
169
  pyegeria/utils.py,sha256=1h6bwveadd6GpbnGLTmqPBmBk68QvxdjGTI9RfbrgKY,5415
163
170
  pyegeria/valid_metadata_omvs.py,sha256=tfCGXed5LLt59YA8uZNNtd9UJ-lRZfPU_uZxK31Yux0,65069
164
171
  pyegeria/x_action_author_omvs.py,sha256=xu1IQ0YbhIKi17C5a7Aq9u1Az2czwahNPpX9czmyVxE,6454
165
- pyegeria-1.5.1.1.61.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
166
- pyegeria-1.5.1.1.61.dist-info/METADATA,sha256=LPbV3MEz4VPkgPeKrC53vdWDLASlTN7XuVeGWvjIf74,2975
167
- pyegeria-1.5.1.1.61.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
168
- pyegeria-1.5.1.1.61.dist-info/entry_points.txt,sha256=oG-N-_kcUg7NFj2XchfxtFqsL4d4uOxlGYZOzDta1Pg,5171
169
- pyegeria-1.5.1.1.61.dist-info/RECORD,,
172
+ pyegeria-5.2.0.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
173
+ pyegeria-5.2.0.1.dist-info/METADATA,sha256=w3dGgNojI8yxZVGPhygFVYURLUt9veMB0W6KS0SnTfA,2972
174
+ pyegeria-5.2.0.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
175
+ pyegeria-5.2.0.1.dist-info/entry_points.txt,sha256=JhYgb02izlV2wb7SIfCOMxeVISUd9YJvgDW1-kuHad4,5240
176
+ pyegeria-5.2.0.1.dist-info/RECORD,,
@@ -21,16 +21,17 @@ hey_egeria_cat=pyegeria.commands.cli.egeria_cat:cli
21
21
  hey_egeria_my=pyegeria.commands.cli.egeria_my:cli
22
22
  hey_egeria_ops=pyegeria.commands.cli.egeria_ops:cli
23
23
  hey_egeria_tech=pyegeria.commands.cli.egeria_tech:cli
24
+ list_anchored_elements=pyegeria.commands.tech.list_anchored_elements:main
24
25
  list_archives=pyegeria.commands.ops.list_archives:main
25
26
  list_asset_types=pyegeria.commands.tech.list_asset_types:main
26
27
  list_assets=pyegeria.commands.cat.list_assets:main
27
28
  list_catalog_targets=pyegeria.commands.ops.list_catalog_targets:main
28
29
  list_cert_types=pyegeria.commands.cat.list_cert_types:main
30
+ list_collections=pyegeria.commands.cat.list_collections:main
29
31
  list_deployed_catalogs=pyegeria.commands.cat.list_deployed_catalogs:main
30
32
  list_deployed_databases=pyegeria.commands.cat.list_deployed_databases:main
31
33
  list_deployed_schemas=pyegeria.commands.cat.list_deployed_database_schemas:main
32
34
  list_deployed_servers=pyegeria.commands.cat.list_servers_deployed_imp.py:main
33
- list_element_graph=pyegeria.commands.tech.list_element_graph:main
34
35
  list_elements=pyegeria.commands.tech.list_elements:main
35
36
  list_elements_for_classification=pyegeria.commands.tech.list_elements_for_classification:main
36
37
  list_engine_activity=pyegeria.commands.ops.monitor_engine_activity:main_paging