pyegeria 0.8.4.7__tar.gz → 0.8.4.9__tar.gz

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 (101) hide show
  1. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/PKG-INFO +1 -1
  2. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/__init__.py +0 -1
  3. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/egeria_config_client.py +3 -4
  4. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/egeria_tech_client.py +5 -0
  5. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyproject.toml +2 -3
  6. pyegeria-0.8.4.7/examples/doc_samples/Create_Collection_Sample.py +0 -320
  7. pyegeria-0.8.4.7/examples/doc_samples/Create_Sustainability_Collection_Sample.py +0 -149
  8. pyegeria-0.8.4.7/examples/widgets/ops/README.md +0 -24
  9. pyegeria-0.8.4.7/examples/widgets/ops/__init__.py +0 -19
  10. pyegeria-0.8.4.7/examples/widgets/ops/engine_actions.py +0 -83
  11. pyegeria-0.8.4.7/examples/widgets/ops/integration_daemon_actions.py +0 -139
  12. pyegeria-0.8.4.7/examples/widgets/ops/list_catalog_targets.py +0 -157
  13. pyegeria-0.8.4.7/examples/widgets/ops/load_archive.py +0 -62
  14. pyegeria-0.8.4.7/examples/widgets/ops/monitor_asset_events.py +0 -102
  15. pyegeria-0.8.4.7/examples/widgets/ops/monitor_coco_status.py +0 -103
  16. pyegeria-0.8.4.7/examples/widgets/ops/monitor_engine_activity.py +0 -236
  17. pyegeria-0.8.4.7/examples/widgets/ops/monitor_engine_activity_c.py +0 -253
  18. pyegeria-0.8.4.7/examples/widgets/ops/monitor_gov_eng_status.py +0 -188
  19. pyegeria-0.8.4.7/examples/widgets/ops/monitor_integ_daemon_status.py +0 -256
  20. pyegeria-0.8.4.7/examples/widgets/ops/monitor_platform_status.py +0 -176
  21. pyegeria-0.8.4.7/examples/widgets/ops/monitor_server_list.py +0 -140
  22. pyegeria-0.8.4.7/examples/widgets/ops/monitor_server_status.py +0 -109
  23. pyegeria-0.8.4.7/examples/widgets/ops/refresh_integration_daemon.py +0 -73
  24. pyegeria-0.8.4.7/examples/widgets/ops/restart_integration_daemon.py +0 -73
  25. pyegeria-0.8.4.7/pyegeria/egeria_ops_client.py +0 -75
  26. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/LICENSE +0 -0
  27. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/README.md +0 -0
  28. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/README.md +0 -0
  29. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/__init__.py +0 -0
  30. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/get_asset_graph.py +0 -0
  31. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/get_collection.py +0 -0
  32. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/get_project_dependencies.py +0 -0
  33. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/get_project_structure.py +0 -0
  34. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/get_tech_type_elements.py +0 -0
  35. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/get_tech_type_template.py +0 -0
  36. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/list_archives.py +0 -0
  37. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/list_assets.py +0 -0
  38. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/list_cert_types.py +0 -0
  39. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/list_glossary.py +0 -0
  40. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/list_projects.py +0 -0
  41. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/list_relationships.py +0 -0
  42. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/list_tech_types.py +0 -0
  43. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/list_todos.py +0 -0
  44. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cat/list_user_ids.py +0 -0
  45. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cli/__init__.py +0 -0
  46. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cli/egeria.py +0 -0
  47. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cli/egeria_cat.py +0 -0
  48. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cli/egeria_my.py +0 -0
  49. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cli/egeria_ops.py +0 -0
  50. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cli/egeria_tech.py +0 -0
  51. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/cli/ops_config.py +0 -0
  52. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/my/README.md +0 -0
  53. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/my/__init__.py +0 -0
  54. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/my/list_my_profile.py +0 -0
  55. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/my/list_my_roles.py +0 -0
  56. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/my/monitor_my_todos.py +0 -0
  57. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/my/monitor_open_todos.py +0 -0
  58. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/my/my_profile_actions.py +0 -0
  59. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/my/todo_actions.py +0 -0
  60. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/README.md +0 -0
  61. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/__init__.py +0 -0
  62. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/get_element_info.py +0 -0
  63. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/get_guid_info.py +0 -0
  64. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/get_tech_details.py +0 -0
  65. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/list_asset_types.py +0 -0
  66. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/list_elements.py +0 -0
  67. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/list_elements_x.py +0 -0
  68. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/list_registered_services.py +0 -0
  69. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/list_related_specification.py +0 -0
  70. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/list_relationship_types.py +0 -0
  71. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/list_tech_templates.py +0 -0
  72. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/list_valid_metadata_values.py +0 -0
  73. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/examples/widgets/tech/x_list_related_elements.py +0 -0
  74. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/_client.py +0 -0
  75. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/_deprecated_gov_engine.py +0 -0
  76. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/_exceptions.py +0 -0
  77. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/_globals.py +0 -0
  78. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/_validators.py +0 -0
  79. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/action_author_omvs.py +0 -0
  80. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/asset_catalog_omvs.py +0 -0
  81. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/automated_curation_omvs.py +0 -0
  82. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/classification_manager_omvs.py +0 -0
  83. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/collection_manager_omvs.py +0 -0
  84. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/core_omag_server_config.py +0 -0
  85. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/create_tech_guid_lists.py +0 -0
  86. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/egeria_cat_client.py +0 -0
  87. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/egeria_client.py +0 -0
  88. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/egeria_my_client.py +0 -0
  89. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/feedback_manager_omvs.py +0 -0
  90. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/full_omag_server_config.py +0 -0
  91. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/glossary_browser_omvs.py +0 -0
  92. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/glossary_manager_omvs.py +0 -0
  93. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/mermaid_utilities.py +0 -0
  94. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/my_profile_omvs.py +0 -0
  95. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/platform_services.py +0 -0
  96. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/project_manager_omvs.py +0 -0
  97. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/registered_info.py +0 -0
  98. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/runtime_manager_omvs.py +0 -0
  99. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/server_operations.py +0 -0
  100. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/utils.py +0 -0
  101. {pyegeria-0.8.4.7 → pyegeria-0.8.4.9}/pyegeria/valid_metadata_omvs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 0.8.4.7
3
+ Version: 0.8.4.9
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -73,7 +73,6 @@ from .egeria_my_client import EgeriaMy
73
73
  from .egeria_cat_client import EgeriaCat
74
74
  from .egeria_tech_client import EgeriaTech
75
75
  from .egeria_config_client import EgeriaConfig
76
- from .egeria_ops_client import EgeriaOps
77
76
  from .egeria_client import Egeria
78
77
 
79
78
  #
@@ -6,12 +6,10 @@ Client to configure the Egeria platform and servers
6
6
 
7
7
  """
8
8
 
9
- from pyegeria import (
10
- FullServerConfig,
11
- )
9
+ from pyegeria import FullServerConfig, ServerOps
12
10
 
13
11
 
14
- class EgeriaConfig(FullServerConfig):
12
+ class EgeriaConfig(FullServerConfig, ServerOps):
15
13
  """
16
14
  Client for configuring the Egeria Platform and Servers
17
15
 
@@ -35,6 +33,7 @@ class EgeriaConfig(FullServerConfig):
35
33
  self, server_name: str, platform_url: str, user_id: str, user_pwd: str = None
36
34
  ):
37
35
  FullServerConfig.__init__(self, server_name, platform_url, user_id, user_pwd)
36
+ ServerOps.__init__(self, server_name, platform_url, user_id, user_pwd)
38
37
 
39
38
 
40
39
  if __name__ == "__main__":
@@ -20,6 +20,7 @@ from pyegeria import (
20
20
  ActionAuthor,
21
21
  ClassificationManager,
22
22
  RegisteredInfo,
23
+ RuntimeManager,
23
24
  )
24
25
 
25
26
 
@@ -29,6 +30,7 @@ class EgeriaTech(
29
30
  EgeriaCat,
30
31
  ClassificationManager,
31
32
  RegisteredInfo,
33
+ RuntimeManager,
32
34
  ValidMetadataManager,
33
35
  ):
34
36
  """
@@ -72,6 +74,9 @@ class EgeriaTech(
72
74
  RegisteredInfo.__init__(
73
75
  self, server_name, platform_url, user_id, user_pwd, token
74
76
  )
77
+ RuntimeManager.__init__(
78
+ self, server_name, platform_url, user_id, user_pwd, token
79
+ )
75
80
  ValidMetadataManager.__init__(
76
81
  self, server_name, platform_url, user_id, user_pwd, token
77
82
  )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pyegeria"
3
- version = "0.8.4.7"
3
+ version = "0.8.4.9"
4
4
  license = 'Apache 2.0'
5
5
  authors = ["Dan Wolfson <dan.wolfson@pdr-associates.com>"]
6
6
  readme = "README.md"
@@ -18,9 +18,8 @@ packages = [
18
18
  { include = "pyegeria"},
19
19
  { include = "examples/widgets/cat" },
20
20
  { include = "examples/widgets/tech" },
21
- { include = "examples/widgets/ops"},
22
21
  { include = "examples/widgets/my"},
23
- { include = "examples/doc_samples"},
22
+ # { include = "examples/doc_samples"},
24
23
  { include = "examples/widgets/cli"}
25
24
  ]
26
25
 
@@ -1,320 +0,0 @@
1
- """
2
- SPDX-License-Identifier: Apache-2.0
3
- Copyright Contributors to the ODPi Egeria project.
4
-
5
- This sample creates the collection structure show in https://egeria-project.org/types/0/0021-Collections
6
-
7
- """
8
-
9
- import time
10
-
11
- from rich import print
12
- from rich.console import Console
13
-
14
- from pyegeria import (
15
- CollectionManager,
16
- InvalidParameterException,
17
- PropertyServerException,
18
- UserNotAuthorizedException,
19
- )
20
-
21
- view_server = "view-server"
22
- platform_url = "https://localhost:9443"
23
- user = "erinoverview"
24
- console = Console(width=200)
25
-
26
- try:
27
- c_client = CollectionManager(view_server, platform_url, user_id=user)
28
-
29
- token = c_client.create_egeria_bearer_token(user, "secret")
30
- start_time = time.perf_counter()
31
-
32
- # Create a Data Products Root collection
33
- anchor_guid = None
34
- parent_guid = None
35
- parent_relationship_type_name = None
36
- parent_at_end1 = False
37
- display_name = "Digital Products Root"
38
- description = "This is the root catalog for digital products"
39
- collection_type = "Digital Products Root"
40
- is_own_anchor = True
41
-
42
- response = c_client.create_root_collection(
43
- anchor_guid,
44
- parent_guid,
45
- parent_relationship_type_name,
46
- parent_at_end1,
47
- display_name,
48
- description,
49
- collection_type,
50
- is_own_anchor,
51
- )
52
- # Create first folder for Agriculture Insights
53
- parent_guid = response
54
- parent_relationship_type_name = "CollectionMembership"
55
- display_name = "Agriculture Insights Collection"
56
- description = "A folder for agricultural insights data product collections"
57
- collection_type = "Digital Product Marketplace"
58
-
59
- folder1 = c_client.create_folder_collection(
60
- None,
61
- parent_guid,
62
- parent_relationship_type_name,
63
- True,
64
- display_name,
65
- description,
66
- collection_type,
67
- True,
68
- "DATE_CREATED",
69
- None,
70
- )
71
- print(f"\n\n created a folder with guid {folder1}")
72
- # create second folder for Earth Observations
73
- display_name = "Earth Observation Data Collection"
74
- description = "A folder for Earth Observation data product collections"
75
-
76
- folder2 = c_client.create_folder_collection(
77
- None,
78
- parent_guid,
79
- parent_relationship_type_name,
80
- True,
81
- display_name,
82
- description,
83
- collection_type,
84
- True,
85
- "DATE_CREATED",
86
- None,
87
- )
88
- print(f"\n\n created a folder with guid {folder2}")
89
-
90
- # create a digital product, child of folder 1, for Land Use products
91
- parent_guid = folder1
92
- parent_relationship_type_name = "CollectionMembership"
93
- display_name = "Land Use Classification"
94
- description = "Land use classification assets"
95
- collection_type = "Digital Product"
96
- classification_name = "Digital Product"
97
- body_3 = {
98
- "class": "NewDigitalProductRequestBody",
99
- "isOwnAnchor": True,
100
- "parentGUID": parent_guid,
101
- "parentRelationshipTypeName": parent_relationship_type_name,
102
- "parentAtEnd1": True,
103
- "collectionProperties": {
104
- "class": "CollectionProperties",
105
- "qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
106
- "name": display_name,
107
- "description": description,
108
- "collectionType": collection_type,
109
- "collectionOrdering": "DATE_CREATED",
110
- },
111
- "digitalProductProperties": {
112
- "class": "DigitalProductProperties",
113
- "productStatus": "ACTIVE",
114
- "productName": "Land Use Classifications",
115
- "productType": "Geospatial Data Assets",
116
- "description": "Land use classification assets",
117
- "introductionDate": "2023-12-01",
118
- "maturity": "Nacent",
119
- "serviceLife": "3 years",
120
- "currentVersion": "V.5",
121
- "nextVersionDate": "2024-12-01",
122
- "withdrawDate": "2030-01-01",
123
- "additionalProperties": {
124
- "thought_id": "a guid",
125
- "license": "cc-by-sa",
126
- },
127
- },
128
- }
129
- folder3 = c_client.create_digital_product(body_3)
130
- print(f"\n\n created a collection with guid {folder3}")
131
-
132
- # create a fourth collection, a digital product, child of folder 2, for Landsat 8
133
- parent_guid = folder2
134
- display_name = "Landsat 8"
135
- description = "Landsat 8 data products"
136
-
137
- body_4 = {
138
- "class": "NewDigitalProductRequestBody",
139
- "isOwnAnchor": True,
140
- "parentGUID": parent_guid,
141
- "parentRelationshipTypeName": parent_relationship_type_name,
142
- "parentAtEnd1": True,
143
- "collectionProperties": {
144
- "class": "CollectionProperties",
145
- "qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
146
- "name": display_name,
147
- "description": description,
148
- "collectionType": collection_type,
149
- "collectionOrdering": "DATE_CREATED",
150
- },
151
- "digitalProductProperties": {
152
- "class": "DigitalProductProperties",
153
- "productStatus": "ACTIVE",
154
- "productName": "Landsat 8 Imagery",
155
- "productType": "Geospatial Data Assets",
156
- "description": description,
157
- "introductionDate": "2024-01-01",
158
- "maturity": "Mature",
159
- "serviceLife": "3 years",
160
- "currentVersion": "V1.5",
161
- "nextVersion": "2024-06-01",
162
- "withdrawDate": "2030-01-01",
163
- "additionalProperties": {
164
- "thought_id": "a guid",
165
- "license": "cc-by-sa",
166
- },
167
- },
168
- }
169
- folder4 = c_client.create_digital_product(body_4)
170
- print(f"\n\n created a collection with guid {folder4}")
171
-
172
- # Now create a 5th collection for sentinel 2 data
173
- parent_guid = folder2
174
- display_name = "Sentinel 2"
175
- description = "Sentinel 2 products"
176
- parent_relationship_type_name = "CollectionMembership"
177
- collection_type = "Digital Product Marketplace"
178
-
179
- folder5 = c_client.create_folder_collection(
180
- None,
181
- parent_guid,
182
- parent_relationship_type_name,
183
- True,
184
- display_name,
185
- description,
186
- collection_type,
187
- True,
188
- "DATE_CREATED",
189
- None,
190
- )
191
- # Create a DigitalProduct for Level-1B
192
- parent_guid = folder5
193
- display_name = "Sentinel 2 - Level 1B"
194
- description = "Level 1B of Sentinel 2"
195
-
196
- body_6 = {
197
- "class": "NewDigitalProductRequestBody",
198
- "anchor_guid": parent_guid,
199
- "isOwnAnchor": False,
200
- "parentGUID": parent_guid,
201
- "parentRelationshipTypeName": parent_relationship_type_name,
202
- "parentAtEnd1": True,
203
- "collectionProperties": {
204
- "class": "CollectionProperties",
205
- "qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
206
- "name": display_name,
207
- "description": description,
208
- "collectionType": collection_type,
209
- "collectionOrdering": "DATE_CREATED",
210
- },
211
- "digitalProductProperties": {
212
- "class": "DigitalProductProperties",
213
- "productStatus": "ACTIVE",
214
- "productName": "Sentinel 2 - Level 1B",
215
- "productType": "Geospatial Data Assets",
216
- "description": description,
217
- "introductionDate": "2024-01-01",
218
- "maturity": "Mature",
219
- "serviceLife": "3 years",
220
- "currentVersion": "V1.5",
221
- "nextVersion": "2024-06-01",
222
- "withdrawDate": "2030-01-01",
223
- "additionalProperties": {
224
- "thought_id": "a guid",
225
- "license": "cc-by-sa",
226
- },
227
- },
228
- }
229
- folder6 = c_client.create_digital_product(body_6)
230
- print(f"\n\n created a collection with guid {folder6}")
231
-
232
- # now lets create a digital product for - Level - 1c
233
- parent_guid = folder5
234
- display_name = "Sentinel 2 - Level 1C"
235
- description = "Level 1C of Sentinel 2"
236
- body_7 = {
237
- "class": "NewDigitalProductRequestBody",
238
- "anchor_guid": parent_guid,
239
- "isOwnAnchor": False,
240
- "parentGUID": parent_guid,
241
- "parentRelationshipTypeName": parent_relationship_type_name,
242
- "parentAtEnd1": True,
243
- "collectionProperties": {
244
- "class": "CollectionProperties",
245
- "qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
246
- "name": display_name,
247
- "description": description,
248
- "collectionType": collection_type,
249
- "collectionOrdering": "DATE_CREATED",
250
- },
251
- "digitalProductProperties": {
252
- "class": "DigitalProductProperties",
253
- "productStatus": "ACTIVE",
254
- "productName": "Sentinel 2 - Level 1B",
255
- "productType": "Geospatial Data Assets",
256
- "description": description,
257
- "introductionDate": "2024-01-01",
258
- "maturity": "Mature",
259
- "serviceLife": "3 years",
260
- "currentVersion": "V1.5",
261
- "nextVersion": "2024-06-01",
262
- "withdrawDate": "2030-01-01",
263
- "additionalProperties": {
264
- "thought_id": "a guid",
265
- "license": "cc-by-sa",
266
- },
267
- },
268
- }
269
- folder7 = c_client.create_digital_product(body_7)
270
- print(f"\n\n created a collection with guid {folder7}")
271
-
272
- # now let's create a digital product for - Level - 2A
273
- parent_guid = folder5
274
- display_name = "Sentinel 2 - Level 2A"
275
- description = "Level 2A of Sentinel 2"
276
- body_8 = {
277
- "class": "NewDigitalProductRequestBody",
278
- "anchor_guid": parent_guid,
279
- "isOwnAnchor": False,
280
- "parentGUID": parent_guid,
281
- "parentRelationshipTypeName": parent_relationship_type_name,
282
- "parentAtEnd1": True,
283
- "collectionProperties": {
284
- "class": "CollectionProperties",
285
- "qualifiedName": f"{classification_name}-{display_name}-{time.asctime()}",
286
- "name": display_name,
287
- "description": description,
288
- "collectionType": collection_type,
289
- "collectionOrdering": "DATE_CREATED",
290
- },
291
- "digitalProductProperties": {
292
- "class": "DigitalProductProperties",
293
- "productStatus": "ACTIVE",
294
- "productName": "Sentinel 2 - Level 1B",
295
- "productType": "Geospatial Data Assets",
296
- "description": description,
297
- "introductionDate": "2024-01-01",
298
- "maturity": "Mature",
299
- "serviceLife": "3 years",
300
- "currentVersion": "V1.5",
301
- "nextVersion": "2024-06-01",
302
- "withdrawDate": "2030-01-01",
303
- "additionalProperties": {
304
- "thought_id": "a guid",
305
- "license": "cc-by-sa",
306
- },
307
- },
308
- }
309
- folder8 = c_client.create_digital_product(body_8)
310
- print(f"\n\n created a collection with guid {folder8}")
311
-
312
- except (
313
- InvalidParameterException,
314
- PropertyServerException,
315
- UserNotAuthorizedException,
316
- ) as e:
317
- console.print_exception(show_locals=True)
318
-
319
- finally:
320
- c_client.close_session()
@@ -1,149 +0,0 @@
1
- """
2
- SPDX-License-Identifier: Apache-2.0
3
- Copyright Contributors to the ODPi Egeria project.
4
-
5
- This sample creates a collection structure for a sustainability reporting project. It is
6
- simplistic but shows how we can set up a collection hierarchy that can hold different kinds of
7
- assets.
8
-
9
- """
10
-
11
- import time
12
-
13
- from rich import print
14
- from rich.console import Console
15
-
16
- from pyegeria import (
17
- CollectionManager,
18
- InvalidParameterException,
19
- PropertyServerException,
20
- UserNotAuthorizedException,
21
- )
22
-
23
- view_server = "view-server"
24
- platform_url = "https://localhost:9443"
25
- user = "erinoverview"
26
- console = Console()
27
-
28
- try:
29
- c_client = CollectionManager(view_server, platform_url, user_id=user)
30
-
31
- token = c_client.create_egeria_bearer_token(user, "secret")
32
- start_time = time.perf_counter()
33
-
34
- # Create a root collection for the sustainability project
35
- parent_guid = None
36
- parent_relationship_type_name = None
37
- display_name = "Root Sustainability Collection"
38
- description = "The root collection for our sustainability reporting project."
39
- collection_type = "Sustainability Collection"
40
-
41
- root = c_client.create_root_collection(
42
- None,
43
- parent_guid,
44
- parent_relationship_type_name,
45
- False,
46
- display_name,
47
- description,
48
- collection_type,
49
- True,
50
- )
51
- print(f"\n\n created a root with guid {root}")
52
- # create a folder for Scope 1 Emissions
53
- anchor_guid = root
54
- parent_guid = root
55
- parent_relationship_type_name = "CollectionMembership"
56
- display_name = "Scope 1 Emissions"
57
- description = "A folder for information about scope 1 emissions."
58
- collection_type = "Sustainability Collection"
59
-
60
- scope1_folder = c_client.create_folder_collection(
61
- anchor_guid,
62
- parent_guid,
63
- parent_relationship_type_name,
64
- True,
65
- display_name,
66
- description,
67
- collection_type,
68
- False,
69
- "DATE_CREATED",
70
- None,
71
- )
72
- print(f"\n\n created scope1_folder with guid {scope1_folder}")
73
-
74
- # create a folder for Scope 2 Emissions.
75
- anchor_guid = root
76
- parent_guid = root
77
- parent_relationship_type_name = "CollectionMembership"
78
- display_name = "Scope 2 Emissions"
79
- description = "A folder for information about scope 2 emissions."
80
- collection_type = "Sustainability Collection"
81
-
82
- scope2_folder = c_client.create_folder_collection(
83
- anchor_guid,
84
- parent_guid,
85
- parent_relationship_type_name,
86
- True,
87
- display_name,
88
- description,
89
- collection_type,
90
- False,
91
- "DATE_CREATED",
92
- None,
93
- )
94
- print(f"\n\n created scope2_folder with guid {scope2_folder}")
95
-
96
- # create a folder for Scope 3 Emissions.
97
- anchor_guid = root
98
- parent_guid = root
99
- parent_relationship_type_name = "CollectionMembership"
100
- display_name = "Scope 3 Emissions"
101
- description = "A folder for information about scope 3 emissions."
102
- collection_type = "Sustainability Collection"
103
-
104
- scope3_folder = c_client.create_folder_collection(
105
- anchor_guid,
106
- parent_guid,
107
- parent_relationship_type_name,
108
- True,
109
- display_name,
110
- description,
111
- collection_type,
112
- False,
113
- "DATE_CREATED",
114
- None,
115
- )
116
- print(f"\n\n created scope3_folder with guid {scope3_folder}")
117
-
118
- # create a folder for Business Travel Emissions.
119
- anchor_guid = root
120
- parent_guid = scope3_folder
121
- parent_relationship_type_name = "CollectionMembership"
122
- display_name = "Business Travel Emissions"
123
- description = "A folder for information about scope 3 business travel emissions."
124
- collection_type = "Sustainability Collection"
125
-
126
- travel_folder = c_client.create_folder_collection(
127
- anchor_guid,
128
- parent_guid,
129
- parent_relationship_type_name,
130
- True,
131
- display_name,
132
- description,
133
- collection_type,
134
- False,
135
- "DATE_CREATED",
136
- None,
137
- )
138
- print(f"\n\n created travel_folder with guid {travel_folder}")
139
-
140
-
141
- except (
142
- InvalidParameterException,
143
- PropertyServerException,
144
- UserNotAuthorizedException,
145
- ) as e:
146
- console.print_exception(show_locals=True)
147
-
148
- finally:
149
- c_client.close_session()
@@ -1,24 +0,0 @@
1
- <!-- SPDX-License-Identifier: CC-BY-4.0 -->
2
- <!-- Copyright Contributors to the Egeria project. -->
3
-
4
- # Operational
5
-
6
- These widgets display different kinds of information useful to monitor the status of different elements of an Egeria deployment.
7
- Widgets will continue to be added over time to cover more facets of catalog use.
8
-
9
- * get_eng_action_status.py - lists assets containing the user provided search string in the display name or qualified name. Search string must be a minimum of three characters.
10
- * get_tech_type_elements.py - shows a tree view for the details of a supported technology type.
11
- * get_tech_type_template.py - shows a tree view of the template associated with a supported technology type.
12
- * view_coco_status.py - provides a tree view of a collection with all nested collections and items within the collection.
13
- * view_eng_action_status.py - provides a live view of the status of engine actions.
14
- * view_gov_eng_status.py - provides a live view of a governance engine status.
15
- * view_integ_daemeon_status.py - provides a live view of an integration daemon status.
16
- * view_platform_status.py - provides a live status view of the known servers on known platforms.
17
- * view_server_list.py - provides a more detailed live status view of the servers on a single platform.
18
- * view_server_status.py - provides a minimal live status view of the servers on a single platform.
19
- * view_asset_changes.py - experiment in progress
20
- * view_asset_events.py - experiment in progress
21
-
22
- ----
23
- License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
24
- Copyright Contributors to the Egeria project.
@@ -1,19 +0,0 @@
1
- """
2
- SPDX-License-Identifier: Apache-2.0
3
- Copyright Contributors to the ODPi Egeria project.
4
-
5
-
6
- """
7
- import pyegeria
8
- # from .ops_config import Config
9
-
10
- # import monitor_gov_eng_status
11
- # import monitor_server_status
12
- # import monitor_server_list
13
- # import monitor_integ_daemon_status
14
- # import monitor_platform_status
15
- # import monitor_engine_activity
16
- # import refresh_integration_daemon
17
- # import restart_integration_daemon
18
- # import integration_daemon_actions
19
- # import list_catalog_targets
@@ -1,83 +0,0 @@
1
- """
2
- SPDX-License-Identifier: Apache-2.0
3
- Copyright Contributors to the ODPi Egeria project.
4
-
5
-
6
-
7
- Execute engine actions.
8
-
9
- """
10
- import os
11
-
12
- import click
13
-
14
- # from ops_config import Config, pass_config
15
- from pyegeria import Platform
16
- from pyegeria._exceptions import (
17
- InvalidParameterException,
18
- PropertyServerException,
19
- print_exception_response,
20
- )
21
-
22
- GERIA_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(
27
- "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
28
- )
29
- EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
30
- EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
31
- "EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
32
- )
33
- EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
34
- EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
35
- EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
36
- EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
37
-
38
-
39
- @click.command("stop")
40
- @click.option(
41
- "--server", default=EGERIA_VIEW_SERVER, help="Egeria metadata store to load"
42
- )
43
- @click.option(
44
- "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
45
- )
46
- @click.option("--userid", default=EGERIA_ADMIN_USER, help="Egeria admin user")
47
- @click.option("--password", default=EGERIA_ADMIN_PASSWORD, help="Egeria admin password")
48
- @click.option("--timeout", default=60, help="Number of seconds to wait")
49
- def stop_daemon(file, server, url, userid, password, timeout):
50
- """Stop an engine-host daemon"""
51
- p_client = Platform(server, url, userid, password)
52
- try:
53
- p_client.shutdown_server()
54
-
55
- click.echo(f"Stopped server {server}")
56
- except (InvalidParameterException, PropertyServerException) as e:
57
- print_exception_response(e)
58
- finally:
59
- p_client.close_session()
60
-
61
-
62
- @click.command("start")
63
- @click.option(
64
- "--server", default=EGERIA_VIEW_SERVER, help="Egeria metadata store to load"
65
- )
66
- @click.option(
67
- "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
68
- )
69
- @click.option("--userid", default=EGERIA_ADMIN_USER, help="Egeria admin user")
70
- @click.option("--password", default=EGERIA_ADMIN_PASSWORD, help="Egeria admin password")
71
- @click.option("--timeout", default=60, help="Number of seconds to wait")
72
- def start_daemon(file, server, url, userid, password, timeout):
73
- """Start or restart an engine-host from its known configuration"""
74
- p_client = Platform(server, url, userid, password)
75
- try:
76
- p_client.activate_server_stored_config()
77
-
78
- click.echo(f"Started server {server}")
79
-
80
- except (InvalidParameterException, PropertyServerException) as e:
81
- print_exception_response(e)
82
- finally:
83
- p_client.close_session()