pyegeria 0.6.3__py3-none-any.whl → 0.6.4__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 0.6.3
3
+ Version: 0.6.4
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,6 +21,8 @@ Requires-Dist: jupyter (>=1.0.0,<2.0.0)
21
21
  Requires-Dist: pytest (>=8.2.2,<9.0.0)
22
22
  Requires-Dist: requests (>=2.32.3,<3.0.0)
23
23
  Requires-Dist: rich (>=13.7.1,<14.0.0)
24
+ Requires-Dist: textual (>=0.75.1,<0.76.0)
25
+ Requires-Dist: textual-forms (>=0.3.0,<0.4.0)
24
26
  Requires-Dist: trogon (>=0.5.0,<0.6.0)
25
27
  Requires-Dist: urllib3 (>=2.2.2,<3.0.0)
26
28
  Requires-Dist: validators (>=0.32.0,<0.33.0)
@@ -8,7 +8,7 @@ examples/widgets/cat/get_tech_type_elements.py,sha256=SvnDWfBIA1NzpkKZj4-ZapIeM2
8
8
  examples/widgets/cat/get_tech_type_template.py,sha256=gMFVcgCIm09GQu1Vsc5ZUVH9XLhItAG1eVGZJrcnHeQ,6174
9
9
  examples/widgets/cat/list_assets.py,sha256=imVun2GB3zoEjaQxKJVGcalI7yZv5Dg_ksb7tYCIVLE,6476
10
10
  examples/widgets/cat/list_glossary.py,sha256=zljSzVKYysFZVmVhHJt0fYFDmAG9azIphOs4MOIfA7g,5395
11
- examples/widgets/cat/list_projects.py,sha256=PoXNBbDQ2KmPQG03z7cOykCJIYj3-6hJA0Rv9f8Bq84,6507
11
+ examples/widgets/cat/list_projects.py,sha256=pFXjP_OjfLqR0hQuJl90u8Y7T0Z0YdVZazrcUwPVGaE,6510
12
12
  examples/widgets/cat/list_tech_types.py,sha256=20T4v6L5qeebSsaL1nGkFMDAIsy2W3A3SMm1RcgFoh0,4609
13
13
  examples/widgets/cat/list_todos.py,sha256=wD9HevGcc4G_bxV25VUz1rRssdZHE33mF5zmJ6Lprt8,5522
14
14
  examples/widgets/cli/__init__.py,sha256=6d_R0KZBNnJy9EBz9J2xvGFlx-3j_ZPqPCxKgdvYeDQ,291
@@ -33,7 +33,7 @@ examples/widgets/ops/list_catalog_targets.py,sha256=H0Igj_s7nhAV0vJUb0Np7DlJtAz3
33
33
  examples/widgets/ops/load_archive.py,sha256=duf3wq2ANRBiOj9KTFsw8TseEkJLKdzITAeTCjsMvI0,2453
34
34
  examples/widgets/ops/monitor_asset_events.py,sha256=cjdlVqE0XYnoRW3aorNbsVkjByDXefPBnllaZLelGls,3838
35
35
  examples/widgets/ops/monitor_coco_status.py,sha256=ERz3OJ0TXImNKHGD4gJvgT3pl2gS23ewAdUuYVLUhEE,3299
36
- examples/widgets/ops/monitor_engine_activity.py,sha256=5ceNWogsJqKTxerBRWK68T4Qr5OcqnqZF1ERqFnYbGk,7282
36
+ examples/widgets/ops/monitor_engine_activity.py,sha256=Q86OwJmqqVKJXACdZ2q8qyEcTy7K3N6Zhv6dCPmuwaU,7869
37
37
  examples/widgets/ops/monitor_gov_eng_status.py,sha256=cVRtA1Ub9uGf4fic1FnMwmzCwNEnU7joCqsjsiAZ7bg,5912
38
38
  examples/widgets/ops/monitor_integ_daemon_status.py,sha256=E3HO6ZCAv4CBZFHhxqpa7brRG3jfw3ZubwUkRfRySwo,8766
39
39
  examples/widgets/ops/monitor_platform_status.py,sha256=mgEeRjv2mIRBUxusHqeQGeoOp8Ehlk2IX-t3qtLKFqs,6123
@@ -50,21 +50,21 @@ examples/widgets/tech/list_registered_services.py,sha256=TqZbT54vMGvHUAX_bovCce3
50
50
  examples/widgets/tech/list_relationship_types.py,sha256=0T8Sl7J3WFq_0IQLLzcL0T79pUxVENWNT95Cpjz2ukc,5633
51
51
  examples/widgets/tech/list_tech_templates.py,sha256=RiyA8a4fIL9BGeGf37Bkk471mK5ECkDJMN9QVNReC1M,6192
52
52
  examples/widgets/tech/list_valid_metadata_values.py,sha256=64z5tr-0VD-mPTFmr6FT76gj4MXJZLWTxT4oeIiUaiU,6043
53
- pyegeria/Xfeedback_manager_omvs.py,sha256=uNQMOPG08UyIuLzBfYt4uezDyLWdpBgJ2ZuvqumaWuY,9231
54
53
  pyegeria/Xloaded_resources_omvs.py,sha256=cseWZTIwNhkzhZ0fhujI66DslNAQcjuwsz_p1GRmSPQ,3392
55
- pyegeria/__init__.py,sha256=8qGKb9ff4JaEC16SkP-60yKMdkxEBF3aEJCSjR_OfPo,7611
54
+ pyegeria/__init__.py,sha256=RNkQeblUJGmnCY7U8l8xMhivpVzMcXRBafxDAzxG6Lc,7714
56
55
  pyegeria/_client.py,sha256=mTK3qqaxwrwn4OiIKZkSkMVEsHPJsHxKmfz1LK_FgEg,26308
57
56
  pyegeria/_deprecated_gov_engine.py,sha256=_DAEHsksnTKGqL9-TaaMVrfnNOrvatNACfg7pJ-ZX4w,17600
58
57
  pyegeria/_exceptions.py,sha256=NJ7vAhmvusK1ENvY2MMrBB6A6TgpYjzS9QJxFH56b8c,18470
59
- pyegeria/_globals.py,sha256=DF6851qHPpoDrY4w5JGmT-8zmMfVXf9MMG6nKlu-BYM,616
58
+ pyegeria/_globals.py,sha256=1Uc8392wjbiVN5L__RzxC1-U97RMXj77_iUsMSgeAjQ,638
60
59
  pyegeria/_validators.py,sha256=DQuMsATRGxGSBtOrVtXlCgWXGhj6Nh-uqPtCsrUGLxk,12703
61
60
  pyegeria/action_author_omvs.py,sha256=m0wsfmyO-VxRDaPpACeIDw8eVAFu3RVbo45RPCUel9M,6340
62
- pyegeria/asset_catalog_omvs.py,sha256=ckEpASyz1yjiMyYtGh0teHdzEBRDOb52IReZdq8EMEo,25904
61
+ pyegeria/asset_catalog_omvs.py,sha256=Rlr0RxdJlU6MaapPMGxjqlIqdo46TzNShwx66lTJZvo,25631
63
62
  pyegeria/automated_curation_omvs.py,sha256=7mBOXnq06zf1TB3vzo2FPUw2GRLZKKYT2MDQkPxDokk,121332
63
+ pyegeria/classification_manager_omvs.py,sha256=LIrzw7_Ff5gmyeWPR4ClATPgn3PSE2v2Im4gC8L0l-w,86002
64
64
  pyegeria/collection_manager_omvs.py,sha256=aGtzC3P8_YgY2KEzhtO19_H9drStE0hW5hUj-dA7bLo,112649
65
65
  pyegeria/core_omag_server_config.py,sha256=16ld7aBTgO3gGhvFs-_yzwqPsatdCAiKYi005_2evZU,93096
66
66
  pyegeria/create_tech_guid_lists.py,sha256=jClpvURy20o4UV83LOwhGg3TZdHGzfjZ9y0MNZyG2To,4282
67
- pyegeria/feedback_manager_omvs.py,sha256=YDFZMCG8t6FeU3k7H_of4qjX4o1CBU1Ubil2DtZl8PA,162192
67
+ pyegeria/feedback_manager_omvs.py,sha256=iDTT-wj1qf-xX9yy2V8eMezR5fDwowv9bQUH4sJofPo,164575
68
68
  pyegeria/full_omag_server_config.py,sha256=l4G0oM6l-axosYACypqNqzkF6wELzs9FgKJwvDMF0Fc,45817
69
69
  pyegeria/glossary_browser_omvs.py,sha256=nUCDSQ8cw8vuYgjfcaj1zLIefVI5j51evxPyXCIc4X8,101716
70
70
  pyegeria/glossary_manager_omvs.py,sha256=AyTNBeOwa7ISOkpjzHHEtpiFzFo0ykcEQ525h_wqfMM,133328
@@ -76,8 +76,8 @@ pyegeria/runtime_manager_omvs.py,sha256=oSVFeG_yBGXIvQR0EClLZqTZ6C5z5ReZzwm8cce8
76
76
  pyegeria/server_operations.py,sha256=ZX7FlJRrAC7RK4bq4wHWepEsYbbWlqkUZdsJrTplVVU,16534
77
77
  pyegeria/utils.py,sha256=pkVmS3RrbjaS9yz7FtOCwaOfV5FMqz-__Rt5koCnd9c,5374
78
78
  pyegeria/valid_metadata_omvs.py,sha256=aisdRodIwJSkyArAzfm_sEnBELh69xE8k4Nea-vHu8M,36745
79
- pyegeria-0.6.3.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
80
- pyegeria-0.6.3.dist-info/METADATA,sha256=hObNRmeRVPsEIoF3-Cb4CflsQ3YBrXkzApdadx7Lgbs,2686
81
- pyegeria-0.6.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
82
- pyegeria-0.6.3.dist-info/entry_points.txt,sha256=Up_rwJL9Rnmsp4Lp5433ctUMb6qR9uTQc7e5tVkcXFg,2599
83
- pyegeria-0.6.3.dist-info/RECORD,,
79
+ pyegeria-0.6.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
80
+ pyegeria-0.6.4.dist-info/METADATA,sha256=0MjuQgAF2P8S0TonF0zw01gDKvQT9NAG1M_gx37rfZQ,2774
81
+ pyegeria-0.6.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
82
+ pyegeria-0.6.4.dist-info/entry_points.txt,sha256=Up_rwJL9Rnmsp4Lp5433ctUMb6qR9uTQc7e5tVkcXFg,2599
83
+ pyegeria-0.6.4.dist-info/RECORD,,
@@ -1,238 +0,0 @@
1
- """
2
- SPDX-License-Identifier: Apache-2.0
3
- Copyright Contributors to the ODPi Egeria project.
4
-
5
- Feedback Manager View Service Methods - Add comments, reviews, tags and notes to elements of interest.
6
-
7
- This work is being actively developed..
8
-
9
- """
10
- import asyncio
11
- from datetime import datetime
12
-
13
- from httpx import Response
14
-
15
- from pyegeria import Client, max_paging_size, body_slimmer
16
- from pyegeria._exceptions import (
17
- InvalidParameterException,
18
- )
19
- from ._validators import validate_name, validate_guid, validate_search_string
20
-
21
-
22
- class FeedbackManager(Client):
23
- """ Set up and maintain automation services in Egeria.
24
-
25
- Attributes:
26
- server_name : str
27
- The name of the View Server to use.
28
- platform_url : str
29
- URL of the server platform to connect to
30
- user_id : str
31
- The identity of the user calling the method - this sets a default optionally used by the methods
32
- when the user doesn't pass the user_id on a method call.
33
- user_pwd: str
34
- The password associated with the user_id. Defaults to None
35
- verify_flag: bool
36
- Flag to indicate if SSL Certificates should be verified in the HTTP requests.
37
- Defaults to False.
38
-
39
- """
40
-
41
- def __init__(
42
- self,
43
- server_name: str,
44
- platform_url: str,
45
- user_id: str,
46
- user_pwd: str = None,
47
- verify_flag: bool = False,
48
- ):
49
- Client.__init__(self, server_name, platform_url, user_id, user_pwd, verify_flag)
50
- self.cur_command_root = f"{platform_url}/servers/"
51
-
52
-
53
- async def _async_get_comment_by_guid(self, comment_guid: str, view_server: str, server: str = None,
54
- access_service: str = 'asset-manager',for_lineage: bool = False,
55
- for_duplicate_processing: bool = False, effective_time: str = None) -> dict:
56
- """ Create a new metadata element from a template. Async version.
57
- Parameters
58
- ----------
59
- body : str
60
- The json body used to instantiate the template.
61
- server : str, optional
62
- The name of the view server to use. If not provided, the default server name will be used.
63
-
64
- Returns
65
- -------
66
- Response
67
- The guid of the resulting element
68
-
69
- Raises
70
- ------
71
- InvalidParameterException
72
- PropertyServerException
73
- UserNotAuthorizedException
74
-
75
- Notes
76
- -----
77
-
78
- """
79
-
80
- server = self.server_name if server is None else server
81
-
82
- url = f"{self.platform_url}/servers/{server}/api/open-metadata/automated-curation/catalog-templates/new-element"
83
- response = await self._async_make_request("POST", url)
84
- return response.json().get("guid", "GUID failed to be returned")
85
-
86
- def get_comment_by_guid(self, comment_guid: str, view_server: str, server: str = None,
87
- access_service: str = 'asset-manager',for_lineage: bool = False,
88
- for_duplicate_processing: bool = False, effective_time: str = None) -> dict:
89
- """ Create a new metadata element from a template. Async version.
90
- Parameters
91
- ----------
92
- body : str
93
- The json body used to instantiate the template.
94
- server : str, optional
95
- The name of the view server to use. If not provided, the default server name will be used.
96
-
97
- Returns
98
- -------
99
- Response
100
- The guid of the resulting element
101
-
102
- Raises
103
- ------
104
- InvalidParameterException
105
- PropertyServerException
106
- UserNotAuthorizedException
107
-
108
- Notes
109
- -----
110
- See also: https://egeria-project.org/features/templated-cataloguing/overview/
111
- The full description of the body is shown below:
112
- {
113
- "typeName" : "",
114
- "initialStatus" : "",
115
- "initialClassifications" : "",
116
- "anchorGUID" : "",
117
- "isOwnAnchor" : "",
118
- "effectiveFrom" : "",
119
- "effectiveTo" : "",
120
- "templateGUID" : "",
121
- "templateProperties" : {},
122
- "placeholderPropertyValues" : {
123
- "placeholderPropertyName1" : "placeholderPropertyValue1",
124
- "placeholderPropertyName2" : "placeholderPropertyValue2"
125
- },
126
- "parentGUID" : "",
127
- "parentRelationshipTypeName" : "",
128
- "parentRelationshipProperties" : "",
129
- "parentAtEnd1" : "",
130
- "effectiveTime" : ""
131
- }
132
- """
133
- loop = asyncio.get_event_loop()
134
- response = loop.run_until_complete(
135
- self._async_get_comment_by_guid(comment_guid, view_server,server,access_service,
136
- for_lineage,for_duplicate_processing,effective_time)
137
- )
138
- return response
139
-
140
- async def _async_add_comment_to_reply(self, comment_guid: str, view_server: str, comment: str, server: str = None,
141
- access_service: str = 'asset-manager', is_public: bool = False,
142
- for_lineage: bool = False, for_duplicate_processing: bool = False,
143
- effective_time: str = None) -> str:
144
- """ Add a reply to a comment. Async version.
145
- See also: https://egeria-project.org/patterns/metadata-manager/overview/#asset-feedback
146
-
147
- Parameters
148
- ----------
149
- comment_guid : str
150
- The GUID of the comment.
151
- view_server : str
152
- The server where the view is hosted.
153
- comment : str
154
- The text to add as the reply.
155
- server : str, optional
156
- The server to connect to. Default is None.
157
- access_service : str, optional
158
- The access service to use. Default is 'asset-manager'.
159
- is_public : bool, optional
160
- Determines if the comment is public. Default is False.
161
- for_lineage : bool, optional
162
- Determines if the comment is for lineage. Default is False.
163
- for_duplicate_processing : bool, optional
164
- Determines if the comment is for duplicate processing. Default is False.
165
- effective_time : str, optional
166
- The effective time for the comment. Default is None.
167
-
168
- Returns
169
- -------
170
- str
171
- The unique identifier (guid) of the new comment.
172
-
173
- Raises
174
- ------
175
- InvalidParameterException
176
- PropertyServerException
177
- UserNotAuthorizedException
178
-
179
- """
180
-
181
- url = f"{self.cur_command_root}api/open-metadata/feedback-manager/comments/{comment_guid}/replies"
182
- body = {
183
- 'parentGUID': comment_guid,
184
- 'effectiveTime': effective_time,
185
- 'updateDescription': comment
186
- }
187
-
188
- response = await self._async_make_request("POST",url,body)
189
- return response
190
-
191
- def add_comment_to_reply(self, comment_guid: str, view_server: str, comment: str, server: str = None,
192
- access_service: str = 'asset-manager', is_public: bool = False,
193
- for_lineage: bool = False, for_duplicate_processing: bool = False,
194
- effective_time: str = None) -> str:
195
- """ Add a reply to a comment. Async version.
196
- See also: https://egeria-project.org/patterns/metadata-manager/overview/#asset-feedback
197
-
198
- Parameters
199
- ----------
200
- comment_guid : str
201
- The GUID of the comment.
202
- view_server : str
203
- The server where the view is hosted.
204
- comment : str
205
- The text to add as the reply.
206
- server : str, optional
207
- The server to connect to. Default is None.
208
- access_service : str, optional
209
- The access service to use. Default is 'asset-manager'.
210
- is_public : bool, optional
211
- Determines if the comment is public. Default is False.
212
- for_lineage : bool, optional
213
- Determines if the comment is for lineage. Default is False.
214
- for_duplicate_processing : bool, optional
215
- Determines if the comment is for duplicate processing. Default is False.
216
- effective_time : str, optional
217
- The effective time for the comment. Default is None.
218
-
219
- Returns
220
- -------
221
- str
222
- The unique identifier (guid) of the new comment.
223
-
224
- Raises
225
- ------
226
- InvalidParameterException
227
- PropertyServerException
228
- UserNotAuthorizedException
229
-
230
- """
231
- loop = asyncio.get_event_loop()
232
- response = loop.run_until_complete(
233
- self._async_add_comment_to_reply(comment_guid, view_server, comment,
234
- server, access_service, is_public,)
235
- )
236
- return response
237
-
238
-