pyegeria 5.3.9.9.3__py3-none-any.whl → 5.5.3.3__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.

Potentially problematic release.


This version of pyegeria might be problematic. Click here for more details.

Files changed (272) hide show
  1. commands/__init__.py +24 -0
  2. commands/cat/Dr-Egeria_md-orig.py +2 -2
  3. commands/cat/__init__.py +1 -17
  4. commands/cat/collection_actions.py +197 -0
  5. commands/cat/dr_egeria_command_help.py +372 -0
  6. commands/cat/dr_egeria_jupyter.py +7 -7
  7. commands/cat/dr_egeria_md.py +27 -182
  8. commands/cat/exp_list_glossaries.py +11 -14
  9. commands/cat/get_asset_graph.py +37 -267
  10. commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
  11. commands/cat/get_project_dependencies.py +14 -14
  12. commands/cat/get_project_structure.py +15 -14
  13. commands/cat/get_tech_type_elements.py +16 -116
  14. commands/cat/glossary_actions.py +145 -298
  15. commands/cat/list_assets.py +3 -11
  16. commands/cat/list_cert_types.py +17 -63
  17. commands/cat/list_collections.py +46 -138
  18. commands/cat/list_deployed_catalogs.py +15 -27
  19. commands/cat/list_deployed_database_schemas.py +27 -43
  20. commands/cat/list_deployed_databases.py +16 -31
  21. commands/cat/list_deployed_servers.py +35 -54
  22. commands/cat/list_glossaries.py +18 -17
  23. commands/cat/list_projects.py +10 -12
  24. commands/cat/list_tech_type_elements.py +21 -37
  25. commands/cat/list_tech_types.py +13 -25
  26. commands/cat/list_terms.py +38 -79
  27. commands/cat/list_todos.py +4 -11
  28. commands/cat/list_user_ids.py +3 -10
  29. commands/cat/my_reports.py +559 -0
  30. commands/cat/run_report.py +394 -0
  31. commands/cat/run_report_orig.py +528 -0
  32. commands/cli/egeria.py +222 -247
  33. commands/cli/egeria_cat.py +68 -81
  34. commands/cli/egeria_my.py +13 -0
  35. commands/cli/egeria_ops.py +69 -74
  36. commands/cli/egeria_tech.py +17 -93
  37. commands/cli/ops_config.py +3 -6
  38. commands/{cat/list_categories.py → deprecated/list_data_designer.py} +53 -64
  39. commands/{cat/list_data_structures.py → deprecated/list_data_structures_full.py} +3 -6
  40. commands/deprecated/old_get_asset_graph.py +315 -0
  41. commands/my/__init__.py +0 -2
  42. commands/my/list_my_profile.py +27 -34
  43. commands/my/list_my_roles.py +1 -7
  44. commands/my/monitor_my_todos.py +1 -7
  45. commands/my/monitor_open_todos.py +6 -7
  46. commands/my/todo_actions.py +4 -5
  47. commands/ops/__init__.py +0 -2
  48. commands/ops/gov_server_actions.py +17 -21
  49. commands/ops/list_archives.py +17 -38
  50. commands/ops/list_catalog_targets.py +33 -40
  51. commands/ops/load_archive.py +35 -26
  52. commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
  53. commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
  54. commands/ops/monitor_engine_activity.py +79 -77
  55. commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
  56. commands/ops/monitor_platform_status.py +38 -50
  57. commands/ops/monitor_server_startup.py +6 -11
  58. commands/ops/monitor_server_status.py +7 -11
  59. commands/ops/orig_monitor_server_list.py +8 -8
  60. commands/ops/orig_monitor_server_status.py +1 -5
  61. commands/ops/refresh_integration_daemon.py +5 -5
  62. commands/ops/restart_integration_daemon.py +5 -5
  63. commands/ops/table_integ_daemon_status.py +6 -6
  64. commands/ops/x_engine_actions.py +7 -7
  65. commands/tech/__init__.py +0 -2
  66. commands/tech/{generic_actions.py → element_actions.py} +6 -11
  67. commands/tech/get_element_info.py +20 -29
  68. commands/tech/get_guid_info.py +23 -42
  69. commands/tech/get_tech_details.py +20 -35
  70. commands/tech/get_tech_type_template.py +28 -39
  71. commands/tech/list_all_om_type_elements.py +24 -30
  72. commands/tech/list_all_om_type_elements_x.py +22 -28
  73. commands/tech/list_all_related_elements.py +19 -28
  74. commands/tech/list_anchored_elements.py +22 -30
  75. commands/tech/list_asset_types.py +19 -24
  76. commands/tech/list_elements_by_classification_by_property_value.py +26 -32
  77. commands/tech/list_elements_by_property_value.py +19 -25
  78. commands/tech/list_elements_by_property_value_x.py +20 -28
  79. commands/tech/list_elements_for_classification.py +28 -41
  80. commands/tech/list_gov_action_processes.py +16 -27
  81. commands/tech/list_information_supply_chains.py +22 -30
  82. commands/tech/list_registered_services.py +14 -26
  83. commands/tech/list_related_elements_with_prop_value.py +15 -25
  84. commands/tech/list_related_specification.py +1 -4
  85. commands/tech/list_relationship_types.py +15 -25
  86. commands/tech/list_relationships.py +20 -36
  87. commands/tech/list_solution_blueprints.py +28 -33
  88. commands/tech/list_solution_components.py +23 -29
  89. commands/tech/list_solution_roles.py +21 -32
  90. commands/tech/list_tech_templates.py +51 -54
  91. commands/tech/list_valid_metadata_values.py +5 -9
  92. commands/tech/table_tech_templates.py +2 -6
  93. commands/tech/x_list_related_elements.py +1 -4
  94. examples/GeoSpatial Products Example.py +524 -0
  95. examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
  96. examples/Jupyter Notebooks/README.md +2 -0
  97. examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
  98. examples/Jupyter Notebooks/common/__init__.py +14 -0
  99. examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
  100. examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
  101. examples/Jupyter Notebooks/common/globals.ipynb +184 -0
  102. examples/Jupyter Notebooks/common/globals.py +154 -0
  103. examples/Jupyter Notebooks/common/orig_globals.py +152 -0
  104. examples/format_sets/all_format_sets.json +910 -0
  105. examples/format_sets/custom_format_sets.json +268 -0
  106. examples/format_sets/subset_format_sets.json +187 -0
  107. examples/format_sets_save_load_example.py +291 -0
  108. examples/jacquard_data_sets.py +129 -0
  109. examples/output_formats_example.py +193 -0
  110. examples/test_jacquard_data_sets.py +54 -0
  111. examples/test_jacquard_data_sets_scenarios.py +94 -0
  112. md_processing/__init__.py +90 -0
  113. md_processing/command_dispatcher.py +33 -0
  114. md_processing/command_mapping.py +221 -0
  115. md_processing/data/commands/commands_data_designer.json +537 -0
  116. md_processing/data/commands/commands_external_reference.json +733 -0
  117. md_processing/data/commands/commands_feedback.json +155 -0
  118. md_processing/data/commands/commands_general.json +204 -0
  119. md_processing/data/commands/commands_glossary.json +218 -0
  120. md_processing/data/commands/commands_governance.json +3678 -0
  121. md_processing/data/commands/commands_product_manager.json +865 -0
  122. md_processing/data/commands/commands_project.json +642 -0
  123. md_processing/data/commands/commands_solution_architect.json +366 -0
  124. md_processing/data/commands.json +17568 -0
  125. md_processing/data/commands_working.json +30641 -0
  126. md_processing/data/gened_report_specs.py +6584 -0
  127. md_processing/data/generated_format_sets.json +6533 -0
  128. md_processing/data/generated_format_sets_old.json +4137 -0
  129. md_processing/data/generated_format_sets_old.py +45 -0
  130. md_processing/dr_egeria.py +182 -0
  131. md_processing/md_commands/__init__.py +3 -0
  132. md_processing/md_commands/data_designer_commands.py +1276 -0
  133. md_processing/md_commands/ext_ref_commands.py +530 -0
  134. md_processing/md_commands/feedback_commands.py +726 -0
  135. md_processing/md_commands/glossary_commands.py +684 -0
  136. md_processing/md_commands/governance_officer_commands.py +600 -0
  137. md_processing/md_commands/product_manager_commands.py +1266 -0
  138. md_processing/md_commands/project_commands.py +383 -0
  139. md_processing/md_commands/solution_architect_commands.py +1184 -0
  140. md_processing/md_commands/view_commands.py +295 -0
  141. md_processing/md_processing_utils/__init__.py +4 -0
  142. md_processing/md_processing_utils/common_md_proc_utils.py +1249 -0
  143. md_processing/md_processing_utils/common_md_utils.py +578 -0
  144. md_processing/md_processing_utils/determine_width.py +103 -0
  145. md_processing/md_processing_utils/extraction_utils.py +547 -0
  146. md_processing/md_processing_utils/gen_report_specs.py +643 -0
  147. md_processing/md_processing_utils/generate_dr_help.py +193 -0
  148. md_processing/md_processing_utils/generate_md_cmd_templates.py +144 -0
  149. md_processing/md_processing_utils/generate_md_templates.py +83 -0
  150. md_processing/md_processing_utils/md_processing_constants.py +1228 -0
  151. md_processing/md_processing_utils/message_constants.py +19 -0
  152. pyegeria/__init__.py +201 -443
  153. pyegeria/core/__init__.py +40 -0
  154. pyegeria/core/_base_platform_client.py +574 -0
  155. pyegeria/core/_base_server_client.py +573 -0
  156. pyegeria/core/_exceptions.py +457 -0
  157. pyegeria/core/_globals.py +60 -0
  158. pyegeria/core/_server_client.py +6073 -0
  159. pyegeria/core/_validators.py +257 -0
  160. pyegeria/core/config.py +654 -0
  161. pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
  162. pyegeria/core/load_config.py +37 -0
  163. pyegeria/core/logging_configuration.py +207 -0
  164. pyegeria/core/mcp_adapter.py +144 -0
  165. pyegeria/core/mcp_server.py +212 -0
  166. pyegeria/core/utils.py +405 -0
  167. pyegeria/deprecated/__init__.py +0 -0
  168. pyegeria/{_client.py → deprecated/_client.py} +62 -24
  169. pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
  170. pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1988 -1878
  171. pyegeria/deprecated/output_formatter_with_machine_keys.py +1127 -0
  172. pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +216 -229
  173. pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
  174. pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
  175. pyegeria/egeria_cat_client.py +25 -51
  176. pyegeria/egeria_client.py +140 -98
  177. pyegeria/egeria_config_client.py +48 -24
  178. pyegeria/egeria_tech_client.py +170 -83
  179. pyegeria/models/__init__.py +150 -0
  180. pyegeria/models/collection_models.py +168 -0
  181. pyegeria/models/models.py +654 -0
  182. pyegeria/omvs/__init__.py +84 -0
  183. pyegeria/omvs/action_author.py +342 -0
  184. pyegeria/omvs/actor_manager.py +5980 -0
  185. pyegeria/omvs/asset_catalog.py +842 -0
  186. pyegeria/omvs/asset_maker.py +2736 -0
  187. pyegeria/omvs/automated_curation.py +4403 -0
  188. pyegeria/omvs/classification_manager.py +11213 -0
  189. pyegeria/omvs/collection_manager.py +5780 -0
  190. pyegeria/omvs/community_matters_omvs.py +468 -0
  191. pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
  192. pyegeria/{data_designer_omvs.py → omvs/data_designer.py} +1991 -1691
  193. pyegeria/omvs/data_discovery.py +869 -0
  194. pyegeria/omvs/data_engineer.py +372 -0
  195. pyegeria/omvs/digital_business.py +1133 -0
  196. pyegeria/omvs/external_links.py +1752 -0
  197. pyegeria/omvs/feedback_manager.py +834 -0
  198. pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
  199. pyegeria/omvs/glossary_manager.py +3231 -0
  200. pyegeria/omvs/governance_officer.py +3009 -0
  201. pyegeria/omvs/lineage_linker.py +314 -0
  202. pyegeria/omvs/location_arena.py +1525 -0
  203. pyegeria/omvs/metadata_expert.py +668 -0
  204. pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
  205. pyegeria/omvs/my_profile.py +1042 -0
  206. pyegeria/omvs/notification_manager.py +358 -0
  207. pyegeria/omvs/people_organizer.py +394 -0
  208. pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
  209. pyegeria/omvs/product_manager.py +1825 -0
  210. pyegeria/omvs/project_manager.py +1907 -0
  211. pyegeria/omvs/reference_data.py +1140 -0
  212. pyegeria/omvs/registered_info.py +334 -0
  213. pyegeria/omvs/runtime_manager.py +2817 -0
  214. pyegeria/omvs/schema_maker.py +446 -0
  215. pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
  216. pyegeria/omvs/solution_architect.py +6490 -0
  217. pyegeria/omvs/specification_properties.py +37 -0
  218. pyegeria/omvs/subject_area.py +1042 -0
  219. pyegeria/omvs/template_manager_omvs.py +236 -0
  220. pyegeria/omvs/time_keeper.py +1761 -0
  221. pyegeria/omvs/valid_metadata.py +3221 -0
  222. pyegeria/omvs/valid_metadata_lists.py +37 -0
  223. pyegeria/omvs/valid_type_lists.py +37 -0
  224. pyegeria/view/__init__.py +28 -0
  225. pyegeria/view/_output_format_models.py +514 -0
  226. pyegeria/view/_output_formats.py +14 -0
  227. pyegeria/view/base_report_formats.py +2719 -0
  228. pyegeria/view/dr_egeria_reports.py +56 -0
  229. pyegeria/view/format_set_executor.py +397 -0
  230. pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
  231. pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
  232. pyegeria/view/output_formatter.py +1297 -0
  233. pyegeria-5.5.3.3.dist-info/METADATA +218 -0
  234. pyegeria-5.5.3.3.dist-info/RECORD +241 -0
  235. {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
  236. pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
  237. pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
  238. commands/cat/.DS_Store +0 -0
  239. commands/cat/README.md +0 -16
  240. commands/cli/txt_custom_v2.tcss +0 -19
  241. commands/my/README.md +0 -17
  242. commands/ops/README.md +0 -24
  243. commands/ops/monitor_asset_events.py +0 -108
  244. commands/tech/README.md +0 -24
  245. pyegeria/.DS_Store +0 -0
  246. pyegeria/README.md +0 -35
  247. pyegeria/_globals.py +0 -47
  248. pyegeria/_validators.py +0 -385
  249. pyegeria/asset_catalog_omvs.py +0 -864
  250. pyegeria/automated_curation_omvs.py +0 -3765
  251. pyegeria/collection_manager_omvs.py +0 -2744
  252. pyegeria/dr.egeria spec.md +0 -9
  253. pyegeria/egeria_my_client.py +0 -56
  254. pyegeria/feedback_manager_omvs.py +0 -4573
  255. pyegeria/glossary_browser_omvs.py +0 -3728
  256. pyegeria/glossary_manager_omvs.py +0 -2440
  257. pyegeria/m_test.py +0 -118
  258. pyegeria/md_processing_helpers.py +0 -58
  259. pyegeria/md_processing_utils_orig.py +0 -1103
  260. pyegeria/metadata_explorer_omvs.py +0 -2326
  261. pyegeria/my_profile_omvs.py +0 -1022
  262. pyegeria/output_formatter.py +0 -389
  263. pyegeria/project_manager_omvs.py +0 -1933
  264. pyegeria/registered_info.py +0 -167
  265. pyegeria/solution_architect_omvs.py +0 -2156
  266. pyegeria/template_manager_omvs.py +0 -1414
  267. pyegeria/utils.py +0 -197
  268. pyegeria-5.3.9.9.3.dist-info/METADATA +0 -72
  269. pyegeria-5.3.9.9.3.dist-info/RECORD +0 -143
  270. pyegeria-5.3.9.9.3.dist-info/entry_points.txt +0 -99
  271. /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
  272. {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
@@ -16,11 +16,8 @@ from rich.live import Live
16
16
  from rich.table import Table
17
17
 
18
18
  from pyegeria import (
19
- InvalidParameterException,
20
- PropertyServerException,
21
19
  ServerOps,
22
- UserNotAuthorizedException,
23
- print_exception_response,
20
+ PyegeriaException, print_basic_exception,
24
21
  )
25
22
 
26
23
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
@@ -31,8 +28,7 @@ EGERIA_VIEW_SERVER_URL = os.environ.get(
31
28
  "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
32
29
  )
33
30
  EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
34
- EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
35
- EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
31
+
36
32
  EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
37
33
  EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
38
34
  EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
@@ -42,12 +38,13 @@ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "220"))
42
38
  def display_startup_status(
43
39
  server: str,
44
40
  url: str,
45
- username: str,
41
+ username: str = EGERIA_USER,
46
42
  password: str = EGERIA_USER_PASSWORD,
47
43
  jupyter: bool = EGERIA_JUPYTER,
48
44
  width: int = EGERIA_WIDTH,
49
45
  ):
50
46
  p_client = ServerOps(server, url, username)
47
+ token = p_client.create_egeria_bearer_token(username, password)
51
48
 
52
49
  def generate_table() -> Table:
53
50
  """Make a new table."""
@@ -91,11 +88,9 @@ def display_startup_status(
91
88
  # service_status = service['serviceStatus']
92
89
 
93
90
  except (
94
- InvalidParameterException,
95
- PropertyServerException,
96
- UserNotAuthorizedException,
91
+ PyegeriaException
97
92
  ) as e:
98
- print_exception_response(e)
93
+ print_basic_exception(e)
99
94
  assert e.related_http_code != "200", "Invalid parameters"
100
95
 
101
96
 
@@ -22,11 +22,9 @@ from rich.live import Live
22
22
  from rich.table import Table
23
23
 
24
24
  from pyegeria import (
25
- InvalidParameterException,
26
- PropertyServerException,
25
+ PyegeriaException, print_basic_exception,
27
26
  RuntimeManager,
28
- UserNotAuthorizedException,
29
- print_exception_response,
27
+ print_exception_table,
30
28
  )
31
29
 
32
30
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
@@ -88,9 +86,9 @@ def display_status(
88
86
  sys.exit(1)
89
87
 
90
88
  for platform in platform_list:
91
- platform_name = platform["properties"].get("displayName", "---")
92
- platform_guid = platform["elementHeader"]["guid"]
93
- platform_desc = platform["properties"].get("resourceDescription", "---")
89
+ platform_name = platform.get("display_name", platform.get("properties", {}).get("displayName", "---"))
90
+ platform_guid = platform.get("guid", platform.get("elementHeader", {}).get("guid"))
91
+ platform_desc = platform.get("description", platform.get("properties", {}).get("resourceDescription", "---"))
94
92
  p_server_list = ""
95
93
 
96
94
  platform_report = p_client.get_platform_report(platform_guid)
@@ -154,11 +152,9 @@ def display_status(
154
152
  live.update(generate_table())
155
153
 
156
154
  except (
157
- InvalidParameterException,
158
- PropertyServerException,
159
- UserNotAuthorizedException,
155
+ PyegeriaException
160
156
  ) as e:
161
- print_exception_response(e)
157
+ print_basic_exception(e)
162
158
  except KeyboardInterrupt:
163
159
  pass
164
160
  finally:
@@ -15,14 +15,14 @@ import time
15
15
  from rich.live import Live
16
16
  from rich.table import Table
17
17
 
18
- from pyegeria._exceptions import (
19
- InvalidParameterException,
20
- PropertyServerException,
21
- UserNotAuthorizedException,
22
- print_exception_response,
18
+ from pyegeria.core._exceptions import (
19
+ PyegeriaInvalidParameterException,
20
+ PyegeriaAPIException as PropertyServerException,
21
+ PyegeriaUnauthorizedException as UserNotAuthorizedException,
22
+ print_basic_exception as print_exception_response,
23
23
  )
24
- from pyegeria.core_omag_server_config import CoreServerConfig
25
- from pyegeria.server_operations import ServerOps
24
+ from pyegeria.omvs.core_omag_server_config import CoreServerConfig
25
+ from pyegeria.omvs.server_operations import ServerOps
26
26
 
27
27
  disable_ssl_warnings = True
28
28
 
@@ -107,7 +107,7 @@ def display_status(
107
107
  live.update(generate_table())
108
108
 
109
109
  except (
110
- InvalidParameterException,
110
+ PyegeriaInvalidParameterException,
111
111
  PropertyServerException,
112
112
  UserNotAuthorizedException,
113
113
  ) as e:
@@ -16,11 +16,7 @@ from rich.live import Live
16
16
  from rich.table import Table
17
17
 
18
18
  from pyegeria import (
19
- InvalidParameterException,
20
- PropertyServerException,
21
- ServerOps,
22
- UserNotAuthorizedException,
23
- print_exception_response,
19
+ PyegeriaAPIException, PyegeriaClientException, print_basic_exception, print_exception_table ServerOps
24
20
  )
25
21
 
26
22
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
@@ -12,10 +12,10 @@ import argparse
12
12
  import os
13
13
 
14
14
  from pyegeria import EgeriaTech
15
- from pyegeria._exceptions import (
16
- InvalidParameterException,
17
- PropertyServerException,
18
- print_exception_response,
15
+ from pyegeria.core._exceptions import (
16
+ PyegeriaInvalidParameterException,
17
+ PyegeriaAPIException as PropertyServerException,
18
+ print_basic_exception as print_exception_response,
19
19
  )
20
20
 
21
21
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "qs-metadata-store")
@@ -52,7 +52,7 @@ def refresh_connector(
52
52
 
53
53
  print(f"\n===> Integration Daemon '{server}' refreshed {statement}.")
54
54
 
55
- except (InvalidParameterException, PropertyServerException) as e:
55
+ except (PyegeriaInvalidParameterException, PropertyServerException) as e:
56
56
  print_exception_response(e)
57
57
 
58
58
 
@@ -12,10 +12,10 @@ import argparse
12
12
  import os
13
13
 
14
14
  from pyegeria import EgeriaTech
15
- from pyegeria._exceptions import (
16
- InvalidParameterException,
17
- PropertyServerException,
18
- print_exception_response,
15
+ from pyegeria.core._exceptions import (
16
+ PyegeriaInvalidParameterException,
17
+ PyegeriaAPIException as PropertyServerException,
18
+ print_basic_exception as print_exception_response,
19
19
  )
20
20
 
21
21
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "qs-metadata-store")
@@ -51,7 +51,7 @@ def restart_connector(
51
51
 
52
52
  print(f"\n===> Integration Daemon '{server}' restarted {statement}.")
53
53
 
54
- except (InvalidParameterException, PropertyServerException) as e:
54
+ except (PyegeriaInvalidParameterException, PropertyServerException) as e:
55
55
  print_exception_response(e)
56
56
 
57
57
 
@@ -18,11 +18,11 @@ from rich.table import Table
18
18
  from textual.widgets import DataTable
19
19
 
20
20
  from pyegeria import EgeriaTech
21
- from pyegeria._exceptions import (
22
- InvalidParameterException,
23
- PropertyServerException,
24
- UserNotAuthorizedException,
25
- print_exception_response,
21
+ from pyegeria.core._exceptions import (
22
+ PyegeriaInvalidParameterException,
23
+ PyegeriaAPIException as PropertyServerException,
24
+ PyegeriaUnauthorizedException as UserNotAuthorizedException,
25
+ print_basic_exception as print_exception_response,
26
26
  )
27
27
 
28
28
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "qs-metadata-store")
@@ -224,7 +224,7 @@ def display_integration_daemon_status(
224
224
  return generate_table()
225
225
 
226
226
  except (
227
- InvalidParameterException,
227
+ PyegeriaInvalidParameterException,
228
228
  PropertyServerException,
229
229
  UserNotAuthorizedException,
230
230
  ) as e:
@@ -12,10 +12,10 @@ import click
12
12
 
13
13
  # from ops_config import Config, pass_config
14
14
  from pyegeria import EgeriaTech
15
- from pyegeria._exceptions import (
16
- InvalidParameterException,
17
- PropertyServerException,
18
- print_exception_response,
15
+ from pyegeria.core._exceptions import (
16
+ PyegeriaInvalidParameterException,
17
+ PyegeriaAPIException as PropertyServerException,
18
+ print_basic_exception as print_exception_response,
19
19
  )
20
20
 
21
21
 
@@ -32,7 +32,7 @@ def stop_server(ctx, server):
32
32
 
33
33
  p_client.shutdown_server(server_guid)
34
34
  click.echo(f"Stopped server {server}")
35
- except (InvalidParameterException, PropertyServerException) as e:
35
+ except (PyegeriaInvalidParameterException, PropertyServerException) as e:
36
36
  print_exception_response(e)
37
37
  finally:
38
38
  p_client.close_session()
@@ -51,7 +51,7 @@ def start_server(ctx, server):
51
51
 
52
52
  click.echo(f"Started server {server}")
53
53
 
54
- except (InvalidParameterException, PropertyServerException) as e:
54
+ except (PyegeriaInvalidParameterException, PropertyServerException) as e:
55
55
  print_exception_response(e)
56
56
  finally:
57
57
  p_client.close_session()
@@ -70,7 +70,7 @@ def refresh(ctx):
70
70
 
71
71
  click.echo(f"Refreshed server {c.engine_host}")
72
72
 
73
- except (InvalidParameterException, PropertyServerException) as e:
73
+ except (PyegeriaInvalidParameterException, PropertyServerException) as e:
74
74
  print_exception_response(e)
75
75
  finally:
76
76
  p_client.close_session()
commands/tech/__init__.py CHANGED
@@ -4,8 +4,6 @@ Copyright Contributors to the ODPi Egeria project.
4
4
 
5
5
  """
6
6
  from pyegeria import (
7
- INTEGRATION_GUIDS,
8
- TEMPLATE_GUIDS,
9
7
  default_time_out,
10
8
  disable_ssl_warnings,
11
9
  enable_ssl_check,
@@ -8,21 +8,16 @@ Execute Generic actions.
8
8
 
9
9
  """
10
10
 
11
- import csv
12
- import json
13
11
  import os
14
- import sys
15
- import time
16
- from datetime import datetime
17
12
 
18
13
  import click
19
14
 
20
15
 
21
- from pyegeria import EgeriaTech, body_slimmer
22
- from pyegeria._exceptions import (
23
- InvalidParameterException,
24
- PropertyServerException,
25
- print_exception_response,
16
+ from pyegeria import EgeriaTech
17
+ from pyegeria.core._exceptions import (
18
+ PyegeriaInvalidParameterException,
19
+ PyegeriaAPIException as PropertyServerException,
20
+ print_basic_exception as print_exception_response,
26
21
  )
27
22
 
28
23
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
@@ -66,7 +61,7 @@ def delete_element(cascade, server, url, userid, password, timeout, element_guid
66
61
 
67
62
  click.echo(f"Deleted element: {element_guid}")
68
63
 
69
- except (InvalidParameterException, PropertyServerException) as e:
64
+ except (PyegeriaInvalidParameterException, PropertyServerException) as e:
70
65
  print_exception_response(e)
71
66
  finally:
72
67
  m_client.close_session()
@@ -22,26 +22,18 @@ from rich.tree import Tree
22
22
 
23
23
  from pyegeria import (
24
24
  ClassificationManager,
25
- Client,
26
- InvalidParameterException,
27
- PropertyServerException,
28
- UserNotAuthorizedException,
25
+ PyegeriaException,
26
+ print_basic_exception,
27
+ settings,
28
+ config_logging, PyegeriaAPIException, print_exception_table
29
29
  )
30
30
 
31
- EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
32
- EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
33
- EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
34
- EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
35
- EGERIA_VIEW_SERVER_URL = os.environ.get(
36
- "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
37
- )
38
- EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
39
- EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
40
- EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
41
31
  EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
42
32
  EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
43
- EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
44
- EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
33
+
34
+ app_config = settings.Environment
35
+ config_logging()
36
+ console = Console(width=app_config.console_width)
45
37
 
46
38
 
47
39
  def display_elements(
@@ -50,8 +42,8 @@ def display_elements(
50
42
  url: str,
51
43
  username: str,
52
44
  user_password: str,
53
- jupyter: bool = EGERIA_JUPYTER,
54
- width: int = EGERIA_WIDTH,
45
+ jupyter: bool = app_config.egeria_jupyter,
46
+ width: int = app_config.console_width,
55
47
  ):
56
48
  c = ClassificationManager(server, url, user_id=username, user_pwd=user_password)
57
49
 
@@ -101,17 +93,16 @@ def display_elements(
101
93
 
102
94
  c.close_session()
103
95
 
104
- except (
105
- InvalidParameterException,
106
- PropertyServerException,
107
- UserNotAuthorizedException,
108
- ValueError,
109
- ) as e:
110
- if type(e) is str:
111
- console.print_exception()
96
+ except PyegeriaAPIException as e:
97
+ if e.response_egeria_msg_id == "OMAG-COMMON-400-018":
98
+ console.print(f"\n ===> Looks like the type {om_type} isn't known...\n")
112
99
  else:
113
- # console.print_exception(show_locals=True)
100
+ print_basic_exception(e)
101
+ except PyegeriaException as e:
102
+ if e.response_egeria_msg_id == "OMAG-COMMON-400-018":
114
103
  console.print(f"\n ===> Looks like the type {om_type} isn't known...\n")
104
+ else:
105
+ print_basic_exception(e)
115
106
 
116
107
 
117
108
  def main():
@@ -124,8 +115,8 @@ def main():
124
115
  # parser.add_argument("--sponsor", help="Name of sponsor to search")
125
116
  args = parser.parse_args()
126
117
 
127
- server = args.server if args.server is not None else EGERIA_VIEW_SERVER
128
- url = args.url if args.url is not None else EGERIA_VIEW_SERVER_URL
118
+ server = args.server if args.server is not None else app_config.egeria_view_server
119
+ url = args.url if args.url is not None else app_config.egeria_view_server_url
129
120
  userid = args.userid if args.userid is not None else EGERIA_USER
130
121
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
131
122
 
@@ -21,27 +21,19 @@ from rich.text import Text
21
21
  from rich.tree import Tree
22
22
 
23
23
  from pyegeria import (
24
- ClassificationManager,
25
- Client,
26
- InvalidParameterException,
27
- PropertyServerException,
28
- UserNotAuthorizedException,
24
+ ServerClient,
25
+ PyegeriaException,
26
+ print_basic_exception,
27
+ settings,
28
+ config_logging
29
29
  )
30
30
 
31
- EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
32
- EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
33
- EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
34
- EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
35
- EGERIA_VIEW_SERVER_URL = os.environ.get(
36
- "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
37
- )
38
- EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
39
- EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
40
- EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
41
31
  EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
42
32
  EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
43
- EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
44
- EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
33
+
34
+ app_config = settings.Environment
35
+ config_logging()
36
+ console = Console(width=app_config.console_width)
45
37
 
46
38
 
47
39
  def display_guid(
@@ -50,34 +42,25 @@ def display_guid(
50
42
  url: str,
51
43
  username: str,
52
44
  user_password: str,
53
- jupyter: bool = EGERIA_JUPYTER,
54
- width: int = EGERIA_WIDTH,
45
+ jupyter: bool = app_config.egeria_jupyter,
46
+ width: int = app_config.console_width,
55
47
  ):
56
- c = Client(server, url, user_id=username)
57
- url = (
58
- f"{url}/servers/{server}/open-metadata/repository-services/users/{username}/"
59
- f"instances/entity/{guid}"
60
- )
61
- # c = ClassificationManager(server, url)
62
-
48
+ c = ServerClient(server, url, user_id=username)
63
49
  bearer_token = c.create_egeria_bearer_token(username, user_password)
64
50
 
65
51
  try:
66
52
  console = Console(
67
53
  width=width, force_terminal=not jupyter, style="bold white on black"
68
54
  )
69
- r = c.make_request("GET", url)
70
- if r.status_code == 200:
71
- pass
72
- # r = c.retrieve_instance_for_guid(guid)
73
- e = r.json()["entity"]
74
- p = e["properties"]["instanceProperties"]
75
-
76
- type_name = Text(f"Type is: {e['type']['typeDefName']}")
55
+ r = c._get_element_by_guid_(guid)
56
+ el = r["elementHeader"]
57
+ p = r["properties"]
58
+
59
+ type_name = Text(f"Type is: {el['type']['typeName']}")
77
60
  metadataCollection = Text(
78
- f"Metadadata Collection: {e['metadataCollectionName']}"
61
+ f"Metadadata Collection: {el['origin']['homeMetadataCollectionName']}"
79
62
  )
80
- created = Text(f"Created at: {e['createTime']}")
63
+ created = Text(f"Created at: {el['versions']['createTime']}")
81
64
  details = Text(f"Details: {json.dumps(p, indent=2)}")
82
65
 
83
66
  tree = Tree(
@@ -95,9 +78,7 @@ def display_guid(
95
78
  c.close_session()
96
79
 
97
80
  except (
98
- InvalidParameterException,
99
- PropertyServerException,
100
- UserNotAuthorizedException,
81
+ PyegeriaException,
101
82
  ValueError,
102
83
  ) as e:
103
84
  if type(e) is str:
@@ -117,14 +98,14 @@ def main():
117
98
  # parser.add_argument("--sponsor", help="Name of sponsor to search")
118
99
  args = parser.parse_args()
119
100
 
120
- server = args.server if args.server is not None else EGERIA_METADATA_STORE
121
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
101
+ server = args.server if args.server is not None else app_config.egeria_view_server
102
+ url = args.url if args.url is not None else app_config.egeria_view_server_url
122
103
  userid = args.userid if args.userid is not None else EGERIA_USER
123
104
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
124
105
 
125
106
  try:
126
107
  guid = Prompt.ask("Enter the GUID to retrieve", default=None)
127
- display_guid(guid, server, url, userid, user_pass)
108
+ display_guid(guid.strip(), server, url, userid, user_pass)
128
109
  except KeyboardInterrupt:
129
110
  pass
130
111
 
@@ -20,30 +20,19 @@ from rich.tree import Tree
20
20
 
21
21
  from pyegeria import (
22
22
  AutomatedCuration,
23
- InvalidParameterException,
24
- PropertyServerException,
25
- UserNotAuthorizedException,
23
+ PyegeriaException,
24
+ print_basic_exception,
25
+ settings,
26
+ config_logging
26
27
  )
27
- from pyegeria._exceptions import print_exception_response
28
-
29
- EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
30
- EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
31
- EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
32
- EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
33
- EGERIA_VIEW_SERVER_URL = os.environ.get(
34
- "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
35
- )
36
- EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
37
- EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
38
- EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
28
+
39
29
  EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
40
30
  EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
41
- EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
42
- EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
43
31
 
44
- # nest_asyncio.apply()
32
+ app_config = settings.Environment
33
+ config_logging()
34
+ console = Console(width = app_config.console_width)
45
35
 
46
- disable_ssl_warnings = True
47
36
 
48
37
 
49
38
  def tech_details_viewer(
@@ -52,20 +41,18 @@ def tech_details_viewer(
52
41
  platform_url: str,
53
42
  user: str,
54
43
  user_password: str,
55
- jupyter: bool = EGERIA_JUPYTER,
56
- width: int = EGERIA_WIDTH,
44
+ jupyter: bool = app_config.egeria_jupyter,
45
+ width: int = app_config.console_width,
57
46
  ):
58
47
  console = Console(width=width, force_terminal=not jupyter)
59
48
 
60
- # print(f"tech is {tech} of type {type(tech)}")
61
- # sys.exit(0)
62
49
  def view_tech_details(
63
50
  a_client: AutomatedCuration, root_collection_name: str, tree: Tree
64
51
  ) -> Tree:
65
52
  l2: Tree = None
66
- tech_details = a_client.get_technology_type_detail(tech)
53
+ tech_details = a_client.get_tech_type_detail(tech)
67
54
  if (type(tech_details) is dict) and (len(tech_details) > 0):
68
- name = tech_details.get("name", "---")
55
+ name = tech_details.get("displayName", "---")
69
56
  qualified_name = tech_details.get("qualifiedName", "---")
70
57
  category = tech_details.get("category", "---")
71
58
  description = tech_details.get("description", "---")
@@ -95,16 +82,16 @@ def tech_details_viewer(
95
82
  f"[bold bright_white]{resource.get('resourceUse', '---')}"
96
83
  )
97
84
  resource_use_description = Text(
98
- f"[bold bright_white]{resource.get('resourceUseDescription', '---')}"
85
+ f"[bold bright_white]{resource.get('description', '---')}"
99
86
  )
100
87
  type_name = Text(
101
- f"[bold bright_white]{resource['relatedElement']['type'].get('typeName', '---')}"
88
+ f"[bold bright_white]{resource['relatedElement']['elementHeader']['type'].get('typeName', '---')}"
102
89
  )
103
90
  unique_name = Text(
104
- f"[bold bright_white]{resource['relatedElement'].get('uniqueName', '---')}"
91
+ f"[bold bright_white]{resource['relatedElement']['properties'].get('qualifiedName', '---')}"
105
92
  )
106
93
  related_guid = Text(
107
- f"[bold bright_white]{resource['relatedElement'].get('guid', '---')}"
94
+ f"[bold bright_white]{resource['relatedElement']['elementHeader'].get('guid', '---')}"
108
95
  )
109
96
  resource_text = (
110
97
  f"[bold red]Resource\n"
@@ -139,11 +126,9 @@ def tech_details_viewer(
139
126
  print(tree)
140
127
 
141
128
  except (
142
- InvalidParameterException,
143
- PropertyServerException,
144
- UserNotAuthorizedException,
129
+ PyegeriaException,
145
130
  ) as e:
146
- print_exception_response(e)
131
+ print_basic_exception(e)
147
132
 
148
133
 
149
134
  def main():
@@ -155,8 +140,8 @@ def main():
155
140
  parser.add_argument("--password", help="User Password")
156
141
  args = parser.parse_args()
157
142
 
158
- server = args.server if args.server is not None else EGERIA_VIEW_SERVER
159
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
143
+ server = args.server if args.server is not None else app_config.egeria_view_server
144
+ url = args.url if args.url is not None else app_config.egeria_view_server_url
160
145
  userid = args.userid if args.userid is not None else EGERIA_USER
161
146
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
162
147
  try: