pyegeria 0.7.23__py3-none-any.whl → 0.7.25__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.
@@ -57,11 +57,12 @@ def list_user_ids(server: str,
57
57
  expand=True,
58
58
  # width=500
59
59
  )
60
-
61
- table.add_column("Qualified Name")
60
+ table.add_column("Name")
61
+ table.add_column("Job Title")
62
+ table.add_column("UserId")
62
63
  table.add_column("Created")
63
64
  table.add_column("GUID", width = 38,no_wrap=True)
64
- table.add_column("UserId")
65
+ table.add_column("Qualified Name")
65
66
 
66
67
 
67
68
  if type(elements) is list:
@@ -71,8 +72,16 @@ def list_user_ids(server: str,
71
72
  el_create_time = header['versions']['createTime'][:-10]
72
73
  el_guid = header['guid']
73
74
  el_user_id = element['properties'].get('userId',"---")
75
+ full_name = ''
76
+ job = ''
77
+
78
+ profile = c_client.get_related_elements(el_guid, 'ProfileIdentity')
79
+ if type(profile) is list:
80
+ for rel in profile:
81
+ full_name = rel['relatedElement']['properties'].get('fullName','---')
82
+ job = rel['relatedElement']['properties'].get('jobTitle','---')
74
83
 
75
- table.add_row(el_q_name, el_create_time, el_guid, el_user_id)
84
+ table.add_row(full_name, job, el_user_id, el_create_time, el_guid, el_q_name,)
76
85
 
77
86
  return table
78
87
  else:
@@ -9,6 +9,7 @@ Execute ToDo actions.
9
9
  """
10
10
  import os
11
11
  import time
12
+ from datetime import datetime
12
13
 
13
14
  import click
14
15
 
@@ -47,7 +48,8 @@ EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
47
48
  @click.option('--description', prompt='Description', help='Brief description of To Do item', required=True)
48
49
  @click.option('--type', prompt='Todo Type', help='Type of Todo', required=True, default='forMe')
49
50
  @click.option('--priority', prompt='Todo Priority', type=int, help='Priority of Todo', required=True, default=0)
50
- @click.option('--due', prompt='Due Date', help='Due date of Todo (yyyy-mm-dd)', required=True)
51
+ @click.option('--due', prompt='Due Date', help='Due date of Todo (yyyy-mm-dd)',
52
+ default = datetime.now().strftime("%Y-%m-%d"), required=True)
51
53
  @click.option('--assigned-to', prompt='Assigned to', help='Party the Todo is assigned to', required=True,
52
54
  default=peter_guid)
53
55
  def create_todo(server, url, userid, password, timeout, name, description, type, priority, due, assigned_to):
@@ -120,11 +122,10 @@ def change_todo_status(server, url, userid, password, timeout, todo_guid, new_st
120
122
  try:
121
123
 
122
124
  body = {
123
- "properties": {
124
125
  "class": "ToDoProperties",
125
126
  "toDoStatus": new_status
126
- },
127
127
  }
128
+
128
129
  m_client.update_to_do(todo_guid, body, is_merge_update=True)
129
130
 
130
131
  click.echo(f"Marked todo item {todo_guid} as complete.")
@@ -148,12 +149,11 @@ def mark_todo_complete(server, url, userid, password, timeout, todo_guid):
148
149
  m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
149
150
  token = m_client.create_egeria_bearer_token()
150
151
  body = {
151
- "properties": {
152
152
  "class": "ToDoProperties",
153
153
  "completionTime": time.asctime(),
154
154
  "toDoStatus": "COMPLETE"
155
- },
156
155
  }
156
+
157
157
  m_client.update_to_do(todo_guid, body, is_merge_update=True)
158
158
 
159
159
  click.echo(f"Marked todo item {todo_guid} as complete.")
@@ -0,0 +1,164 @@
1
+ """This creates a templates guid file from the core metadata archive"""
2
+ from rich.markdown import Markdown
3
+ from rich.prompt import Prompt
4
+ import os
5
+ import argparse
6
+ import time
7
+ import sys
8
+ from rich import box
9
+ from rich.console import Console
10
+ from rich.table import Table
11
+
12
+ from pyegeria import (
13
+ InvalidParameterException,
14
+ PropertyServerException,
15
+ UserNotAuthorizedException,
16
+ print_exception_response,
17
+ ClassificationManager, FeedbackManager
18
+ )
19
+
20
+
21
+ console = Console()
22
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
23
+ EGERIA_KAFKA_ENDPOINT = os.environ.get('KAFKA_ENDPOINT', 'localhost:9092')
24
+ EGERIA_PLATFORM_URL = os.environ.get('EGERIA_PLATFORM_URL', 'https://localhost:9443')
25
+ EGERIA_VIEW_SERVER = os.environ.get('VIEW_SERVER', 'view-server')
26
+ EGERIA_VIEW_SERVER_URL = os.environ.get('EGERIA_VIEW_SERVER_URL', 'https://localhost:9443')
27
+ EGERIA_INTEGRATION_DAEMON = os.environ.get('INTEGRATION_DAEMON', 'integration-daemon')
28
+ EGERIA_ADMIN_USER = os.environ.get('ADMIN_USER', 'garygeeke')
29
+ EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
30
+ EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
31
+ EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
32
+ EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
33
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
34
+
35
+
36
+
37
+ def list_elements_x(om_type:str, server: str,
38
+ url: str, username: str, password: str, jupyter:bool=EGERIA_JUPYTER, width:int = EGERIA_WIDTH
39
+ ):
40
+
41
+ c_client = ClassificationManager(server, url, user_id=username, user_pwd=password)
42
+ token = c_client.create_egeria_bearer_token()
43
+ f_client = FeedbackManager(server, url, user_id=username, user_pwd=password, token=token)
44
+
45
+ elements = c_client.get_elements(om_type)
46
+
47
+ def generate_table() -> Table:
48
+ """Make a new table."""
49
+ table = Table(
50
+ caption=f"Metadata Elements for: {url} - {server} @ {time.asctime()}",
51
+ style="bold bright_white on black",
52
+ row_styles=["bold bright_white on black"],
53
+ header_style="white on dark_blue",
54
+ title_style="bold bright_white on black",
55
+ caption_style="white on black",
56
+ show_lines=True,
57
+ box=box.ROUNDED,
58
+ title=f"Elements for Open Metadata Type: '{om_type}' ",
59
+ expand=True,
60
+ width=width
61
+ )
62
+
63
+ table.add_column("Qualified Name")
64
+ table.add_column("Type")
65
+ table.add_column("Created")
66
+ table.add_column("Home Store")
67
+ table.add_column("GUID", width = 38,no_wrap=True)
68
+ table.add_column("Properties")
69
+ table.add_column('Feedback', min_width=30)
70
+ table.add_column('Public Comments')
71
+
72
+
73
+ if type(elements) is list:
74
+ for element in elements:
75
+ header = element['elementHeader']
76
+ el_q_name = element['properties'].get('qualifiedName',"---")
77
+ el_type = header["type"]['typeName']
78
+ el_home = header['origin']['homeMetadataCollectionName']
79
+ el_create_time = header['versions']['createTime'][:-18]
80
+ el_guid = header['guid']
81
+
82
+ el_props_md = ""
83
+ for prop in element['properties'].keys():
84
+ el_props_md += f"* **{prop}**: {element['properties'][prop]}\n"
85
+
86
+ el_props_out = Markdown(el_props_md)
87
+
88
+ tags = f_client.get_attached_tags(el_guid)
89
+ tags_md = "Tags:\n"
90
+ if type(tags) is list:
91
+ for tag in tags:
92
+ tags_md += (f"* tag: {tag.get('name','---')}\n"
93
+ f"\t description: {tag.get('description','---')}\n"
94
+ f"\t assigned by: {tag.get('user','---')}\n"
95
+ )
96
+
97
+ else:
98
+ tags_md = "---"
99
+
100
+
101
+ likes = f_client.get_attached_likes(el_guid)
102
+ likes_md = "Likes:\b"
103
+ if type(likes) is list:
104
+ for like in likes:
105
+ likes_md += (f"* tag: {like['name']}\n"
106
+ f"* description: {like['description']}\n"
107
+ f"* assigned by: {like['user']}\n"
108
+ f"\n")
109
+
110
+ else:
111
+ likes_md = "---"
112
+
113
+
114
+ feedback_out = f"{tags_md}\n --- \n{likes_md}"
115
+
116
+ comments_out = " "
117
+
118
+
119
+ table.add_row(el_q_name, el_type, el_create_time, el_home, el_guid, el_props_out, feedback_out, comments_out)
120
+
121
+ return table
122
+ else:
123
+ print("No instances found")
124
+ sys.exit(1)
125
+
126
+ try:
127
+ console = Console(width=width, force_terminal=not jupyter)
128
+
129
+ with console.pager(styles=True):
130
+ console.print(generate_table())
131
+
132
+ except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
133
+ print_exception_response(e)
134
+ print("\n\nPerhaps the type name isn't known")
135
+ finally:
136
+ c_client.close_session()
137
+
138
+
139
+ def main():
140
+ parser = argparse.ArgumentParser()
141
+ parser.add_argument("--server", help="Name of the server to display status for")
142
+ parser.add_argument("--url", help="URL Platform to connect to")
143
+ parser.add_argument("--userid", help="User Id")
144
+ parser.add_argument("--password", help="Password")
145
+
146
+ args = parser.parse_args()
147
+
148
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
149
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
150
+ userid = args.userid if args.userid is not None else EGERIA_USER
151
+ password = args.password if args.password is not None else EGERIA_USER_PASSWORD
152
+
153
+ try:
154
+ om_type = Prompt.ask("Enter the Open Metadata Type to find elements of:", default="GlossaryTerm")
155
+ list_elements_x(om_type, server, url, userid, password)
156
+ except(KeyboardInterrupt):
157
+ pass
158
+
159
+
160
+ if __name__ == "__main__":
161
+ main()
162
+
163
+
164
+
@@ -317,7 +317,8 @@ class AutomatedCuration(Client):
317
317
  """
318
318
  body = {"templateGUID": TEMPLATE_GUIDS['FileFolder'], "isOwnAnchor": 'true',
319
319
  "placeholderPropertyValues": {"directoryPathName": path_name, "directoryName": folder_name,
320
- "versionIdentifier": version, "fileSystemName": file_system, "description": description, }}
320
+ "versionIdentifier": version, "fileSystemName": file_system,
321
+ "description": description, }}
321
322
  body_s = body_slimmer(body)
322
323
  response = await self._async_create_element_from_template(body_s, server)
323
324
  return str(response)
@@ -390,7 +391,8 @@ class AutomatedCuration(Client):
390
391
  """
391
392
  body = {"templateGUID": TEMPLATE_GUIDS['Unity Catalog Server'], "isOwnAnchor": 'true',
392
393
  "placeholderPropertyValues": {"serverName": server_name, "hostURL": host_url,
393
- "versionIdentifier": version, "portNumber": port, "description": description, }}
394
+ "versionIdentifier": version, "portNumber": port,
395
+ "description": description, }}
394
396
  body_s = body_slimmer(body)
395
397
  response = await self._async_create_element_from_template(body_s, server)
396
398
  return str(response)
@@ -459,7 +461,7 @@ class AutomatedCuration(Client):
459
461
  """
460
462
  body = {"templateGUID": TEMPLATE_GUIDS['Unity Catalog Catalog'], "isOwnAnchor": 'true',
461
463
  "placeholderPropertyValues": {"ucCatalogName": uc_catalog, "serverNetworkAddress": network_address,
462
- "versionIdentifier": version, "description": description, }}
464
+ "versionIdentifier": version, "description": description, }}
463
465
  body_s = body_slimmer(body)
464
466
  response = await self._async_create_element_from_template(body_s, server)
465
467
  return str(response)
@@ -528,8 +530,8 @@ class AutomatedCuration(Client):
528
530
  """
529
531
  body = {"templateGUID": TEMPLATE_GUIDS['Unity Catalog Schema'], "isOwnAnchor": 'true',
530
532
  "placeholderPropertyValues": {"ucCatalogName": uc_catalog, "ucSchemaName": uc_schema,
531
- "serverNetworkAddress": network_address, "versionIdentifier": version,
532
- "description": description, }}
533
+ "serverNetworkAddress": network_address, "versionIdentifier": version,
534
+ "description": description, }}
533
535
  body_s = body_slimmer(body)
534
536
  response = await self._async_create_element_from_template(body_s, server)
535
537
  return str(response)
@@ -612,9 +614,11 @@ class AutomatedCuration(Client):
612
614
  """
613
615
  body = {"templateGUID": TEMPLATE_GUIDS['Unity Catalog Table'], "isOwnAnchor": 'true',
614
616
  "placeholderPropertyValues": {"ucCatalogName": uc_catalog, "ucSchemaName": uc_schema,
615
- "ucTableName": uc_table, "ucTableType": uc_table_type, "ucStorageLocation": uc_storage_loc,
616
- "ucDataSourceFormat": uc_data_source_format, "serverNetworkAddress": network_address,
617
- "versionIdentifier": version, "description": description, }}
617
+ "ucTableName": uc_table, "ucTableType": uc_table_type,
618
+ "ucStorageLocation": uc_storage_loc,
619
+ "ucDataSourceFormat": uc_data_source_format,
620
+ "serverNetworkAddress": network_address,
621
+ "versionIdentifier": version, "description": description, }}
618
622
  body_s = body_slimmer(body)
619
623
  response = await self._async_create_element_from_template(body_s, server)
620
624
  return str(response)
@@ -700,8 +704,8 @@ class AutomatedCuration(Client):
700
704
  """
701
705
  body = {"templateGUID": TEMPLATE_GUIDS['Unity Catalog Function'], "isOwnAnchor": 'true',
702
706
  "placeholderPropertyValues": {"ucCatalogName": uc_catalog, "ucSchemaName": uc_schema,
703
- "ucFunctionName": uc_function, "serverNetworkAddress": network_address,
704
- "versionIdentifier": version, "description": description, }}
707
+ "ucFunctionName": uc_function, "serverNetworkAddress": network_address,
708
+ "versionIdentifier": version, "description": description, }}
705
709
  body_s = body_slimmer(body)
706
710
  response = await self._async_create_element_from_template(body_s, server)
707
711
  return str(response)
@@ -786,9 +790,10 @@ class AutomatedCuration(Client):
786
790
  """
787
791
  body = {"templateGUID": TEMPLATE_GUIDS['Unity Catalog Volume'], "isOwnAnchor": 'true',
788
792
  "placeholderPropertyValues": {"ucCatalogName": uc_catalog, "ucSchemaName": uc_schema,
789
- "ucVolumeName": uc_volume, "ucVolumeType": uc_vol_type, "ucStorageLocation": uc_storage_loc,
790
- "serverNetworkAddress": network_address, "versionIdentifier": version,
791
- "description": description, }}
793
+ "ucVolumeName": uc_volume, "ucVolumeType": uc_vol_type,
794
+ "ucStorageLocation": uc_storage_loc,
795
+ "serverNetworkAddress": network_address, "versionIdentifier": version,
796
+ "description": description, }}
792
797
  body_s = body_slimmer(body)
793
798
  response = await self._async_create_element_from_template(body_s, server)
794
799
  return str(response)
@@ -2398,9 +2403,6 @@ class AutomatedCuration(Client):
2398
2403
  # response = loop.run_until_complete(self._async_initiate_uc_server_survey(uc_server_guid, server))
2399
2404
  # return response
2400
2405
 
2401
-
2402
-
2403
-
2404
2406
  #
2405
2407
  # Initiate general engine action
2406
2408
  #
@@ -80,11 +80,13 @@ def element_response(response: dict, element_type: str, detailed_response: bool)
80
80
 
81
81
 
82
82
  def elements_response(response: dict, element_type: str, detailed_response: bool):
83
+ if type(response) != dict:
84
+ return('---')
83
85
  if detailed_response:
84
86
  return response
85
87
  else:
86
- return element_property_plus_list(response[element_type])
87
-
88
+ return element_property_plus_list(response.get(element_type,'---'))
89
+ # Todo - review with Kevin...
88
90
 
89
91
  class FeedbackManager(Client):
90
92
  """FeedbackManager is a class that extends the Client class. It
@@ -2276,7 +2278,8 @@ class FeedbackManager(Client):
2276
2278
  )
2277
2279
  url = f"{base_path(self, server_name)}/elements/{element_guid}/likes/retrieve{possible_query_params}"
2278
2280
  response = await self._async_make_request("POST", url, body)
2279
- return elements_response(response.json(), "elementList", detailed_response)
2281
+ # return elements_response(response.json(), "elementList", detailed_response)
2282
+ return response.json().get('ratings','---')
2280
2283
 
2281
2284
  def get_attached_likes(
2282
2285
  self,
@@ -2520,7 +2523,8 @@ class FeedbackManager(Client):
2520
2523
  )
2521
2524
  url = f"{base_path(self, server_name)}/elements/{element_guid}/tags/retrieve{possible_query_params}"
2522
2525
  response = await self._async_make_request("POST", url, body)
2523
- return elements_response(response.json(), "tags", detailed_response)
2526
+ return response.json().get('tags', '---')
2527
+ # return elements_response(response.json(), "tags", detailed_response)
2524
2528
 
2525
2529
  def get_attached_tags(
2526
2530
  self,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 0.7.23
3
+ Version: 0.7.25
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -15,7 +15,7 @@ examples/widgets/cat/list_projects.py,sha256=jP6HoVqGi-w4R1itgdAW1zamPLsgkvjvh8r
15
15
  examples/widgets/cat/list_relationships.py,sha256=lRfnsMUc0KN6Gb3qJoHjAwYGrcvTk3oqQRxln1as9u8,5623
16
16
  examples/widgets/cat/list_tech_types.py,sha256=20T4v6L5qeebSsaL1nGkFMDAIsy2W3A3SMm1RcgFoh0,4609
17
17
  examples/widgets/cat/list_todos.py,sha256=_Pe3h74doX_cOoe0Z5_FvZtETBk3tkw2evfRpRgai5E,6283
18
- examples/widgets/cat/list_user_ids.py,sha256=Nci_3KpLWj3Hcq8mbVcIe-cirV_T5C8A4blMb2iwbss,4232
18
+ examples/widgets/cat/list_user_ids.py,sha256=2FcP6mrZHgbmuU2-QWVGVD5nY6BE-2rMu2UN5_VtLfM,4723
19
19
  examples/widgets/cli/__init__.py,sha256=6d_R0KZBNnJy9EBz9J2xvGFlx-3j_ZPqPCxKgdvYeDQ,291
20
20
  examples/widgets/cli/egeria.py,sha256=Jo1PlADWrjqFVo_ZduEECF-9-wSlJrBYsdM5_MNI0rc,26011
21
21
  examples/widgets/cli/egeria_cat.py,sha256=h029HG863NFocEYiy6hCmIBGdOiLEJQx6WACNXNLUBE,11964
@@ -30,7 +30,7 @@ examples/widgets/my/list_my_roles.py,sha256=DCiNdnoHXQueUE5g73D3oRXfJ6LaUQGbibNt
30
30
  examples/widgets/my/monitor_my_todos.py,sha256=1580SOyq2RPsAyAkRxIpRHRxDvtI1xWfUrxylF6qKH4,6409
31
31
  examples/widgets/my/monitor_open_todos.py,sha256=oYmy5eRA_5BLhtkP8iI6pxci-8y6d13Vcw2F2yLawxY,5407
32
32
  examples/widgets/my/my_profile_actions.py,sha256=SrlC0PSix0b78MCWJdGJAVgai8gbJmYyz1ou2ZVOkIs,3949
33
- examples/widgets/my/todo_actions.py,sha256=a9A0ZJ_Y8zZ15Pdy6Dd5M1JZKS4-SHyiJcD_W7R8SFQ,8241
33
+ examples/widgets/my/todo_actions.py,sha256=TnQuo6JhofCBi1kmsyjTeUyT2Hs3U6IE10cfKBe0xzY,8248
34
34
  examples/widgets/ops/README.md,sha256=PJsSDcvMv6E6og6y-cwvxFX5lhCII0UCwgKiM1T17MQ,1595
35
35
  examples/widgets/ops/__init__.py,sha256=SCfzF3-aMx8EpqLWmH7JQf13gTmMAtHRbg69oseLvi8,480
36
36
  examples/widgets/ops/engine_actions.py,sha256=i0-_wRJqdKARwnEwPQMJvr5bVEGi2WE9Np0_A-o6k3A,2978
@@ -54,6 +54,7 @@ examples/widgets/tech/get_guid_info.py,sha256=p-peTX1Mahi8fNmcNVHOVI3OjqjlJwZjv7
54
54
  examples/widgets/tech/get_tech_details.py,sha256=p5OgSKep3VOuuZmQXE2OSYhE-kvnI18TBcQ-PU5kEAw,6023
55
55
  examples/widgets/tech/list_asset_types.py,sha256=PHPtCXqCHhIw0K59hUvoKdybp6IKPt_9Wc0AJVDtdrg,4181
56
56
  examples/widgets/tech/list_elements.py,sha256=8P2nCtTgBhYZfxFcyG9xL7b1a66o3SU1ny-Yh-BVuII,4730
57
+ examples/widgets/tech/list_elements_x.py,sha256=E5f6hAs4OeCckz9XM8wb5eynPN6eSZrVlWLqVOaWT-c,6079
57
58
  examples/widgets/tech/list_registered_services.py,sha256=TqZbT54vMGvHUAX_bovCce3A3eV_RbjSEtPP6u6ZJV0,6388
58
59
  examples/widgets/tech/list_related_specification.py,sha256=zFOsqR-GB4VUWnZoxmaKWv1-qkI3syRoIC9iIEO6khI,5797
59
60
  examples/widgets/tech/list_relationship_types.py,sha256=0T8Sl7J3WFq_0IQLLzcL0T79pUxVENWNT95Cpjz2ukc,5633
@@ -69,12 +70,12 @@ pyegeria/_globals.py,sha256=1Uc8392wjbiVN5L__RzxC1-U97RMXj77_iUsMSgeAjQ,638
69
70
  pyegeria/_validators.py,sha256=DQuMsATRGxGSBtOrVtXlCgWXGhj6Nh-uqPtCsrUGLxk,12703
70
71
  pyegeria/action_author_omvs.py,sha256=m0wsfmyO-VxRDaPpACeIDw8eVAFu3RVbo45RPCUel9M,6340
71
72
  pyegeria/asset_catalog_omvs.py,sha256=Rlr0RxdJlU6MaapPMGxjqlIqdo46TzNShwx66lTJZvo,25631
72
- pyegeria/automated_curation_omvs.py,sha256=mR8vm4ny4dTjANqsMdAH7NYtZqzH4HkapyBk8FFf7_4,150228
73
+ pyegeria/automated_curation_omvs.py,sha256=P7D0Gh1ptvNEg3tdZVx-cEc_qILOkROw9Vp1oBHrJ40,150793
73
74
  pyegeria/classification_manager_omvs.py,sha256=PzdFm5Sp69QsWeiZ4DAtOfe2BvUXLdSNcj700WEMFgk,184475
74
75
  pyegeria/collection_manager_omvs.py,sha256=aGtzC3P8_YgY2KEzhtO19_H9drStE0hW5hUj-dA7bLo,112649
75
76
  pyegeria/core_omag_server_config.py,sha256=16ld7aBTgO3gGhvFs-_yzwqPsatdCAiKYi005_2evZU,93096
76
77
  pyegeria/create_tech_guid_lists.py,sha256=jClpvURy20o4UV83LOwhGg3TZdHGzfjZ9y0MNZyG2To,4282
77
- pyegeria/feedback_manager_omvs.py,sha256=iDTT-wj1qf-xX9yy2V8eMezR5fDwowv9bQUH4sJofPo,164575
78
+ pyegeria/feedback_manager_omvs.py,sha256=I-Qn7IcrJ5FiSjaC8dIwOmBF8XOCsjl88Anq1xNgyGI,164773
78
79
  pyegeria/full_omag_server_config.py,sha256=l4G0oM6l-axosYACypqNqzkF6wELzs9FgKJwvDMF0Fc,45817
79
80
  pyegeria/glossary_browser_omvs.py,sha256=nUCDSQ8cw8vuYgjfcaj1zLIefVI5j51evxPyXCIc4X8,101716
80
81
  pyegeria/glossary_manager_omvs.py,sha256=MsvsTyyTzLbaIQttfhM-izVP06VsdWAueJiiMeKbVwY,128512
@@ -86,8 +87,8 @@ pyegeria/runtime_manager_omvs.py,sha256=oSVFeG_yBGXIvQR0EClLZqTZ6C5z5ReZzwm8cce8
86
87
  pyegeria/server_operations.py,sha256=1z2wZLdrNZG6HlswY_Eh8qI1mlcjsQ59zO-AMy9XbUU,16605
87
88
  pyegeria/utils.py,sha256=pkVmS3RrbjaS9yz7FtOCwaOfV5FMqz-__Rt5koCnd9c,5374
88
89
  pyegeria/valid_metadata_omvs.py,sha256=aisdRodIwJSkyArAzfm_sEnBELh69xE8k4Nea-vHu8M,36745
89
- pyegeria-0.7.23.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
90
- pyegeria-0.7.23.dist-info/METADATA,sha256=nekxvPNQhDo4S_MU_cFK5p6Rd3D-lfQUJpO3DgeMunc,2775
91
- pyegeria-0.7.23.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
92
- pyegeria-0.7.23.dist-info/entry_points.txt,sha256=22oy5-EM37ldb_-MPtiJygwXU217h8vb2_zT-7vn-yc,3571
93
- pyegeria-0.7.23.dist-info/RECORD,,
90
+ pyegeria-0.7.25.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
91
+ pyegeria-0.7.25.dist-info/METADATA,sha256=chqPgpdQehv6ZysNxRdANXlm1PcMcF_CHhSHaaFYuZM,2775
92
+ pyegeria-0.7.25.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
93
+ pyegeria-0.7.25.dist-info/entry_points.txt,sha256=22oy5-EM37ldb_-MPtiJygwXU217h8vb2_zT-7vn-yc,3571
94
+ pyegeria-0.7.25.dist-info/RECORD,,