pyegeria 0.2.4__py3-none-any.whl → 5.3.0.dev3__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.
Files changed (239) hide show
  1. pyegeria/README.md +35 -0
  2. pyegeria/__init__.py +345 -14
  3. pyegeria/_client.py +376 -126
  4. pyegeria/_deprecated_gov_engine.py +451 -0
  5. pyegeria/_exceptions.py +6 -6
  6. pyegeria/_globals.py +7 -1
  7. pyegeria/_validators.py +9 -6
  8. pyegeria/asset_catalog_omvs.py +807 -0
  9. pyegeria/automated_curation_omvs.py +3760 -0
  10. pyegeria/classification_manager_omvs.py +5238 -0
  11. pyegeria/collection_manager_omvs.py +2727 -0
  12. pyegeria/commands/README.md +47 -0
  13. pyegeria/commands/__init__.py +22 -0
  14. pyegeria/commands/cat/README.md +16 -0
  15. pyegeria/commands/cat/__init__.py +1 -0
  16. pyegeria/commands/cat/exp_list_glossaries.py +156 -0
  17. pyegeria/commands/cat/get_asset_graph.py +319 -0
  18. pyegeria/commands/cat/get_collection.py +148 -0
  19. pyegeria/commands/cat/get_project_dependencies.py +168 -0
  20. pyegeria/commands/cat/get_project_structure.py +168 -0
  21. pyegeria/commands/cat/get_tech_type_elements.py +174 -0
  22. pyegeria/commands/cat/glossary_actions.py +362 -0
  23. pyegeria/commands/cat/list_assets.py +176 -0
  24. pyegeria/commands/cat/list_cert_types.py +194 -0
  25. pyegeria/commands/cat/list_collections.py +162 -0
  26. pyegeria/commands/cat/list_deployed_catalogs.py +217 -0
  27. pyegeria/commands/cat/list_deployed_database_schemas.py +251 -0
  28. pyegeria/commands/cat/list_deployed_databases.py +202 -0
  29. pyegeria/commands/cat/list_glossaries.py +150 -0
  30. pyegeria/commands/cat/list_projects.py +221 -0
  31. pyegeria/commands/cat/list_servers_deployed_imp.py +158 -0
  32. pyegeria/commands/cat/list_tech_type_elements.py +190 -0
  33. pyegeria/commands/cat/list_tech_types.py +140 -0
  34. pyegeria/commands/cat/list_terms.py +242 -0
  35. pyegeria/commands/cat/list_todos.py +189 -0
  36. pyegeria/commands/cat/list_user_ids.py +145 -0
  37. pyegeria/commands/cli/__init__.py +13 -0
  38. pyegeria/commands/cli/egeria.py +1844 -0
  39. pyegeria/commands/cli/egeria_cat.py +638 -0
  40. pyegeria/commands/cli/egeria_login_tui.py +313 -0
  41. pyegeria/commands/cli/egeria_my.py +248 -0
  42. pyegeria/commands/cli/egeria_ops.py +502 -0
  43. pyegeria/commands/cli/egeria_tech.py +618 -0
  44. pyegeria/commands/cli/ops_config.py +45 -0
  45. pyegeria/commands/cli/txt_custom_v2.tcss +19 -0
  46. pyegeria/commands/doc/README.md +145 -0
  47. pyegeria/commands/doc/Visual Command Reference/README.md +511 -0
  48. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/asset-graph 2024-11-20 at 15.56.42.png +0 -0
  49. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/assets-in-domain 2024-11-20 at 15.49.55@2x.png +0 -0
  50. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/elements-of-type 2024-11-20 at 16.01.35.png +0 -0
  51. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/tech-type-elements 2024-11-20 at 16.05.05.png +0 -0
  52. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs 2024-12-17 at 15.43.27@2x.png +0 -0
  53. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs-2024-11-20 at 16.17.43@2x.png +0 -0
  54. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-11-25 at 20.14.50@2x.png +0 -0
  55. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-12-17 at 15.48.38@2x.png +0 -0
  56. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-11-25 at 20.21.25@2x.png +0 -0
  57. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-12-17 at 15.52.16@2x.png +0 -0
  58. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed_databases 2024-12-16 at 16.40.31@2x.png +0 -0
  59. pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-glossaries 2024-11-25 at 20.30.02.png +0 -0
  60. pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-terms 2024-11-25 at 20.32.11.png +0 -0
  61. pyegeria/commands/doc/Visual Command Reference/cat/show/info/asset-types 2024-11-25 at 20.34.19@2x.png +0 -0
  62. pyegeria/commands/doc/Visual Command Reference/cat/show/info/certification-types 2024-11-25 at 20.37.07.png +0 -0
  63. pyegeria/commands/doc/Visual Command Reference/cat/show/info/collection-graph 2024-12-12 at 11.33.18@2x.png +0 -0
  64. pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-collections 2024-12-10 at 14.25.51@2x.png +0 -0
  65. pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-todos 2024-12-12 at 11.46.30@2x.png +0 -0
  66. pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-user-ids 2024-12-12 at 11.51.09@2x.png +0 -0
  67. pyegeria/commands/doc/Visual Command Reference/cat/show/info/tech-types 2024-12-12 at 11.37.20@2x.png +0 -0
  68. pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_dependencies 2024-12-14 at 16.24.39@2x.png +0 -0
  69. pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_structure 2024-12-14 at 16.21.35@2x.png +0 -0
  70. pyegeria/commands/doc/Visual Command Reference/cat/show/projects/projects 2024-12-14 at 16.18.10@2x.png +0 -0
  71. pyegeria/commands/doc/Visual Command Reference/hey_egeria tui 2024-12-16 at 16.58.22@2x.png +0 -0
  72. pyegeria/commands/doc/Visual Command Reference/my/show/my_profile 2024-12-14 at 16.29.27@2x.png +0 -0
  73. pyegeria/commands/doc/Visual Command Reference/my/show/my_roles 2024-12-14 at 16.32.10@2x.png +0 -0
  74. pyegeria/commands/doc/Visual Command Reference/my/show/my_todos 2024-12-15 at 16.24.13@2x.png +0 -0
  75. pyegeria/commands/doc/Visual Command Reference/my/show/open_todos 2024-12-14 at 16.36.12@2x.png +0 -0
  76. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/list_engine_activity compressed 2024-12-15 at 16.48.48@2x.png +0 -0
  77. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity 2024-12-15 at 16.32.55@2x.png +0 -0
  78. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity compressed 2024-12-15 at 16.38.29@2x.png +0 -0
  79. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_status 2024-12-15 at 16.51.26.jpeg +0 -0
  80. pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_daemon_status 2024-12-15 at 16.57.12@2x.png +0 -0
  81. pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_targets 2024-12-15 at 17.02.19@2x.png +0 -0
  82. pyegeria/commands/doc/Visual Command Reference/ops/show/platforms/monitor_platform_status 2024-12-15 at 19.53.18@2x.png +0 -0
  83. pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status 2024-12-15 at 19.59.39@2x.png +0 -0
  84. pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status full 2024-12-15 at 20.01.57@2x.png +0 -0
  85. pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_startup_servers 2024-12-15 at 19.56.07@2x.png +0 -0
  86. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_anchored_elements 2024-12-15 at 21.25.41@2x.png +0 -0
  87. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_elements_of_om_type 2024-12-16 at 14.39.59@2x.png +0 -0
  88. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/info_for_guid 2024-12-16 at 11.35.29@2x.png +0 -0
  89. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_by_om-type 2024-12-16 at 14.24.18@2x.png +0 -0
  90. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_by_om-type extended 2024-12-16 at 14.28.46@2x.png +0 -0
  91. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_of_om_type_by_classification 2024-12-16 at 14.35.26@2x.png +0 -0
  92. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/related_elements 2024-12-16 at 14.55.01@2x.png +0 -0
  93. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/show_related_specifications 2024-12-16 at 15.04.55@2x.png +0 -0
  94. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/asset_types 2024-12-16 at 15.10.16@2x.png +0 -0
  95. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/detailed_governance_action_processes 2024-12-16 at 15.16.26@2x.png +0 -0
  96. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/governance_action_processes 2024-12-16 at 15.13.01@2x.png +0 -0
  97. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/registered_services 2024-12-16 at 16.44.54@2x.png +0 -0
  98. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-16 at 16.20.34@2x.png +0 -0
  99. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-19 at 10.51.54@2x.png +0 -0
  100. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/valid_metadata_values 2024-12-16 at 15.31.56@2x.png +0 -0
  101. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_tech_type_template_specs 2024-12-16 at 16.03.22@2x.png +0 -0
  102. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_technology_types 2024-12-16 at 15.39.20@2x.png +0 -0
  103. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_details 2024-12-16 at 15.37.21@2x.png +0 -0
  104. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_templates 2024-12-16 at 16.11.48@2x.png +0 -0
  105. pyegeria/commands/doc/glossary/basic-glossary-tui.md +109 -0
  106. pyegeria/commands/doc/glossary/images/delete-glossary-step1 2024-11-06 at 15.47.23@2x.png +0 -0
  107. pyegeria/commands/doc/glossary/images/delete-glossary-step2 2024-11-06 at 15.51.29@2x.png +0 -0
  108. pyegeria/commands/doc/glossary/images/delete-glossary-step3 2024-11-06 at 15.53.19@2x.png +0 -0
  109. pyegeria/commands/doc/glossary/images/delete-glossary-step4 2024-11-06 at 15.55.11@2x.png +0 -0
  110. pyegeria/commands/doc/glossary/images/out-create-glossary example 2024-11-05 at 20.38.04@2x.png +0 -0
  111. pyegeria/commands/doc/glossary/images/out-create-term 2024-11-06 at 20.48.29.png +0 -0
  112. pyegeria/commands/doc/glossary/images/out-delete-term 2024-11-07 at 03.57.25.png +0 -0
  113. pyegeria/commands/doc/glossary/images/out-display-terms-for-glossary-test 2024-11-06 at 20.51.28.png +0 -0
  114. pyegeria/commands/doc/glossary/images/out-export-example 2024-11-07 at 09.54.57.png +0 -0
  115. pyegeria/commands/doc/glossary/images/out-exported-terms 2024-11-06 at 21.06.32.png +0 -0
  116. pyegeria/commands/doc/glossary/images/out-glossary-list example 2024-11-05 at 20.41.02@2x.png +0 -0
  117. pyegeria/commands/doc/glossary/images/out-import-terms 2024-11-07 at 08.15.18.png +0 -0
  118. pyegeria/commands/doc/glossary/images/out-list-all-terms 2024-11-06 at 16.22.20@2x.png +0 -0
  119. pyegeria/commands/doc/glossary/images/out-list-terms-for-example 2024-11-06 at 16.40.12.png +0 -0
  120. pyegeria/commands/doc/glossary/images/out-list-terms-second 2024-11-06 at 16.45.13.png +0 -0
  121. pyegeria/commands/doc/glossary/images/out-pipx install pyegeria 2024-11-10 at 18.12.21.png +0 -0
  122. pyegeria/commands/doc/glossary/images/out-server-status-full 2024-11-10 at 18.25.14.png +0 -0
  123. pyegeria/commands/doc/glossary/images/out-servers-status 2024-11-10 at 18.15.42.png +0 -0
  124. pyegeria/commands/doc/glossary/images/out-upsert-import 2024-11-07 at 19.37.00.png +0 -0
  125. pyegeria/commands/doc/glossary/images/tui-2024-11-10 at 18.26.29.png +0 -0
  126. pyegeria/commands/doc/glossary/images/tui-create-glossary example 2024-11-05 at 20.34.24@2x.png +0 -0
  127. pyegeria/commands/doc/glossary/images/tui-create-term 2024-11-06 at 20.46.35.png +0 -0
  128. pyegeria/commands/doc/glossary/images/tui-delete-term 2024-11-07 at 03.51.57.png +0 -0
  129. pyegeria/commands/doc/glossary/images/tui-display-terms-for-example 2024-11-06 at 20.56.49.png +0 -0
  130. pyegeria/commands/doc/glossary/images/tui-export-example 2024-11-07 at 09.52.59.png +0 -0
  131. pyegeria/commands/doc/glossary/images/tui-hey-egeria 2024-11-10 at 18.31.01.png +0 -0
  132. pyegeria/commands/doc/glossary/images/tui-import-upsert-example 2024-11-07 at 10.08.37.png +0 -0
  133. pyegeria/commands/doc/glossary/images/tui-list-terms-second 2024-11-06 at 16.46.34.png +0 -0
  134. pyegeria/commands/doc/glossary/images/tui-load-archive.png +0 -0
  135. pyegeria/commands/doc/glossary/images/tui-server-status-full 2024-11-10 at 19.14.36.png +0 -0
  136. pyegeria/commands/doc/glossary/images/tui-show-glossaries 2024-11-07 at 20.00.05.png +0 -0
  137. pyegeria/commands/doc/glossary/images/tui-show-glossary-terms 2024-11-05 at 19.37.53@2x.png +0 -0
  138. pyegeria/commands/doc/glossary/images/tui-upsert 2024-11-07 at 11.49.04.png +0 -0
  139. pyegeria/commands/doc/glossary/images/upsert-example.om-terms 2024-11-07 at 11.44.05.png +0 -0
  140. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/README.md +346 -0
  141. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png +0 -0
  142. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731421782704.png +0 -0
  143. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731422134920.png +0 -0
  144. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria 2024-11-12 at 20.38.43.png +0 -0
  145. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria cat 2024-11-12 at 21.41.43.png +0 -0
  146. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-list 2024-11-12 at 16.45.26.png +0 -0
  147. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-live 2024-11-12 at 16.44.12@2x.png +0 -0
  148. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status 2024-11-10 at 18.15.42@2x.png +0 -0
  149. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status-full 2024-11-10 at 18.25.14@2x.png +0 -0
  150. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/short-cut commands 2024-11-12 at 22.22.13.png +0 -0
  151. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-hey-egeria.png +0 -0
  152. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-integration-status-paging.png +0 -0
  153. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-load-archive 2024-11-10 at 19.19.09@2x.png +0 -0
  154. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status 2024-11-10 at 18.52.01@2x.png +0 -0
  155. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status-full 2024-11-10.png +0 -0
  156. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-status-paging 2024-11-12 at 16.26.14@2x.png +0 -0
  157. pyegeria/commands/my/README.md +17 -0
  158. pyegeria/commands/my/__init__.py +0 -0
  159. pyegeria/commands/my/list_my_profile.py +163 -0
  160. pyegeria/commands/my/list_my_roles.py +151 -0
  161. pyegeria/commands/my/monitor_my_todos.py +205 -0
  162. pyegeria/commands/my/monitor_open_todos.py +175 -0
  163. pyegeria/commands/my/todo_actions.py +242 -0
  164. pyegeria/commands/ops/README.md +24 -0
  165. pyegeria/commands/ops/__init__.py +22 -0
  166. pyegeria/commands/ops/gov_server_actions.py +177 -0
  167. pyegeria/commands/ops/list_archives.py +161 -0
  168. pyegeria/commands/ops/list_catalog_targets.py +203 -0
  169. pyegeria/commands/ops/load_archive.py +75 -0
  170. pyegeria/commands/ops/monitor_asset_events.py +107 -0
  171. pyegeria/commands/ops/monitor_engine_activity.py +270 -0
  172. pyegeria/commands/ops/monitor_engine_activity_c.py +286 -0
  173. pyegeria/commands/ops/monitor_gov_eng_status.py +288 -0
  174. pyegeria/commands/ops/monitor_integ_daemon_status.py +321 -0
  175. pyegeria/commands/ops/monitor_platform_status.py +188 -0
  176. pyegeria/commands/ops/monitor_server_startup.py +117 -0
  177. pyegeria/commands/ops/monitor_server_status.py +182 -0
  178. pyegeria/commands/ops/orig_monitor_server_list.py +140 -0
  179. pyegeria/commands/ops/orig_monitor_server_status.py +124 -0
  180. pyegeria/commands/ops/refresh_integration_daemon.py +83 -0
  181. pyegeria/commands/ops/restart_integration_daemon.py +82 -0
  182. pyegeria/commands/ops/table_integ_daemon_status.py +237 -0
  183. pyegeria/commands/ops/x_engine_actions.py +76 -0
  184. pyegeria/commands/tech/README.md +24 -0
  185. pyegeria/commands/tech/__init__.py +0 -0
  186. pyegeria/commands/tech/get_element_info.py +144 -0
  187. pyegeria/commands/tech/get_guid_info.py +134 -0
  188. pyegeria/commands/tech/get_tech_details.py +173 -0
  189. pyegeria/commands/tech/get_tech_type_template.py +166 -0
  190. pyegeria/commands/tech/list_anchored_elements.py +205 -0
  191. pyegeria/commands/tech/list_asset_types.py +123 -0
  192. pyegeria/commands/tech/list_elements.py +168 -0
  193. pyegeria/commands/tech/list_elements_for_classification.py +171 -0
  194. pyegeria/commands/tech/list_elements_x.py +191 -0
  195. pyegeria/commands/tech/list_gov_action_processes.py +139 -0
  196. pyegeria/commands/tech/list_registered_services.py +180 -0
  197. pyegeria/commands/tech/list_related_elements.py +207 -0
  198. pyegeria/commands/tech/list_related_specification.py +169 -0
  199. pyegeria/commands/tech/list_relationship_types.py +164 -0
  200. pyegeria/commands/tech/list_relationships.py +179 -0
  201. pyegeria/commands/tech/list_tech_templates.py +360 -0
  202. pyegeria/commands/tech/list_valid_metadata_values.py +178 -0
  203. pyegeria/commands/tech/table_tech_templates.py +238 -0
  204. pyegeria/commands/tech/x_list_related_elements.py +165 -0
  205. pyegeria/core_omag_server_config.py +550 -313
  206. pyegeria/create_tech_guid_lists.py +105 -0
  207. pyegeria/egeria_cat_client.py +78 -0
  208. pyegeria/egeria_client.py +117 -0
  209. pyegeria/egeria_config_client.py +45 -0
  210. pyegeria/egeria_my_client.py +56 -0
  211. pyegeria/egeria_tech_client.py +93 -0
  212. pyegeria/feedback_manager_omvs.py +4573 -0
  213. pyegeria/full_omag_server_config.py +1337 -0
  214. pyegeria/glossary_browser_omvs.py +2507 -0
  215. pyegeria/glossary_manager_omvs.py +3597 -0
  216. pyegeria/mermaid_utilities.py +218 -0
  217. pyegeria/metadata_explorer_omvs.py +2371 -0
  218. pyegeria/my_profile_omvs.py +1021 -0
  219. pyegeria/platform_services.py +259 -218
  220. pyegeria/project_manager_omvs.py +1854 -0
  221. pyegeria/registered_info.py +111 -108
  222. pyegeria/runtime_manager_omvs.py +2299 -0
  223. pyegeria/server_operations.py +178 -71
  224. pyegeria/template_manager_omvs.py +1414 -0
  225. pyegeria/utils.py +75 -85
  226. pyegeria/valid_metadata_omvs.py +1911 -0
  227. pyegeria/x_action_author_omvs.py +200 -0
  228. pyegeria-5.3.0.dev3.dist-info/METADATA +70 -0
  229. pyegeria-5.3.0.dev3.dist-info/RECORD +232 -0
  230. {pyegeria-0.2.4.dist-info → pyegeria-5.3.0.dev3.dist-info}/WHEEL +1 -1
  231. pyegeria-5.3.0.dev3.dist-info/entry_points.txt +81 -0
  232. pyegeria/config.toml +0 -11
  233. pyegeria/curation_omvs.py +0 -458
  234. pyegeria/exceptions.py +0 -382
  235. pyegeria/glossary_omvs.py +0 -639
  236. pyegeria/gov_engine.py +0 -573
  237. pyegeria-0.2.4.dist-info/METADATA +0 -57
  238. pyegeria-0.2.4.dist-info/RECORD +0 -19
  239. {pyegeria-0.2.4.dist-info/licenses → pyegeria-5.3.0.dev3.dist-info}/LICENSE +0 -0
@@ -0,0 +1,251 @@
1
+ """This creates a templates guid file from the core metadata archive"""
2
+ from rich.markdown import Markdown
3
+ from rich.prompt import Prompt
4
+ import os
5
+ import argparse
6
+ import time
7
+ import sys
8
+ from rich import box
9
+ from rich.console import Console
10
+ from rich.table import Table
11
+
12
+ from pyegeria import (
13
+ InvalidParameterException,
14
+ PropertyServerException,
15
+ UserNotAuthorizedException,
16
+ print_exception_response,
17
+ EgeriaTech,
18
+ )
19
+
20
+
21
+ console = Console()
22
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
23
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
24
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
25
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
26
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
27
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
28
+ )
29
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
30
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
31
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
32
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
33
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
34
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
35
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
36
+
37
+
38
+ def check_if_template(header: dict) -> bool:
39
+ """Check if the the template classification is set"""
40
+ classifications = header.get("classifications", None)
41
+ if classifications is None:
42
+ return False
43
+ for c in classifications:
44
+ if c["type"]["typeName"] == "Template":
45
+ return True
46
+ return False
47
+
48
+
49
+ def make_prop_md(props: dict) -> str:
50
+ """Given a properties dict, make a markdown string"""
51
+ props_md = ""
52
+ for key in props.keys():
53
+ props_md += f"* {key}: {props[key]}\n"
54
+ return props_md
55
+
56
+
57
+ def list_deployed_database_schemas(
58
+ db_name: str = "*",
59
+ view_server: str = EGERIA_VIEW_SERVER,
60
+ view_url: str = EGERIA_VIEW_SERVER_URL,
61
+ user: str = EGERIA_USER,
62
+ user_pass: str = EGERIA_USER_PASSWORD,
63
+ jupyter: bool = EGERIA_JUPYTER,
64
+ width: int = EGERIA_WIDTH,
65
+ ):
66
+ """List schemas that have been deployed in database catalogs or databases.
67
+ Parameters
68
+ ----------
69
+ db_name : str
70
+ Name of the database or catalog to get schemas for, or '*' for all databases.
71
+ view_server : str
72
+ The view server to connect to.
73
+ view_url : str
74
+ URL of the view server.
75
+ user : str
76
+ Username for authentication.
77
+ user_pass : str
78
+ Password for authentication.
79
+ jupyter : bool
80
+ Whether to force the terminal output to behave as if in a Jupyter notebook.
81
+ width : int
82
+ Width of the console output.
83
+ """
84
+ c_client = EgeriaTech(view_server, view_url, user_id=user, user_pwd=user_pass)
85
+ token = c_client.create_egeria_bearer_token()
86
+
87
+ def generate_table() -> Table:
88
+ """Make a new table."""
89
+ table = Table(
90
+ title=f"Catalog Schema List @ {time.asctime()}",
91
+ caption=f"Databases found: {view_url} - {view_server} @ {time.asctime()}",
92
+ style="bold bright_white on black",
93
+ row_styles=["bold bright_white on black"],
94
+ header_style="white on dark_blue",
95
+ title_style="bold bright_white on black",
96
+ caption_style="white on black",
97
+ show_lines=True,
98
+ box=box.ROUNDED,
99
+ expand=True,
100
+ # width=500
101
+ )
102
+
103
+ table.add_column("Schema in Catalog")
104
+ table.add_column("Schema Properties")
105
+ table.add_column("Cataloged Resource")
106
+
107
+ om_type = "DeployedDatabaseSchema"
108
+
109
+ # First get the deployed schemas - either all of them or for a specific server
110
+ if db_name in (None, "*"):
111
+ dbs = c_client.get_elements(om_type)
112
+ else:
113
+ # get the guid for the database or catalog and then all schemas anchored on that catalog
114
+ db_guid = c_client.get_guid_for_name(db_name)
115
+ dbs = c_client.get_elements_by_classification_with_property_value(
116
+ "Anchors", db_guid, ["anchorGUID"], om_type
117
+ )
118
+ # Now we should have a list of Database/Catalog Schemas
119
+
120
+ if type(dbs) is not list:
121
+ print("No instances found")
122
+ sys.exit(1)
123
+
124
+ for element in dbs:
125
+ header = element["elementHeader"]
126
+
127
+ if check_if_template(header):
128
+ continue
129
+
130
+ el_name = element["properties"].get("name", "---")
131
+
132
+ el_guid = header["guid"]
133
+
134
+ # get the information about the catalog we are part of
135
+ el_classification = header["classifications"]
136
+ for c in el_classification:
137
+ el_cat_guid = "---"
138
+ if c["type"]["typeName"] == "Anchors":
139
+ el_anchor_guid = c["classificationProperties"]["anchorGUID"]
140
+ el_anchor_type_name = c["classificationProperties"][
141
+ "anchorTypeName"
142
+ ]
143
+ el_anchor_domain_name = c["classificationProperties"][
144
+ "anchorDomainName"
145
+ ]
146
+ el_cat_name = "---"
147
+ if el_anchor_domain_name == "SoftwareCapability":
148
+ el_cat = c_client.get_element_by_guid(el_anchor_guid)
149
+ el_cat_name = el_cat["properties"].get("name", None)
150
+ if el_cat_name is None:
151
+ el_cat_name = el_cat["properties"].get("qualifiedName", "")
152
+ el_cat_guid = el_cat["elementHeader"]["guid"]
153
+ el_schema_id = (
154
+ f"{el_name}\n{el_guid}\n\n\t\tin\n\n{el_cat_name}\n{el_cat_guid}"
155
+ )
156
+
157
+ # get the schema properties
158
+ el_props_md = make_prop_md(element["properties"])
159
+
160
+ # Now get property facets related to us
161
+ el_facets = c_client.get_related_elements(
162
+ el_guid, "ReferenceableFacet", None
163
+ )
164
+ el_facets_md = "---\n**Property Facets:**\n"
165
+ if type(el_facets) is list:
166
+ for facet in el_facets:
167
+ el_facets_md += make_prop_md(facet["relatedElement"]["properties"])
168
+ else:
169
+ el_facets_md += "--- \n"
170
+ # Add the facet properties under the normal properties
171
+ el_props_out = Markdown(f"{el_props_md}{el_facets_md}")
172
+ # get the Content within our schema
173
+ rel_elements = c_client.get_related_elements(
174
+ el_guid, "DataContentForDataSet", None
175
+ )
176
+
177
+ schema_md = ""
178
+ count = 0
179
+ rel_el_out = ""
180
+ if type(rel_elements) is list:
181
+ len_els = len(rel_elements)
182
+ rel_el_md = ""
183
+ spacer = "---\n"
184
+ for rel_element in rel_elements:
185
+ count += 1
186
+ rel_type = rel_element["relationshipHeader"]["type"]["typeName"]
187
+ rel_guid = rel_element["relationshipHeader"]["guid"]
188
+ rel_props = rel_element["relatedElement"]["properties"]
189
+ props_md = ""
190
+ for key in rel_props.keys():
191
+ props_md += f"\t* **{key}**: {rel_props[key]}\n"
192
+ rel_el_md = f"{rel_el_md}\n* **{rel_type}**:\n\t{rel_guid}\n{props_md}{spacer}"
193
+ # if count > 1 and count < len_els:
194
+ # spacer = "---\n"
195
+ # elif count > len_els:
196
+ # spacer = ""
197
+ # rel_el_md = f"{rel_el_md}\n* **{rel_type}**:\n\t{rel_guid}\n{props_md}{spacer}"
198
+ if count == len_els:
199
+ rel_el_md = rel_el_md[:-4]
200
+ rel_el_out = Markdown(rel_el_md)
201
+
202
+ table.add_row(
203
+ el_schema_id,
204
+ el_props_out,
205
+ rel_el_out,
206
+ )
207
+
208
+ return table
209
+
210
+ try:
211
+ console = Console(width=width, force_terminal=not jupyter)
212
+
213
+ with console.pager(styles=True):
214
+ console.print(generate_table())
215
+
216
+ except (
217
+ InvalidParameterException,
218
+ PropertyServerException,
219
+ UserNotAuthorizedException,
220
+ ) as e:
221
+ print_exception_response(e)
222
+ print("\n\nPerhaps the type name isn't known")
223
+ finally:
224
+ c_client.close_session()
225
+
226
+
227
+ def main():
228
+ parser = argparse.ArgumentParser()
229
+ parser.add_argument("--server", help="Name of the server to display status for")
230
+ parser.add_argument("--url", help="URL Platform to connect to")
231
+ parser.add_argument("--userid", help="User Id")
232
+ parser.add_argument("--password", help="Password")
233
+
234
+ args = parser.parse_args()
235
+
236
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
237
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
238
+ userid = args.userid if args.userid is not None else EGERIA_USER
239
+ password = args.password if args.password is not None else EGERIA_USER_PASSWORD
240
+
241
+ try:
242
+ db_name = Prompt.ask(
243
+ "Enter the name of a database/catalog to retrieve schemas for", default="*"
244
+ )
245
+ list_deployed_database_schemas(db_name, server, url, userid, password)
246
+ except KeyboardInterrupt:
247
+ pass
248
+
249
+
250
+ if __name__ == "__main__":
251
+ main()
@@ -0,0 +1,202 @@
1
+ """This displays deployed databases"""
2
+ from rich.markdown import Markdown
3
+ from rich.prompt import Prompt
4
+ import os
5
+ import argparse
6
+ import time
7
+ import sys
8
+ from rich import box
9
+ from rich.console import Console
10
+ from rich.table import Table
11
+
12
+ from pyegeria import (
13
+ InvalidParameterException,
14
+ PropertyServerException,
15
+ UserNotAuthorizedException,
16
+ print_exception_response,
17
+ EgeriaTech,
18
+ )
19
+
20
+
21
+ console = Console()
22
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
23
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
24
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
25
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
26
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
27
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
28
+ )
29
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
30
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
31
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
32
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
33
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
34
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
35
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "300"))
36
+
37
+
38
+ def check_if_template(header: dict) -> bool:
39
+ """Check if the the template classification is set"""
40
+ classifications = header.get("classifications", None)
41
+ if classifications is None:
42
+ return False
43
+ for c in classifications:
44
+ if c["type"]["typeName"] == "Template":
45
+ return True
46
+ return False
47
+
48
+
49
+ def list_deployed_databases(
50
+ view_server: str = EGERIA_VIEW_SERVER,
51
+ view_url: str = EGERIA_VIEW_SERVER_URL,
52
+ user: str = EGERIA_USER,
53
+ user_pass: str = EGERIA_USER_PASSWORD,
54
+ jupyter: bool = EGERIA_JUPYTER,
55
+ width: int = EGERIA_WIDTH,
56
+ ):
57
+ """
58
+ Parameters
59
+ ----------
60
+ view_server : str
61
+ The view server name to which the Egeria client will connect. By default, this is set to EGERIA_VIEW_SERVER.
62
+ view_url : str
63
+ The URL of the Egeria view server. By default, this is set to EGERIA_VIEW_SERVER_URL.
64
+ user : str
65
+ The username used for authentication with the Egeria server. By default, it is set to EGERIA_USER.
66
+ user_pass : str
67
+ The password used for authentication with the Egeria server. By default, it is set to EGERIA_USER_PASSWORD.
68
+ jupyter : bool
69
+ A flag indicating whether the output is displayed within a Jupyter notebook. Default is set to EGERIA_JUPYTER.
70
+ width : int
71
+ The width of the output console. By default, it is set to EGERIA_WIDTH.
72
+ """
73
+ c_client = EgeriaTech(view_server, view_url, user_id=user, user_pwd=user_pass)
74
+ token = c_client.create_egeria_bearer_token()
75
+
76
+ def generate_table() -> Table:
77
+ """Make a new table."""
78
+ table = Table(
79
+ title=f"Database List @ {time.asctime()}",
80
+ caption=f"Databases found: {view_url} - {view_server} @ {time.asctime()}",
81
+ style="bold bright_white on black",
82
+ row_styles=["bold bright_white on black"],
83
+ header_style="white on dark_blue",
84
+ title_style="bold bright_white on black",
85
+ caption_style="white on black",
86
+ show_lines=True,
87
+ box=box.ROUNDED,
88
+ # title=f"Elements for Open Metadata Type: '{om_type}' ",
89
+ expand=True,
90
+ # width=500
91
+ )
92
+
93
+ table.add_column("Qualified Name")
94
+ table.add_column("Type")
95
+ table.add_column("Created", width=23)
96
+ table.add_column("GUID", width=38, no_wrap=True)
97
+ table.add_column("Properties")
98
+ table.add_column("Schemas")
99
+
100
+ om_type = "Database"
101
+ dbs = c_client.get_elements(om_type)
102
+ if type(dbs) is list:
103
+ for element in dbs:
104
+ header = element["elementHeader"]
105
+
106
+ if check_if_template(header):
107
+ continue
108
+
109
+ el_q_name = element["properties"].get("qualifiedName", "---")
110
+ el_type = header["type"]["typeName"]
111
+ el_home = header["origin"]["homeMetadataCollectionName"]
112
+ el_create_time = header["versions"]["createTime"][:-10]
113
+ el_created_by = header["versions"]["createdBy"]
114
+ el_created_md = (
115
+ f"* **Created By**: {el_created_by}\n"
116
+ f"* **Created Time**: {el_create_time}\n"
117
+ f"* **Home Store**: {el_home}"
118
+ )
119
+ el_created_out = Markdown(el_created_md)
120
+
121
+ el_guid = header["guid"]
122
+
123
+ el_props_md = ""
124
+ for prop in element["properties"].keys():
125
+ el_props_md += f"* **{prop}**: {element['properties'][prop]}\n"
126
+ el_props_out = Markdown(el_props_md)
127
+
128
+ rel_elements = c_client.get_related_elements(el_guid)
129
+ schema_md = ""
130
+ count = 0
131
+ rel_cnt = len(rel_elements)
132
+ if type(rel_elements) is list:
133
+ for rel_element in rel_elements:
134
+ count += 1
135
+ rel_type = rel_element["relatedElement"]["elementHeader"][
136
+ "type"
137
+ ]["typeName"]
138
+ rel_guid = rel_element["relatedElement"]["elementHeader"][
139
+ "guid"
140
+ ]
141
+ rel_props = rel_element["relatedElement"]["properties"]
142
+ props_md = ""
143
+ for key in rel_props.keys():
144
+ props_md += f"* **{key}**: {rel_props[key]}\n"
145
+ rel_el_md = f"* **{rel_type}**: {rel_guid}\n{props_md}\n---\n"
146
+ if count == rel_cnt:
147
+ rel_el_md = rel_el_md[:-4]
148
+ rel_el_out = Markdown(rel_el_md)
149
+
150
+ table.add_row(
151
+ el_q_name,
152
+ el_type,
153
+ el_created_out,
154
+ el_guid,
155
+ el_props_out,
156
+ rel_el_out,
157
+ )
158
+
159
+ return table
160
+ else:
161
+ print("No instances found")
162
+ sys.exit(1)
163
+
164
+ try:
165
+ console = Console(width=width, force_terminal=not jupyter)
166
+
167
+ with console.pager(styles=True):
168
+ console.print(generate_table())
169
+
170
+ except (
171
+ InvalidParameterException,
172
+ PropertyServerException,
173
+ UserNotAuthorizedException,
174
+ ) as e:
175
+ print_exception_response(e)
176
+ print("\n\nPerhaps the type name isn't known")
177
+ finally:
178
+ c_client.close_session()
179
+
180
+
181
+ def main():
182
+ parser = argparse.ArgumentParser()
183
+ parser.add_argument("--server", help="Name of the server to display status for")
184
+ parser.add_argument("--url", help="URL Platform to connect to")
185
+ parser.add_argument("--userid", help="User Id")
186
+ parser.add_argument("--password", help="Password")
187
+
188
+ args = parser.parse_args()
189
+
190
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
191
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
192
+ userid = args.userid if args.userid is not None else EGERIA_USER
193
+ password = args.password if args.password is not None else EGERIA_USER_PASSWORD
194
+
195
+ try:
196
+ list_deployed_databases(server, url, userid, password)
197
+ except KeyboardInterrupt:
198
+ pass
199
+
200
+
201
+ if __name__ == "__main__":
202
+ main()
@@ -0,0 +1,150 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+ Unit tests for the Utils helper functions using the Pytest framework.
7
+
8
+
9
+ A simple display for glossary terms
10
+ """
11
+ import argparse
12
+ import os
13
+ import sys
14
+ import time
15
+
16
+ from rich import box
17
+ from rich.console import Console
18
+ from rich.prompt import Prompt
19
+ from rich.table import Table
20
+ from rich.text import Text
21
+
22
+ from pyegeria import (
23
+ InvalidParameterException,
24
+ PropertyServerException,
25
+ UserNotAuthorizedException,
26
+ EgeriaTech,
27
+ print_exception_response,
28
+ )
29
+
30
+ disable_ssl_warnings = True
31
+
32
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
33
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
34
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
35
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
36
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
37
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
38
+ )
39
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
40
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
41
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
42
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
43
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
44
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
45
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
46
+
47
+
48
+ def display_glossaries(
49
+ search_string: str = "*",
50
+ view_server: str = EGERIA_VIEW_SERVER,
51
+ view_url: str = EGERIA_VIEW_SERVER_URL,
52
+ user: str = EGERIA_USER,
53
+ user_pass: str = EGERIA_USER_PASSWORD,
54
+ jupyter: bool = EGERIA_JUPYTER,
55
+ width: int = EGERIA_WIDTH,
56
+ ):
57
+ """Display either a specified glossary or all glossaries if the search_string is '*'.
58
+ Parameters
59
+ ----------
60
+ search_string : str, default is '*'
61
+ The string used to search for glossaries.
62
+ view_server : str
63
+ The view server name or address where the Egeria services are hosted.
64
+ view_url : str
65
+ The URL of the platform the view server is on.
66
+ user : str
67
+ The user ID for authentication with the Egeria server.
68
+ user_pass : str
69
+ The password for authentication with the Egeria server.
70
+ jupyter : bool, optional
71
+ A boolean indicating whether the output is intended for a Jupyter notebook (default is EGERIA_JUPYTER).
72
+ width : int, optional
73
+ The width of the console output (default is EGERIA_WIDTH).
74
+ """
75
+ m_client = EgeriaTech(view_server, view_url, user_id=user, user_pwd=user_pass)
76
+ token = m_client.create_egeria_bearer_token()
77
+ try:
78
+ table = Table(
79
+ title=f"Glossary List @ {time.asctime()}",
80
+ style="bright_white on black",
81
+ header_style="bright_white on dark_blue",
82
+ title_style="bold white on black",
83
+ caption_style="white on black",
84
+ show_lines=True,
85
+ box=box.ROUNDED,
86
+ caption=f"View Server '{view_server}' @ Platform - {view_url}",
87
+ expand=True,
88
+ )
89
+ table.add_column("Glossary Name")
90
+ table.add_column(
91
+ "Qualified Name & GUID", width=38, no_wrap=True, justify="center"
92
+ )
93
+ table.add_column("Language")
94
+ table.add_column("Description")
95
+ table.add_column("Usage")
96
+
97
+ glossaries = m_client.find_glossaries(search_string)
98
+ if type(glossaries) is list:
99
+ sorted_glossary_list = sorted(
100
+ glossaries, key=lambda k: k["glossaryProperties"]["displayName"]
101
+ )
102
+ for glossary in sorted_glossary_list:
103
+ display_name = glossary["glossaryProperties"]["displayName"]
104
+ qualified_name = glossary["glossaryProperties"]["qualifiedName"]
105
+ guid = glossary["elementHeader"]["guid"]
106
+ q_name = Text(f"{qualified_name}\n&\n{guid}", justify="center")
107
+ language = glossary["glossaryProperties"]["language"]
108
+ description = glossary["glossaryProperties"]["description"]
109
+ usage = glossary["glossaryProperties"]["usage"]
110
+ table.add_row(display_name, q_name, language, description, usage)
111
+ console = Console(
112
+ style="bold bright_white on black",
113
+ width=width,
114
+ force_terminal=not jupyter,
115
+ )
116
+ console.print(table)
117
+
118
+ except (InvalidParameterException, PropertyServerException) as e:
119
+ print_exception_response(e)
120
+ finally:
121
+ m_client.close_session()
122
+
123
+
124
+ def main():
125
+ parser = argparse.ArgumentParser()
126
+ parser.add_argument("--server", help="Name of the server to display status for")
127
+ parser.add_argument("--url", help="URL Platform to connect to")
128
+ parser.add_argument("--userid", help="User Id")
129
+ parser.add_argument("--password", help="User Password")
130
+
131
+ args = parser.parse_args()
132
+
133
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
134
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
135
+ userid = args.userid if args.userid is not None else EGERIA_USER
136
+ user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
137
+
138
+ try:
139
+ search_string = Prompt.ask(
140
+ "Enter the glossary you are searching for or '*' for all:", default="*"
141
+ )
142
+
143
+ display_glossaries(search_string, server, url, userid, user_pass)
144
+
145
+ except KeyboardInterrupt:
146
+ pass
147
+
148
+
149
+ if __name__ == "__main__":
150
+ main()