pyegeria 0.6.7__py3-none-any.whl → 0.6.8__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.
@@ -3,25 +3,22 @@
3
3
  SPDX-License-Identifier: Apache-2.0
4
4
  Copyright Contributors to the ODPi Egeria project.
5
5
 
6
- A simple viewer for collections - provide the root and we display the hierarchy
6
+ A simple viewer for project structure - provide the root and we display the hierarchy
7
7
 
8
8
  """
9
9
 
10
10
  import argparse
11
11
  import os
12
+
12
13
  from rich import print
14
+ from rich.console import Console
15
+ from rich.markdown import Markdown
13
16
  from rich.panel import Panel
14
17
  from rich.prompt import Prompt
15
- from rich.text import Text
16
18
  from rich.tree import Tree
17
- from rich.markdown import Markdown
18
- from rich.console import Console
19
19
 
20
- from pyegeria import (ProjectManager, MyProfile, UserNotAuthorizedException, PropertyServerException,
21
- InvalidParameterException)
22
- from pyegeria._exceptions import (
23
- print_exception_response,
24
- )
20
+ from pyegeria import (ProjectManager, UserNotAuthorizedException, PropertyServerException, InvalidParameterException)
21
+ from pyegeria._exceptions import (print_exception_response, )
25
22
 
26
23
  disable_ssl_warnings = True
27
24
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
@@ -37,10 +34,13 @@ EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
37
34
  EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
38
35
  EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
39
36
 
37
+
40
38
  def project_structure_viewer(root: str, server_name: str, platform_url: str, user: str, user_password: str,
41
- jupyter:bool=EGERIA_JUPYTER, width:int = EGERIA_WIDTH):
39
+ jupyter: bool = EGERIA_JUPYTER, width: int = EGERIA_WIDTH, timeout: int = 30):
42
40
  """ A simple collection viewer"""
43
- def walk_project_hierarchy(project_client: ProjectManager, project_name: str, tree: Tree, root:bool = False) -> None:
41
+
42
+ def walk_project_hierarchy(project_client: ProjectManager, project_name: str, tree: Tree,
43
+ root: bool = False) -> None:
44
44
  """Recursively build a Tree with collection contents."""
45
45
  t = None
46
46
  style = "bright_white on black"
@@ -50,12 +50,12 @@ def project_structure_viewer(root: str, server_name: str, platform_url: str, use
50
50
  proj_guid = project[0]['elementHeader']['guid']
51
51
  proj_props = project[0]['properties']
52
52
 
53
- proj_type = proj_props.get('typeName','---')
53
+ proj_type = proj_props.get('typeName', '---')
54
54
  proj_unique = proj_props.get('qualifiedName', '---')
55
55
  proj_identifier = proj_props.get('identifier', '---')
56
- proj_name = proj_props.get('name','---')
57
- proj_desc = proj_props.get('description','---')
58
- proj_status = proj_props.get('projectStatus','---')
56
+ proj_name = proj_props.get('name', '---')
57
+ proj_desc = proj_props.get('description', '---')
58
+ proj_status = proj_props.get('projectStatus', '---')
59
59
  proj_priority = proj_props.get('priority', '---')
60
60
  proj_start = proj_props.get('startDate', '---')[:-10]
61
61
  proj_props_md = (f"* Name: {proj_name}\n"
@@ -79,66 +79,31 @@ def project_structure_viewer(root: str, server_name: str, platform_url: str, use
79
79
  proj_props_md += f"\n### Team Members\n {member_md}"
80
80
 
81
81
  proj_props_out = Markdown(proj_props_md)
82
- p = Panel(proj_props_out, style = style, title=project_name)
82
+ p = Panel(proj_props_out, style=style, title=project_name)
83
83
  t = tree.add(p)
84
84
 
85
-
86
85
  linked_projects = project_client.get_linked_projects(proj_guid)
87
86
  if type(linked_projects) is list:
88
87
  for proj in linked_projects:
89
88
  child_md = ""
90
89
  child_guid = proj['elementHeader']['guid']
91
90
  child_name = proj['properties']['name']
92
- # child_props = proj['properties']
93
- # for key in child_props.keys():
94
- # child_md += f"* {key}: {child_props[key]}\n"
95
- # child_md += f"* GUID: {child_guid}"
96
91
  walk_project_hierarchy(project_client, child_name, t)
97
92
 
98
93
  else:
99
94
  return t
100
- # tt= tree.add(f"[bold magenta on black]No projects match {root_project_name}")
101
-
102
- #
103
- # branch = tt.add(f"[bold magenta on black]Members", style=style, guide_style=style)
104
- # walk_collection_hierarchy(collection_client, member['qualifiedName'], branch),
105
-
106
- # members = project_client.get_member_list(root_project_name)
107
- # if members:
108
- # for member in members:
109
- # style = "bold white on black"
110
- # text_collection_name = Text(f"[bold white on black]Name: {member['name']}", style=style)
111
- # text_qualified_name = Text(f"* QualifiedName: {member['qualifiedName']}")
112
- # text_guid = Text(f"* GUID: {member['guid']}", "green")
113
- # text_collection_type = Text(f"* Collection Type: {member['collectionType']}")
114
- # text_description = Text(f"* Description: {member['description']}")
115
- # p = Panel.fit(f"{text_collection_name}[green]\n{text_qualified_name}\n{text_guid}\n"
116
- # f"{text_collection_type}\n{text_description}")
117
- # tt = tree.add(p, style=style)
118
- #
119
- #
120
- # linked_projects = project_client.get_linked_projects()
121
- # if type(children) is list:
122
- # branch = tt.add(f"[bold magenta on black]Members", style=style, guide_style=style)
123
- # walk_collection_hierarchy(collection_client, member['qualifiedName'], branch),
124
- # else:
125
- # tt = tree.add(f"[bold magenta on black]No collections match {root_collection_name}")
95
+
126
96
  try:
127
- console = Console(width=EGERIA_WIDTH)
128
- tree = Tree(f"[bold bright green on black]{root}",guide_style="bold bright_blue")
129
- p_client = ProjectManager(server_name, platform_url,
130
- user_id=user)
97
+ console = Console(width=width, force_terminal=not jupyter)
98
+ tree = Tree(f"[bold bright green on black]{root}", guide_style="bold bright_blue")
99
+ p_client = ProjectManager(server_name, platform_url, user_id=user)
131
100
 
132
- token1= p_client.create_egeria_bearer_token(user, user_password)
101
+ token1 = p_client.create_egeria_bearer_token(user, user_password)
133
102
 
134
- walk_project_hierarchy(p_client,root, tree, root = True)
103
+ walk_project_hierarchy(p_client, root, tree, root=True)
135
104
  print(tree)
136
105
 
137
- except (
138
- InvalidParameterException,
139
- PropertyServerException,
140
- UserNotAuthorizedException
141
- ) as e:
106
+ except (InvalidParameterException, PropertyServerException, UserNotAuthorizedException) as e:
142
107
  print_exception_response(e)
143
108
 
144
109
 
@@ -161,5 +126,7 @@ def main():
161
126
  project_structure_viewer(root_project, server, url, userid, user_pass)
162
127
  except (KeyboardInterrupt):
163
128
  pass
129
+
130
+
164
131
  if __name__ == "__main__":
165
- main()
132
+ main()
@@ -50,7 +50,7 @@ def display_certifications(search_string: str, server: str, url: str, username:
50
50
  console = Console(width=width, force_terminal=not jupyter, soft_wrap=True)
51
51
  if (search_string is None) or ((len(search_string) < 3)) and (search_string != '*'):
52
52
  raise ValueError("Invalid Search String - must be greater than four characters long")
53
- g_client = ClassificationManager(server, url, user_id=username,user_pwd=user_password )
53
+ g_client = ClassificationManager(server, url, user_id=username,user_pwd=user_password)
54
54
  token = g_client.create_egeria_bearer_token(username, user_password)
55
55
 
56
56
 
@@ -12,6 +12,8 @@ This is an emerging capability based on the **click** package. Feedback welcome!
12
12
  import click
13
13
  from trogon import tui
14
14
 
15
+ from examples.widgets.cat.get_project_structure import project_structure_viewer
16
+ from examples.widgets.cat.list_cert_types import display_certifications
15
17
  from examples.widgets.cat.get_asset_graph import asset_viewer
16
18
  from examples.widgets.cat.get_collection import collection_viewer
17
19
  from examples.widgets.cat.get_tech_type_elements import tech_viewer
@@ -22,6 +24,7 @@ from examples.widgets.cat.list_projects import display_project_list
22
24
  from examples.widgets.cat.list_tech_types import display_tech_types
23
25
  from examples.widgets.cat.list_todos import display_to_dos
24
26
  from examples.widgets.cli.ops_config import Config
27
+
25
28
  from examples.widgets.ops.engine_actions import start_server as start_engine_host, \
26
29
  stop_server as stop_engine_host
27
30
  from examples.widgets.ops.integration_daemon_actions import (add_catalog_target, remove_catalog_target,
@@ -361,6 +364,29 @@ def show_tech_type_templates(ctx, tech_type):
361
364
  template_viewer(tech_type, c.view_server, c.view_server_url, c.userid,
362
365
  c.password, c.jupyter, c.width)
363
366
 
367
+ @show.command('certification-types')
368
+ @click.option('--search-string', default = 'CertificationType', help="")
369
+ @click.pass_context
370
+ def show_certification_types(ctx, search_string):
371
+ """Show certification types
372
+ - generally stay with the default..
373
+ """
374
+ c = ctx.obj
375
+ display_certifications(search_string, c.view_server, c.view_server_url, c.userid,
376
+ c.password, c.timeout, c.jupyter, c.width)
377
+
378
+ @show.command('project-structure')
379
+ @click.option('--project', default = 'Clinical Trials Management',
380
+ help="Enter the root project to start from")
381
+ @click.pass_context
382
+ def show_project_structure(ctx, project):
383
+ """Show the structure of the project starting from a root project"""
384
+ c = ctx.obj
385
+ project_structure_viewer(project, c.view_server, c.view_server_url, c.userid,
386
+ c.password, c.jupyter, c.width, c.timeout)
387
+
388
+
389
+
364
390
 
365
391
  @show.command('assets')
366
392
  @click.argument('search-string')
@@ -21,6 +21,8 @@ from examples.widgets.cat.list_glossary import display_glossary_terms
21
21
  from examples.widgets.cat.list_tech_types import display_tech_types
22
22
  from examples.widgets.cat.list_projects import display_project_list
23
23
  from examples.widgets.cat.list_todos import display_to_dos
24
+ from examples.widgets.cat.get_project_structure import project_structure_viewer
25
+ from examples.widgets.cat.list_cert_types import display_certifications
24
26
 
25
27
  # from pyegeria import ServerOps
26
28
  from examples.widgets.cli.ops_config import Config
@@ -188,6 +190,28 @@ def show_projects(ctx, search_string):
188
190
  display_project_list(search_string, c.view_server, c.view_server_url, c.userid,
189
191
  c.password, False,c.jupyter, c.width)
190
192
 
193
+ @show.command('certification-types')
194
+ @click.option('--search-string', default = 'CertificationType', help="")
195
+ @click.pass_context
196
+ def show_certification_types(ctx, search_string):
197
+ """Show certification types
198
+ - generally stay with the default..
199
+ """
200
+ c = ctx.obj
201
+ display_certifications(search_string, c.view_server, c.view_server_url, c.userid,
202
+ c.password, c.timeout, c.jupyter, c.width)
203
+
204
+ @show.command('project-structure')
205
+ @click.option('--project', default = 'Clinical Trials Management',
206
+ help="Enter the root project to start from")
207
+ @click.pass_context
208
+ def show_project_structure(ctx, project):
209
+ """Show the structure of the project starting from a root project"""
210
+ c = ctx.obj
211
+ project_structure_viewer(project, c.view_server, c.view_server_url, c.userid,
212
+ c.password, c.jupyter, c.width, c.timeout)
213
+
214
+
191
215
 
192
216
  @show.command('to-dos')
193
217
  @click.option('--search-string', default='*',
@@ -45,48 +45,48 @@ def base_path(client, view_server: str):
45
45
  return f"{client.platform_url}/servers/{view_server}/api/open-metadata/classification-manager"
46
46
 
47
47
 
48
- def extract_relationships_plus(element):
49
- type_name = element["relatedElement"]["type"]["typeName"]
50
- guid = element["relationshipHeader"]["guid"]
51
- properties = element["relationshipProperties"]["propertiesAsStrings"]
52
- name = element["relatedElement"]["uniqueName"]
53
- return {"name": name, "typeName": type_name, "guid": guid, "properties": properties}
54
-
55
-
56
- def extract_related_elements_list(element_list):
57
- return [extract_relationships_plus(element) for element in element_list]
58
-
59
-
60
- def related_elements_response(response: dict, detailed_response: bool):
61
- if detailed_response:
62
- return response
63
- else:
64
- return extract_related_elements_list(response["elements"])
65
-
66
-
67
- def element_properties_plus(element):
68
- props_plus = element["properties"]
69
- props_plus.update({"guid": element["elementHeader"]["guid"]})
70
- props_plus.update({"versions": element["elementHeader"]["versions"]})
71
- return props_plus
72
-
73
-
74
- def element_property_plus_list(element_list):
75
- return [element_properties_plus(element) for element in element_list]
76
-
77
-
78
- def element_response(response: dict, element_type: str, detailed_response: bool):
79
- if detailed_response:
80
- return response
81
- else:
82
- return element_properties_plus(response[element_type])
83
-
84
-
85
- def elements_response(response: dict, element_type: str, detailed_response: bool):
86
- if detailed_response:
87
- return response
88
- else:
89
- return element_property_plus_list(response[element_type])
48
+ # def extract_relationships_plus(element):
49
+ # type_name = element["relatedElement"]["type"]["typeName"]
50
+ # guid = element["relationshipHeader"]["guid"]
51
+ # properties = element["relationshipProperties"]["propertiesAsStrings"]
52
+ # name = element["relatedElement"]["uniqueName"]
53
+ # return {"name": name, "typeName": type_name, "guid": guid, "properties": properties}
54
+ #
55
+ #
56
+ # def extract_related_elements_list(element_list):
57
+ # return [extract_relationships_plus(element) for element in element_list]
58
+ #
59
+ #
60
+ # def related_elements_response(response: dict, detailed_response: bool):
61
+ # if detailed_response:
62
+ # return response
63
+ # else:
64
+ # return extract_related_elements_list(response["elements"])
65
+ #
66
+ #
67
+ # def element_properties_plus(element):
68
+ # props_plus = element["properties"]
69
+ # props_plus.update({"guid": element["elementHeader"]["guid"]})
70
+ # props_plus.update({"versions": element["elementHeader"]["versions"]})
71
+ # return props_plus
72
+ #
73
+ #
74
+ # def element_property_plus_list(element_list):
75
+ # return [element_properties_plus(element) for element in element_list]
76
+ #
77
+ #
78
+ # def element_response(response: dict, element_type: str, detailed_response: bool):
79
+ # if detailed_response:
80
+ # return response
81
+ # else:
82
+ # return element_properties_plus(response[element_type])
83
+ #
84
+ #
85
+ # def elements_response(response: dict, element_type: str, detailed_response: bool):
86
+ # if detailed_response:
87
+ # return response
88
+ # else:
89
+ # return element_property_plus_list(response[element_type])
90
90
 
91
91
 
92
92
  class ClassificationManager(Client):
@@ -121,6 +121,8 @@ class ClassificationManager(Client):
121
121
  #
122
122
  # Get elements
123
123
  #
124
+
125
+
124
126
  async def _async_get_elements(self, open_metadata_type_name: str = None, effective_time: str = None,
125
127
  for_lineage: bool = None, for_duplicate_processing: bool = None, start_from: int = 0,
126
128
  page_size: int = max_paging_size, server_name: str = None, time_out: int = default_time_out) -> list | str:
@@ -1828,3 +1830,718 @@ class ClassificationManager(Client):
1828
1830
  return response
1829
1831
 
1830
1832
 
1833
+ #
1834
+ # Classification CRUD
1835
+ #
1836
+
1837
+ async def _async_set_confidence_classification(self, element_guid: str, body: dict,
1838
+ for_lineage: bool = None, for_duplicate_processing: bool = None, server_name: str = None,
1839
+ time_out: int = default_time_out) -> None:
1840
+ """
1841
+ Classify/reclassify the element (typically an asset) to indicate the level of confidence that the organization
1842
+ has that the data is complete, accurate and up-to-date. The level of confidence is expressed by the
1843
+ levelIdentifier property. Async version.
1844
+
1845
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
1846
+
1847
+ Parameters
1848
+ ----------
1849
+ element_guid: str
1850
+ - the identity of the element to update
1851
+ body: dict
1852
+ - a dictionary structure containing the properties to set - see note below
1853
+ for_lineage: bool, default is set by server
1854
+ - determines if elements classified as Memento should be returned - normally false
1855
+ for_duplicate_processing: bool, default is set by server
1856
+ - Normally false. Set true when the caller is part of a deduplication function
1857
+ server_name: str, default = None
1858
+ - name of the server instances for this request.
1859
+ time_out: int, default = default_time_out
1860
+ - http request timeout for this request
1861
+
1862
+ Returns
1863
+ -------
1864
+ [dict] | str
1865
+ Returns a string if no elements found and a list of dict of elements with the results.
1866
+
1867
+ Raises
1868
+ ------
1869
+ InvalidParameterException
1870
+ one of the parameters is null or invalid or
1871
+ PropertyServerException
1872
+ There is a problem adding the element properties to the metadata repository or
1873
+ UserNotAuthorizedException
1874
+ the requesting user is not authorized to issue this request.
1875
+
1876
+ Note:
1877
+
1878
+ A sample dict structure is:
1879
+
1880
+ {
1881
+ "class" : "ClassificationRequestBody",
1882
+ "effectiveTime" : "an-isoTimestamp",
1883
+ "properties" : {
1884
+ "class" : "GovernanceClassificationProperties",
1885
+ "levelIdentifier" : 0,
1886
+ "status" : 0,
1887
+ "confidence" : 0,
1888
+ "steward" : "Add value here",
1889
+ "stewardTypeName" : "Add value here",
1890
+ "stewardPropertyName" : "Add value here",
1891
+ "source" : "Add value here",
1892
+ "notes" : "Add value here"
1893
+ }
1894
+ }
1895
+
1896
+ """
1897
+ if server_name is None:
1898
+ server_name = self.server_name
1899
+
1900
+ possible_query_params = query_string(
1901
+ [ ("forLineage", for_lineage), ("forDuplicateProcessing", for_duplicate_processing)])
1902
+
1903
+
1904
+ url = (f"{base_path(self, server_name)}/elements/{element_guid}/confidence"
1905
+ f"{possible_query_params}"
1906
+ )
1907
+
1908
+ await self._async_make_request("POST", url, body_slimmer(body), time_out=time_out)
1909
+
1910
+
1911
+ def set_confidence_classification(self, element_guid: str, body: dict, for_lineage: bool = None,
1912
+ for_duplicate_processing: bool = None,
1913
+ server_name: str = None, time_out: int = default_time_out) -> None:
1914
+ """
1915
+ Classify/reclassify the element (typically an asset) to indicate the level of confidence that the organization
1916
+ has that the data is complete, accurate and up-to-date. The level of confidence is expressed by the
1917
+ levelIdentifier property.
1918
+
1919
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
1920
+
1921
+ Parameters
1922
+ ----------
1923
+ element_guid: str
1924
+ - the identity of the element to update
1925
+ body: dict
1926
+ - a dictionary structure containing the properties to set - see note below
1927
+ for_lineage: bool, default is set by server
1928
+ - determines if elements classified as Memento should be returned - normally false
1929
+ for_duplicate_processing: bool, default is set by server
1930
+ - Normally false. Set true when the caller is part of a deduplication function
1931
+ server_name: str, default = None
1932
+ - name of the server instances for this request.
1933
+ time_out: int, default = default_time_out
1934
+ - http request timeout for this request
1935
+
1936
+ Returns
1937
+ -------
1938
+ [dict] | str
1939
+ Returns a string if no elements found and a list of dict of elements with the results.
1940
+
1941
+ Raises
1942
+ ------
1943
+ InvalidParameterException
1944
+ one of the parameters is null or invalid or
1945
+ PropertyServerException
1946
+ There is a problem adding the element properties to the metadata repository or
1947
+ UserNotAuthorizedException
1948
+ the requesting user is not authorized to issue this request.
1949
+
1950
+ Note:
1951
+
1952
+ A sample dict structure is:
1953
+
1954
+ {
1955
+ "class" : "ClassificationRequestBody",
1956
+ "effectiveTime" : "an-isoTimestamp",
1957
+ "properties" : {
1958
+ "class" : "GovernanceClassificationProperties",
1959
+ "levelIdentifier" : 0,
1960
+ "status" : 0,
1961
+ "confidence" : 0,
1962
+ "steward" : "Add value here",
1963
+ "stewardTypeName" : "Add value here",
1964
+ "stewardPropertyName" : "Add value here",
1965
+ "source" : "Add value here",
1966
+ "notes" : "Add value here"
1967
+ }
1968
+ }
1969
+
1970
+ """
1971
+
1972
+ loop = asyncio.get_event_loop()
1973
+ loop.run_until_complete(
1974
+ self._async_set_confidence_classification(element_guid, body, for_lineage, for_duplicate_processing,
1975
+ server_name, time_out))
1976
+
1977
+
1978
+ async def _async_clear_confidence_classification(self, element_guid: str,
1979
+ for_lineage: bool = None, for_duplicate_processing: bool = None,
1980
+ server_name: str = None,
1981
+ time_out: int = default_time_out) -> None:
1982
+ """
1983
+ Remove the confidence classification from the element. This normally occurs when the organization has lost
1984
+ track of the level of confidence to assign to the element. Async Version.
1985
+
1986
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
1987
+
1988
+ Parameters
1989
+ ----------
1990
+ element_guid: str
1991
+ - the identity of the element to update
1992
+ for_lineage: bool, default is set by server
1993
+ - determines if elements classified as Memento should be returned - normally false
1994
+ for_duplicate_processing: bool, default is set by server
1995
+ - Normally false. Set true when the caller is part of a deduplication function
1996
+ server_name: str, default = None
1997
+ - name of the server instances for this request.
1998
+ time_out: int, default = default_time_out
1999
+ - http request timeout for this request
2000
+
2001
+ Returns
2002
+ -------
2003
+ [dict] | str
2004
+ Returns a string if no elements found and a list of dict of elements with the results.
2005
+
2006
+ Raises
2007
+ ------
2008
+ InvalidParameterException
2009
+ one of the parameters is null or invalid or
2010
+ PropertyServerException
2011
+ There is a problem adding the element properties to the metadata repository or
2012
+ UserNotAuthorizedException
2013
+ the requesting user is not authorized to issue this request.
2014
+
2015
+
2016
+ """
2017
+ if server_name is None:
2018
+ server_name = self.server_name
2019
+
2020
+ possible_query_params = query_string(
2021
+ [("forLineage", for_lineage), ("forDuplicateProcessing", for_duplicate_processing)])
2022
+
2023
+ url = (f"{base_path(self, server_name)}/elements/{element_guid}/confidence/remove"
2024
+ f"{possible_query_params}"
2025
+ )
2026
+
2027
+ await self._async_make_request("POST", url, time_out=time_out)
2028
+
2029
+ def clear_confidence_classification(self, element_guid: str, for_lineage: bool = None,
2030
+ for_duplicate_processing: bool = None,
2031
+ server_name: str = None, time_out: int = default_time_out) -> None:
2032
+ """
2033
+ Remove the confidence classification from the element. This normally occurs when the organization has lost
2034
+ track of the level of confidence to assign to the element.
2035
+
2036
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
2037
+
2038
+ Parameters
2039
+ ----------
2040
+ element_guid: str
2041
+ - the identity of the element to update
2042
+ for_lineage: bool, default is set by server
2043
+ - determines if elements classified as Memento should be returned - normally false
2044
+ for_duplicate_processing: bool, default is set by server
2045
+ - Normally false. Set true when the caller is part of a deduplication function
2046
+ server_name: str, default = None
2047
+ - name of the server instances for this request.
2048
+ time_out: int, default = default_time_out
2049
+ - http request timeout for this request
2050
+
2051
+ Returns
2052
+ -------
2053
+ [dict] | str
2054
+ Returns a string if no elements found and a list of dict of elements with the results.
2055
+
2056
+ Raises
2057
+ ------
2058
+ InvalidParameterException
2059
+ one of the parameters is null or invalid or
2060
+ PropertyServerException
2061
+ There is a problem adding the element properties to the metadata repository or
2062
+ UserNotAuthorizedException
2063
+ the requesting user is not authorized to issue this request.
2064
+
2065
+
2066
+ """
2067
+
2068
+ loop = asyncio.get_event_loop()
2069
+ loop.run_until_complete(
2070
+ self._async_clear_confidence_classification(element_guid, for_lineage, for_duplicate_processing,
2071
+ server_name, time_out))
2072
+
2073
+ async def _async_set_confidentiality_classification(self, element_guid: str, body: dict,
2074
+ for_lineage: bool = None, for_duplicate_processing: bool = None,
2075
+ server_name: str = None,
2076
+ time_out: int = default_time_out) -> None:
2077
+ """
2078
+ Classify/reclassify the element (typically a data field, schema attribute or glossary term) to indicate the
2079
+ level of confidentiality that any data associated with the element should be given. If the classification is
2080
+ attached to a glossary term, the level of confidentiality is a suggestion for any element linked to the
2081
+ glossary term via the SemanticAssignment classification. The level of confidence is expressed by the
2082
+ levelIdentifier property. Async version.
2083
+
2084
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
2085
+
2086
+ Parameters
2087
+ ----------
2088
+ element_guid: str
2089
+ - the identity of the element to update
2090
+ body: dict
2091
+ - a dictionary structure containing the properties to set - see note below
2092
+ for_lineage: bool, default is set by server
2093
+ - determines if elements classified as Memento should be returned - normally false
2094
+ for_duplicate_processing: bool, default is set by server
2095
+ - Normally false. Set true when the caller is part of a deduplication function
2096
+ server_name: str, default = None
2097
+ - name of the server instances for this request.
2098
+ time_out: int, default = default_time_out
2099
+ - http request timeout for this request
2100
+
2101
+ Returns
2102
+ -------
2103
+ [dict] | str
2104
+ Returns a string if no elements found and a list of dict of elements with the results.
2105
+
2106
+ Raises
2107
+ ------
2108
+ InvalidParameterException
2109
+ one of the parameters is null or invalid or
2110
+ PropertyServerException
2111
+ There is a problem adding the element properties to the metadata repository or
2112
+ UserNotAuthorizedException
2113
+ the requesting user is not authorized to issue this request.
2114
+
2115
+ Note:
2116
+
2117
+ A sample dict structure is:
2118
+
2119
+ {
2120
+ "class" : "ClassificationRequestBody",
2121
+ "effectiveTime" : "an-isoTimestamp",
2122
+ "properties" : {
2123
+ "class" : "GovernanceClassificationProperties",
2124
+ "levelIdentifier" : 0,
2125
+ "status" : 0,
2126
+ "confidentiality" : 0,
2127
+ "steward" : "Add value here",
2128
+ "stewardTypeName" : "Add value here",
2129
+ "stewardPropertyName" : "Add value here",
2130
+ "source" : "Add value here",
2131
+ "notes" : "Add value here"
2132
+ }
2133
+ }
2134
+
2135
+ """
2136
+ if server_name is None:
2137
+ server_name = self.server_name
2138
+
2139
+ possible_query_params = query_string(
2140
+ [("forLineage", for_lineage), ("forDuplicateProcessing", for_duplicate_processing)])
2141
+
2142
+ url = (f"{base_path(self, server_name)}/elements/{element_guid}/confidentiality"
2143
+ f"{possible_query_params}"
2144
+ )
2145
+
2146
+ await self._async_make_request("POST", url, body_slimmer(body), time_out=time_out)
2147
+
2148
+ def set_confidentiality_classification(self, element_guid: str, body: dict, for_lineage: bool = None,
2149
+ for_duplicate_processing: bool = None,
2150
+ server_name: str = None, time_out: int = default_time_out) -> None:
2151
+ """
2152
+ Classify/reclassify the element (typically a data field, schema attribute or glossary term) to indicate the
2153
+ level of confidentiality that any data associated with the element should be given. If the classification is
2154
+ attached to a glossary term, the level of confidentiality is a suggestion for any element linked to the
2155
+ glossary term via the SemanticAssignment classification. The level of confidence is expressed by the
2156
+ levelIdentifier property.
2157
+
2158
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
2159
+
2160
+ Parameters
2161
+ ----------
2162
+ element_guid: str
2163
+ - the identity of the element to update
2164
+ body: dict
2165
+ - a dictionary structure containing the properties to set - see note below
2166
+ for_lineage: bool, default is set by server
2167
+ - determines if elements classified as Memento should be returned - normally false
2168
+ for_duplicate_processing: bool, default is set by server
2169
+ - Normally false. Set true when the caller is part of a deduplication function
2170
+ server_name: str, default = None
2171
+ - name of the server instances for this request.
2172
+ time_out: int, default = default_time_out
2173
+ - http request timeout for this request
2174
+
2175
+ Returns
2176
+ -------
2177
+ [dict] | str
2178
+ Returns a string if no elements found and a list of dict of elements with the results.
2179
+
2180
+ Raises
2181
+ ------
2182
+ InvalidParameterException
2183
+ one of the parameters is null or invalid or
2184
+ PropertyServerException
2185
+ There is a problem adding the element properties to the metadata repository or
2186
+ UserNotAuthorizedException
2187
+ the requesting user is not authorized to issue this request.
2188
+
2189
+ Note:
2190
+
2191
+ A sample dict structure is:
2192
+
2193
+ {
2194
+ "class" : "ClassificationRequestBody",
2195
+ "effectiveTime" : "an-isoTimestamp",
2196
+ "properties" : {
2197
+ "class" : "GovernanceClassificationProperties",
2198
+ "levelIdentifier" : 0,
2199
+ "status" : 0,
2200
+ "confidentiality" : 0,
2201
+ "steward" : "Add value here",
2202
+ "stewardTypeName" : "Add value here",
2203
+ "stewardPropertyName" : "Add value here",
2204
+ "source" : "Add value here",
2205
+ "notes" : "Add value here"
2206
+ }
2207
+ }
2208
+
2209
+ """
2210
+
2211
+ loop = asyncio.get_event_loop()
2212
+ loop.run_until_complete(
2213
+ self._async_set_confidentiality_classification(element_guid, body, for_lineage, for_duplicate_processing,
2214
+ server_name, time_out))
2215
+
2216
+ async def _async_clear_confidentiality_classification(self, element_guid: str,
2217
+ for_lineage: bool = None,
2218
+ for_duplicate_processing: bool = None,
2219
+ server_name: str = None,
2220
+ time_out: int = default_time_out) -> None:
2221
+ """
2222
+ Remove the confidentiality classification from the element. This normally occurs when the organization has lost
2223
+ track of the level of confidentiality to assign to the element. Async Version.
2224
+
2225
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
2226
+
2227
+ Parameters
2228
+ ----------
2229
+ element_guid: str
2230
+ - the identity of the element to update
2231
+ for_lineage: bool, default is set by server
2232
+ - determines if elements classified as Memento should be returned - normally false
2233
+ for_duplicate_processing: bool, default is set by server
2234
+ - Normally false. Set true when the caller is part of a deduplication function
2235
+ server_name: str, default = None
2236
+ - name of the server instances for this request.
2237
+ time_out: int, default = default_time_out
2238
+ - http request timeout for this request
2239
+
2240
+ Returns
2241
+ -------
2242
+ [dict] | str
2243
+ Returns a string if no elements found and a list of dict of elements with the results.
2244
+
2245
+ Raises
2246
+ ------
2247
+ InvalidParameterException
2248
+ one of the parameters is null or invalid or
2249
+ PropertyServerException
2250
+ There is a problem adding the element properties to the metadata repository or
2251
+ UserNotAuthorizedException
2252
+ the requesting user is not authorized to issue this request.
2253
+
2254
+
2255
+ """
2256
+ if server_name is None:
2257
+ server_name = self.server_name
2258
+
2259
+ possible_query_params = query_string(
2260
+ [("forLineage", for_lineage), ("forDuplicateProcessing", for_duplicate_processing)])
2261
+
2262
+ url = (f"{base_path(self, server_name)}/elements/{element_guid}/confidentiality/remove"
2263
+ f"{possible_query_params}"
2264
+ )
2265
+
2266
+ await self._async_make_request("POST", url, time_out=time_out)
2267
+
2268
+ def clear_confidentiality_classification(self, element_guid: str, for_lineage: bool = None,
2269
+ for_duplicate_processing: bool = None,
2270
+ server_name: str = None, time_out: int = default_time_out) -> list | str:
2271
+ """
2272
+ Remove the confidentiality classification from the element. This normally occurs when the organization has lost
2273
+ track of the level of confidentiality to assign to the element.
2274
+
2275
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
2276
+
2277
+ Parameters
2278
+ ----------
2279
+ element_guid: str
2280
+ - the identity of the element to update
2281
+ for_lineage: bool, default is set by server
2282
+ - determines if elements classified as Memento should be returned - normally false
2283
+ for_duplicate_processing: bool, default is set by server
2284
+ - Normally false. Set true when the caller is part of a deduplication function
2285
+ server_name: str, default = None
2286
+ - name of the server instances for this request.
2287
+ time_out: int, default = default_time_out
2288
+ - http request timeout for this request
2289
+
2290
+ Returns
2291
+ -------
2292
+ [dict] | str
2293
+ Returns a string if no elements found and a list of dict of elements with the results.
2294
+
2295
+ Raises
2296
+ ------
2297
+ InvalidParameterException
2298
+ one of the parameters is null or invalid or
2299
+ PropertyServerException
2300
+ There is a problem adding the element properties to the metadata repository or
2301
+ UserNotAuthorizedException
2302
+ the requesting user is not authorized to issue this request.
2303
+
2304
+
2305
+ """
2306
+
2307
+ loop = asyncio.get_event_loop()
2308
+ loop.run_until_complete(
2309
+ self._async_clear_confidentiality_classification(element_guid, for_lineage, for_duplicate_processing,
2310
+ server_name, time_out))
2311
+
2312
+
2313
+ async def _async_set_criticality_classification(self, element_guid: str, body: dict,
2314
+ for_lineage: bool = None, for_duplicate_processing: bool = None,
2315
+ server_name: str = None,
2316
+ time_out: int = default_time_out) -> None:
2317
+ """
2318
+ Classify/reclassify the element (typically an asset) to indicate how critical the element (or
2319
+ associated resource) is to the organization. The level of criticality is expressed by the levelIdentifier
2320
+ property. Async version.
2321
+
2322
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
2323
+
2324
+ Parameters
2325
+ ----------
2326
+ element_guid: str
2327
+ - the identity of the element to update
2328
+ body: dict
2329
+ - a dictionary structure containing the properties to set - see note below
2330
+ for_lineage: bool, default is set by server
2331
+ - determines if elements classified as Memento should be returned - normally false
2332
+ for_duplicate_processing: bool, default is set by server
2333
+ - Normally false. Set true when the caller is part of a deduplication function
2334
+ server_name: str, default = None
2335
+ - name of the server instances for this request.
2336
+ time_out: int, default = default_time_out
2337
+ - http request timeout for this request
2338
+
2339
+ Returns
2340
+ -------
2341
+ [dict] | str
2342
+ Returns a string if no elements found and a list of dict of elements with the results.
2343
+
2344
+ Raises
2345
+ ------
2346
+ InvalidParameterException
2347
+ one of the parameters is null or invalid or
2348
+ PropertyServerException
2349
+ There is a problem adding the element properties to the metadata repository or
2350
+ UserNotAuthorizedException
2351
+ the requesting user is not authorized to issue this request.
2352
+
2353
+ Note:
2354
+
2355
+ A sample dict structure is:
2356
+
2357
+ {
2358
+ "class" : "ClassificationRequestBody",
2359
+ "effectiveTime" : "an-isoTimestamp",
2360
+ "properties" : {
2361
+ "class" : "GovernanceClassificationProperties",
2362
+ "levelIdentifier" : 0,
2363
+ "status" : 0,
2364
+ "criticality" : 0,
2365
+ "steward" : "Add value here",
2366
+ "stewardTypeName" : "Add value here",
2367
+ "stewardPropertyName" : "Add value here",
2368
+ "source" : "Add value here",
2369
+ "notes" : "Add value here"
2370
+ }
2371
+ }
2372
+
2373
+ """
2374
+ if server_name is None:
2375
+ server_name = self.server_name
2376
+
2377
+ possible_query_params = query_string(
2378
+ [("forLineage", for_lineage), ("forDuplicateProcessing", for_duplicate_processing)])
2379
+
2380
+ url = (f"{base_path(self, server_name)}/elements/{element_guid}/criticality"
2381
+ f"{possible_query_params}"
2382
+ )
2383
+
2384
+ await self._async_make_request("POST", url, body_slimmer(body), time_out=time_out)
2385
+
2386
+ def set_criticality_classification(self, element_guid: str, body: dict, for_lineage: bool = None,
2387
+ for_duplicate_processing: bool = None,
2388
+ server_name: str = None, time_out: int = default_time_out) -> None:
2389
+ """
2390
+ Classify/reclassify the element (typically an asset) to indicate how critical the element (or
2391
+ associated resource) is to the organization. The level of criticality is expressed by the levelIdentifier
2392
+ property.
2393
+
2394
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
2395
+
2396
+ Parameters
2397
+ ----------
2398
+ element_guid: str
2399
+ - the identity of the element to update
2400
+ body: dict
2401
+ - a dictionary structure containing the properties to set - see note below
2402
+ for_lineage: bool, default is set by server
2403
+ - determines if elements classified as Memento should be returned - normally false
2404
+ for_duplicate_processing: bool, default is set by server
2405
+ - Normally false. Set true when the caller is part of a deduplication function
2406
+ server_name: str, default = None
2407
+ - name of the server instances for this request.
2408
+ time_out: int, default = default_time_out
2409
+ - http request timeout for this request
2410
+
2411
+ Returns
2412
+ -------
2413
+ [dict] | str
2414
+ Returns a string if no elements found and a list of dict of elements with the results.
2415
+
2416
+ Raises
2417
+ ------
2418
+ InvalidParameterException
2419
+ one of the parameters is null or invalid or
2420
+ PropertyServerException
2421
+ There is a problem adding the element properties to the metadata repository or
2422
+ UserNotAuthorizedException
2423
+ the requesting user is not authorized to issue this request.
2424
+
2425
+ Note:
2426
+
2427
+ A sample dict structure is:
2428
+
2429
+ {
2430
+ "class" : "ClassificationRequestBody",
2431
+ "effectiveTime" : "an-isoTimestamp",
2432
+ "properties" : {
2433
+ "class" : "GovernanceClassificationProperties",
2434
+ "levelIdentifier" : 0,
2435
+ "status" : 0,
2436
+ "criticality" : 0,
2437
+ "steward" : "Add value here",
2438
+ "stewardTypeName" : "Add value here",
2439
+ "stewardPropertyName" : "Add value here",
2440
+ "source" : "Add value here",
2441
+ "notes" : "Add value here"
2442
+ }
2443
+ }
2444
+
2445
+ """
2446
+
2447
+ loop = asyncio.get_event_loop()
2448
+ loop.run_until_complete(
2449
+ self._async_set_criticality_classification(element_guid, body, for_lineage, for_duplicate_processing,
2450
+ server_name, time_out))
2451
+
2452
+ async def _async_clear_criticality_classification(self, element_guid: str,
2453
+ for_lineage: bool = None,
2454
+ for_duplicate_processing: bool = None,
2455
+ server_name: str = None,
2456
+ time_out: int = default_time_out) -> None:
2457
+ """
2458
+ Remove the criticality classification from the element. This normally occurs when the organization has lost
2459
+ track of the level of criticality to assign to the element. Async Version.
2460
+
2461
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
2462
+
2463
+ Parameters
2464
+ ----------
2465
+ element_guid: str
2466
+ - the identity of the element to update
2467
+ for_lineage: bool, default is set by server
2468
+ - determines if elements classified as Memento should be returned - normally false
2469
+ for_duplicate_processing: bool, default is set by server
2470
+ - Normally false. Set true when the caller is part of a deduplication function
2471
+ server_name: str, default = None
2472
+ - name of the server instances for this request.
2473
+ time_out: int, default = default_time_out
2474
+ - http request timeout for this request
2475
+
2476
+ Returns
2477
+ -------
2478
+ [dict] | str
2479
+ Returns a string if no elements found and a list of dict of elements with the results.
2480
+
2481
+ Raises
2482
+ ------
2483
+ InvalidParameterException
2484
+ one of the parameters is null or invalid or
2485
+ PropertyServerException
2486
+ There is a problem adding the element properties to the metadata repository or
2487
+ UserNotAuthorizedException
2488
+ the requesting user is not authorized to issue this request.
2489
+
2490
+
2491
+ """
2492
+ if server_name is None:
2493
+ server_name = self.server_name
2494
+
2495
+ possible_query_params = query_string(
2496
+ [("forLineage", for_lineage), ("forDuplicateProcessing", for_duplicate_processing)])
2497
+
2498
+ url = (f"{base_path(self, server_name)}/elements/{element_guid}/criticality/remove"
2499
+ f"{possible_query_params}"
2500
+ )
2501
+
2502
+ await self._async_make_request("POST", url, time_out=time_out)
2503
+
2504
+ def clear_criticality_classification(self, element_guid: str, for_lineage: bool = None,
2505
+ for_duplicate_processing: bool = None,
2506
+ server_name: str = None, time_out: int = default_time_out) -> list | str:
2507
+ """
2508
+ Remove the criticality classification from the element. This normally occurs when the organization has lost
2509
+ track of the level of criticality to assign to the element.
2510
+
2511
+ Governance Action Classifications: https://egeria-project.org/types/4/0422-Governance-Action-Classifications/
2512
+
2513
+ Parameters
2514
+ ----------
2515
+ element_guid: str
2516
+ - the identity of the element to update
2517
+ for_lineage: bool, default is set by server
2518
+ - determines if elements classified as Memento should be returned - normally false
2519
+ for_duplicate_processing: bool, default is set by server
2520
+ - Normally false. Set true when the caller is part of a deduplication function
2521
+ server_name: str, default = None
2522
+ - name of the server instances for this request.
2523
+ time_out: int, default = default_time_out
2524
+ - http request timeout for this request
2525
+
2526
+ Returns
2527
+ -------
2528
+ [dict] | str
2529
+ Returns a string if no elements found and a list of dict of elements with the results.
2530
+
2531
+ Raises
2532
+ ------
2533
+ InvalidParameterException
2534
+ one of the parameters is null or invalid or
2535
+ PropertyServerException
2536
+ There is a problem adding the element properties to the metadata repository or
2537
+ UserNotAuthorizedException
2538
+ the requesting user is not authorized to issue this request.
2539
+
2540
+
2541
+ """
2542
+
2543
+ loop = asyncio.get_event_loop()
2544
+ loop.run_until_complete(
2545
+ self._async_clear_criticality_classification(element_guid, for_lineage, for_duplicate_processing,
2546
+ server_name, time_out))
2547
+ ## Add governance stuff
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 0.6.7
3
+ Version: 0.6.8
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -4,18 +4,18 @@ examples/widgets/cat/README.md,sha256=-aaAnIT2fcfU63vajgB-RzQk4l4yFdhkyVfSaTPiqR
4
4
  examples/widgets/cat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  examples/widgets/cat/get_asset_graph.py,sha256=Q23n_svJBii58hgaMPLpliN8wqKl4yhnhCCk2IU2nvM,11168
6
6
  examples/widgets/cat/get_collection.py,sha256=DBZ5-XkoYsz4WmMSPz0Ao0wz3DlAUQve89KI26-44nc,4613
7
- examples/widgets/cat/get_project_structure.py,sha256=WHKfoOmqMOVq7KqwNQhLSVS4VH5XxUoVOPdjydvxrso,7564
7
+ examples/widgets/cat/get_project_structure.py,sha256=-ruR649KZoyxJxiITUd9YFq9kn_uxcnybqVTa_7iiic,5692
8
8
  examples/widgets/cat/get_tech_type_elements.py,sha256=SvnDWfBIA1NzpkKZj4-ZapIeM2SEhe5jJt7rTkvTzaA,6129
9
9
  examples/widgets/cat/get_tech_type_template.py,sha256=gMFVcgCIm09GQu1Vsc5ZUVH9XLhItAG1eVGZJrcnHeQ,6174
10
10
  examples/widgets/cat/list_assets.py,sha256=imVun2GB3zoEjaQxKJVGcalI7yZv5Dg_ksb7tYCIVLE,6476
11
- examples/widgets/cat/list_cert_types.py,sha256=6FmVoNVKz6TRaxQ0XR8IySRCvwKV03wOoY_bSwLgFdU,7005
11
+ examples/widgets/cat/list_cert_types.py,sha256=-FEftRK36pOAXYr8OprvL6T_FcRyVtgfqzSKX74XC5o,7004
12
12
  examples/widgets/cat/list_glossary.py,sha256=zljSzVKYysFZVmVhHJt0fYFDmAG9azIphOs4MOIfA7g,5395
13
13
  examples/widgets/cat/list_projects.py,sha256=jP6HoVqGi-w4R1itgdAW1zamPLsgkvjvh8reRj0v10Q,7432
14
14
  examples/widgets/cat/list_tech_types.py,sha256=20T4v6L5qeebSsaL1nGkFMDAIsy2W3A3SMm1RcgFoh0,4609
15
15
  examples/widgets/cat/list_todos.py,sha256=wD9HevGcc4G_bxV25VUz1rRssdZHE33mF5zmJ6Lprt8,5522
16
16
  examples/widgets/cli/__init__.py,sha256=6d_R0KZBNnJy9EBz9J2xvGFlx-3j_ZPqPCxKgdvYeDQ,291
17
- examples/widgets/cli/egeria.py,sha256=jZtQeE9Yzp16t0q6PNAB0LYVoVN6tlSzUvByoCaNR7s,21850
18
- examples/widgets/cli/egeria_cat.py,sha256=JRLQB0pbYmPYzjlJb_rJAzdZy7-2NWzEH_v-ImKdkKY,9246
17
+ examples/widgets/cli/egeria.py,sha256=t56SnK1vm_PHh13pB19HqfOgAuZz33s-rQwMabsVed8,22907
18
+ examples/widgets/cli/egeria_cat.py,sha256=f9KxOPAEFbeEtSAdk_czcBDLqCKsHkrpdiBuDDo-iUw,10301
19
19
  examples/widgets/cli/egeria_my.py,sha256=xi2j1hzNnjDruJeR1qa8K9JPDgzaL_COsMkcieT4Vo8,5653
20
20
  examples/widgets/cli/egeria_ops.py,sha256=ZOIQdpRZ5VgL282OpjNVmXvxxmmVxnOaEGF0sNIpzF0,10011
21
21
  examples/widgets/cli/egeria_tech.py,sha256=C7eooVyjHTYwA-aEEaeqJgDgJRdmiK0M3dca70bNZYQ,8901
@@ -62,7 +62,7 @@ pyegeria/_validators.py,sha256=DQuMsATRGxGSBtOrVtXlCgWXGhj6Nh-uqPtCsrUGLxk,12703
62
62
  pyegeria/action_author_omvs.py,sha256=m0wsfmyO-VxRDaPpACeIDw8eVAFu3RVbo45RPCUel9M,6340
63
63
  pyegeria/asset_catalog_omvs.py,sha256=Rlr0RxdJlU6MaapPMGxjqlIqdo46TzNShwx66lTJZvo,25631
64
64
  pyegeria/automated_curation_omvs.py,sha256=7mBOXnq06zf1TB3vzo2FPUw2GRLZKKYT2MDQkPxDokk,121332
65
- pyegeria/classification_manager_omvs.py,sha256=LIrzw7_Ff5gmyeWPR4ClATPgn3PSE2v2Im4gC8L0l-w,86002
65
+ pyegeria/classification_manager_omvs.py,sha256=-W0gj485ZFLB-jNDQnVdcS3JVFJtKICu1WrJJAmFyhU,117153
66
66
  pyegeria/collection_manager_omvs.py,sha256=aGtzC3P8_YgY2KEzhtO19_H9drStE0hW5hUj-dA7bLo,112649
67
67
  pyegeria/core_omag_server_config.py,sha256=16ld7aBTgO3gGhvFs-_yzwqPsatdCAiKYi005_2evZU,93096
68
68
  pyegeria/create_tech_guid_lists.py,sha256=jClpvURy20o4UV83LOwhGg3TZdHGzfjZ9y0MNZyG2To,4282
@@ -78,8 +78,8 @@ pyegeria/runtime_manager_omvs.py,sha256=oSVFeG_yBGXIvQR0EClLZqTZ6C5z5ReZzwm8cce8
78
78
  pyegeria/server_operations.py,sha256=ZX7FlJRrAC7RK4bq4wHWepEsYbbWlqkUZdsJrTplVVU,16534
79
79
  pyegeria/utils.py,sha256=pkVmS3RrbjaS9yz7FtOCwaOfV5FMqz-__Rt5koCnd9c,5374
80
80
  pyegeria/valid_metadata_omvs.py,sha256=aisdRodIwJSkyArAzfm_sEnBELh69xE8k4Nea-vHu8M,36745
81
- pyegeria-0.6.7.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
82
- pyegeria-0.6.7.dist-info/METADATA,sha256=ttWbyY0bkzXaPV4tApSY5u_cgK7KHxZu1KVQUojQjuc,2774
83
- pyegeria-0.6.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
84
- pyegeria-0.6.7.dist-info/entry_points.txt,sha256=tgDYOGHc_YWRsrz0kyvouqOTdrHgiITKzF3GLVV-GvQ,2727
85
- pyegeria-0.6.7.dist-info/RECORD,,
81
+ pyegeria-0.6.8.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
82
+ pyegeria-0.6.8.dist-info/METADATA,sha256=mBa3Vj74k1IYA5CLVgNH4WQktwn3bTTVqjweZDLGQbE,2774
83
+ pyegeria-0.6.8.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
84
+ pyegeria-0.6.8.dist-info/entry_points.txt,sha256=tgDYOGHc_YWRsrz0kyvouqOTdrHgiITKzF3GLVV-GvQ,2727
85
+ pyegeria-0.6.8.dist-info/RECORD,,