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,180 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+ A simple widget to retrieve the registered services.
7
+
8
+ """
9
+
10
+ import argparse
11
+ import os
12
+ import sys
13
+ import time
14
+
15
+ from rich import box
16
+ from rich.console import Console
17
+ from rich.prompt import Prompt
18
+ from rich.table import Table
19
+
20
+ from pyegeria import (
21
+ InvalidParameterException,
22
+ PropertyServerException,
23
+ UserNotAuthorizedException,
24
+ RegisteredInfo,
25
+ )
26
+
27
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
28
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
29
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
30
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
31
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
32
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
33
+ )
34
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
35
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
36
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
37
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
38
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
39
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
40
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
41
+
42
+
43
+ def display_registered_svcs(
44
+ service: str,
45
+ server: str,
46
+ url: str,
47
+ username: str,
48
+ password: str,
49
+ jupyter: bool = EGERIA_JUPYTER,
50
+ width: int = EGERIA_WIDTH,
51
+ ):
52
+ """Display the registered services list
53
+ Parameters
54
+ ----------
55
+ service : str, optional
56
+ The type of service to display information for. Default is "help".
57
+
58
+ server : str, optional
59
+ The server to connect to. Default is `default_server`.
60
+
61
+ url : str, optional
62
+ The platform URL. Default is `default_platform`.
63
+
64
+ username : str, optional
65
+ The username for authentication. Default is `default_user`.
66
+
67
+ password : str, optional
68
+ The password for authentication. Default is `default_password`.
69
+ """
70
+
71
+ def generate_table(svc_list) -> Table:
72
+ """Make a new table."""
73
+ table = Table(
74
+ title=f"Services for: {url} @ {time.asctime()}",
75
+ style="bold bright_white on black",
76
+ row_styles=["bold bright_white on black"],
77
+ header_style="white on dark_blue",
78
+ title_style="bold white on black",
79
+ caption_style="white on black",
80
+ show_lines=True,
81
+ box=box.ROUNDED,
82
+ caption=f"Registered Services from Server '{server}' @ Platform - {url}",
83
+ expand=True,
84
+ )
85
+ table.add_column("Service Id")
86
+ table.add_column("Service Name")
87
+ table.add_column("Service Development Status")
88
+ table.add_column("URL Marker")
89
+ table.add_column("Description")
90
+ table.add_column("Wiki", no_wrap=True)
91
+ table.add_column("Server Type")
92
+ table.add_column("Partner Service Name")
93
+ table.add_column("Partner Service Type")
94
+
95
+ if type(svc_list) is list:
96
+ for svc in svc_list:
97
+ svc_id = str(svc.get("serviceId", " "))
98
+ svc_name = svc.get("serviceName", "b")
99
+ svc_dev_status = svc.get("serviceDevelopmentStatus", " ")
100
+ svc_url_marker = svc.get("serviceUrlMarker", " ")
101
+ svc_description = svc.get("serviceDescription", " ")
102
+ svc_wiki = svc.get("serviceWiki", " ")
103
+ svc_partner_svc_name = svc.get("partnerServiceName", " ")
104
+ svc_partner_svc_type = svc.get("partnerServiceType", " ")
105
+
106
+ table.add_row(
107
+ svc_id,
108
+ svc_name,
109
+ svc_dev_status,
110
+ svc_url_marker,
111
+ svc_description,
112
+ svc_wiki,
113
+ svc_partner_svc_name,
114
+ svc_partner_svc_type,
115
+ )
116
+ return table
117
+ elif type(svc_list) is str:
118
+ help = """
119
+ The kinds of services that you can get more information include:
120
+ all.....................lists all registered services
121
+ access-services.........lists all registered access services
122
+ common-services.........lists all registered common services
123
+ engine-services.........lists all registered engine services
124
+ governance-services.....lists all registered governance services
125
+ integration-services....lists all registered integration services
126
+ view-services...........lists all registered view services
127
+
128
+ Pass in a parameter from the left-hand column into the function to
129
+ get more details on the specified service category.
130
+ """
131
+ console.print(help)
132
+
133
+ else:
134
+ print("Unknown service type")
135
+ sys.exit(1)
136
+
137
+ console = Console(width=width, force_terminal=not jupyter)
138
+ try:
139
+ a_client = RegisteredInfo(server, url, username)
140
+ # token = a_client.create_egeria_bearer_token(username, password)
141
+ svc_list = a_client.list_registered_svcs(service)
142
+
143
+ with console.pager(styles=True):
144
+ console.print(generate_table(svc_list))
145
+
146
+ except (
147
+ InvalidParameterException,
148
+ PropertyServerException,
149
+ UserNotAuthorizedException,
150
+ ) as e:
151
+ console.print_exception(show_locals=True)
152
+ finally:
153
+ a_client.close_session()
154
+
155
+
156
+ def main():
157
+ parser = argparse.ArgumentParser()
158
+ parser.add_argument("--server", help="Name of the server to display status for")
159
+ parser.add_argument("--url", help="URL Platform to connect to")
160
+ parser.add_argument("--userid", help="User Id")
161
+ parser.add_argument("--password", help="Password")
162
+
163
+ args = parser.parse_args()
164
+
165
+ server = args.server if args.server is not None else EGERIA_METADATA_STORE
166
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
167
+ userid = args.userid if args.userid is not None else EGERIA_ADMIN_USER
168
+ password = args.password if args.password is not None else EGERIA_USER_PASSWORD
169
+
170
+ try:
171
+ svc_kind = Prompt.ask(
172
+ "Enter the service type you are searching for:", default="all"
173
+ )
174
+ display_registered_svcs(svc_kind, server, url, userid, password=password)
175
+ except KeyboardInterrupt:
176
+ pass
177
+
178
+
179
+ if __name__ == "__main__":
180
+ main()
@@ -0,0 +1,207 @@
1
+ """This creates a templates guid file from the core metadata archive"""
2
+ from jedi import Project
3
+ from rich.markdown import Markdown
4
+ from rich.prompt import Prompt
5
+ import os
6
+ import argparse
7
+ import time
8
+ import sys
9
+ from rich import box
10
+ from rich.console import Console
11
+ from rich.table import Table
12
+
13
+ from pyegeria import (
14
+ InvalidParameterException,
15
+ PropertyServerException,
16
+ UserNotAuthorizedException,
17
+ print_exception_response,
18
+ EgeriaTech,
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", "220"))
36
+
37
+
38
+ def list_related_elements(
39
+ element_guid: str,
40
+ om_type: str,
41
+ relationship_type: str,
42
+ server: str,
43
+ url: str,
44
+ username: str,
45
+ password: str,
46
+ jupyter: bool = EGERIA_JUPYTER,
47
+ width: int = EGERIA_WIDTH,
48
+ ):
49
+ c_client = EgeriaTech(server, url, user_id=username, user_pwd=password)
50
+ token = c_client.create_egeria_bearer_token()
51
+
52
+ if om_type is not None:
53
+ om_typedef = c_client.get_typedef_by_name(om_type)
54
+ if type(om_typedef) is str:
55
+ print(
56
+ f"The type name '{om_type}' is not known to the Egeria platform at {url} - {server}"
57
+ )
58
+ sys.exit(1)
59
+
60
+ def generate_table() -> Table:
61
+ """Make a new table."""
62
+ table = Table(
63
+ caption=f"Metadata Elements for: {url} - {server} @ {time.asctime()}",
64
+ style="bold bright_white on black",
65
+ row_styles=["bold bright_white on black"],
66
+ header_style="white on dark_blue",
67
+ title_style="bold bright_white on black",
68
+ caption_style="white on black",
69
+ show_lines=True,
70
+ box=box.ROUNDED,
71
+ title=f"Elements related to: '{element_guid}' ",
72
+ expand=True,
73
+ # width=500
74
+ )
75
+ table.add_column("Relationship GUID", width=38, no_wrap=True)
76
+ table.add_column("Rel Header", width=38, no_wrap=True)
77
+ table.add_column("Relationship Props")
78
+ table.add_column("Related GUID", width=38, no_wrap=True)
79
+ table.add_column("Properties")
80
+ table.add_column("Element Header")
81
+
82
+ elements = c_client.get_related_elements(
83
+ element_guid, relationship_type, om_type
84
+ )
85
+
86
+ if type(elements) is list:
87
+ for element in elements:
88
+ header = element["relationshipHeader"]
89
+ el_type = header["type"]["typeName"]
90
+ el_home = header["origin"]["homeMetadataCollectionName"]
91
+ el_create_time = header["versions"]["createTime"][:-10]
92
+ el_guid = header["guid"]
93
+ el_class = header.get("classifications", "---")
94
+ rel_header_md = (
95
+ f"* Type: {el_type}\n"
96
+ f"* Home: {el_home}\n"
97
+ f"* Created: {el_create_time}\n"
98
+ )
99
+ rel_header_out = Markdown(rel_header_md)
100
+ rel_props = element.get("relationshipProperties", "---")
101
+
102
+ rel_props_md = ""
103
+ if type(rel_props) is list:
104
+ for prop in rel_props.keys():
105
+ rel_props_md += (
106
+ f"* **{prop}**: {element['relationshipProperties'][prop]}\n"
107
+ )
108
+ rel_props_out = Markdown(rel_props_md)
109
+
110
+ c_md = ""
111
+ if type(el_class) is list:
112
+ for classification in el_class:
113
+ classification_name = classification.get(
114
+ "classificationName", "---"
115
+ )
116
+ c_md = f"* **{classification_name}**\n"
117
+ class_props = classification.get(
118
+ "classificationProperties", "---"
119
+ )
120
+ if type(class_props) is dict:
121
+ for prop in class_props.keys():
122
+ c_md += f" * **{prop}**: {class_props[prop]}\n"
123
+ c_md_out = Markdown(c_md)
124
+
125
+ rel_element = element["relatedElement"]
126
+ rel_el_header = rel_element["elementHeader"]
127
+ rel_type = rel_el_header["type"]["typeName"]
128
+ rel_home = rel_el_header["origin"]["homeMetadataCollectionName"]
129
+ rel_guid = rel_el_header["guid"]
130
+
131
+ rel_el_header_md = f"* Type: {rel_type}\n" f"* Home: {rel_home}\n"
132
+ rel_el_header_out = Markdown(rel_el_header_md)
133
+
134
+ rel_el_props_md = ""
135
+ for prop in rel_element["properties"].keys():
136
+ rel_el_props_md += (
137
+ f"* **{prop}**: {rel_element['properties'][prop]}\n"
138
+ )
139
+ rel_el_props_out = Markdown(rel_el_props_md)
140
+
141
+ table.add_row(
142
+ el_guid,
143
+ rel_header_out,
144
+ rel_props_out,
145
+ # el_q_name,
146
+ rel_guid,
147
+ rel_el_props_out,
148
+ rel_el_header_out,
149
+ )
150
+
151
+ return table
152
+ else:
153
+ print("No instances found")
154
+ sys.exit(1)
155
+
156
+ try:
157
+ console = Console(width=width, force_terminal=not jupyter)
158
+
159
+ with console.pager(styles=True):
160
+ console.print(generate_table())
161
+
162
+ except (
163
+ InvalidParameterException,
164
+ PropertyServerException,
165
+ UserNotAuthorizedException,
166
+ ) as e:
167
+ print_exception_response(e)
168
+ print("\n\nPerhaps the type name isn't known")
169
+ finally:
170
+ c_client.close_session()
171
+
172
+
173
+ def main():
174
+ parser = argparse.ArgumentParser()
175
+ parser.add_argument("--server", help="Name of the server to display status for")
176
+ parser.add_argument("--url", help="URL Platform to connect to")
177
+ parser.add_argument("--userid", help="User Id")
178
+ parser.add_argument("--password", help="Password")
179
+
180
+ args = parser.parse_args()
181
+
182
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
183
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
184
+ userid = args.userid if args.userid is not None else EGERIA_USER
185
+ password = args.password if args.password is not None else EGERIA_USER_PASSWORD
186
+
187
+ try:
188
+ element_guid = Prompt.ask("Guid of base element").strip()
189
+ om_type = Prompt.ask(
190
+ "Enter the Open Metadata Type to find elements of", default=None
191
+ )
192
+ relationship_type = Prompt.ask("Enter the relationship type to follow")
193
+
194
+ om_type = om_type.strip() if type(om_type) is str else None
195
+ relationship_type = (
196
+ None if len(relationship_type) == 0 else relationship_type.strip()
197
+ )
198
+
199
+ list_related_elements(
200
+ element_guid, om_type, relationship_type, server, url, userid, password
201
+ )
202
+ except KeyboardInterrupt:
203
+ pass
204
+
205
+
206
+ if __name__ == "__main__":
207
+ main()
@@ -0,0 +1,169 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+ List elements related to given element guid by the specified relationship type. Optionally filter by a specified
7
+ open metadata type.
8
+
9
+ """
10
+ import argparse
11
+ import os
12
+ import sys
13
+ import time
14
+
15
+ from rich import box
16
+ from rich.console import Console
17
+ from rich.markdown import Markdown
18
+ from rich.prompt import Prompt
19
+ from rich.table import Table
20
+
21
+ from pyegeria import (
22
+ InvalidParameterException,
23
+ PropertyServerException,
24
+ UserNotAuthorizedException,
25
+ print_exception_response,
26
+ ClassificationManager,
27
+ )
28
+
29
+ console = Console()
30
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
31
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
32
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
33
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
34
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
35
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
36
+ )
37
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
38
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
39
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
40
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
41
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
42
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
43
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
44
+
45
+
46
+ def display_related_specification(
47
+ element_guid: str,
48
+ server: str,
49
+ url: str,
50
+ username: str,
51
+ password: str,
52
+ jupyter: bool = EGERIA_JUPYTER,
53
+ width: int = EGERIA_WIDTH,
54
+ ):
55
+ c_client = ClassificationManager(server, url, user_id=username, user_pwd=password)
56
+ token = c_client.create_egeria_bearer_token()
57
+ rel_el = c_client.get_related_elements(
58
+ element_guid, "SpecificationPropertyAssignment", None
59
+ )
60
+
61
+ if type(rel_el) is str:
62
+ print(f"\n\nDid not find related specifications for {element_guid}\n\n")
63
+ sys.exit(0)
64
+
65
+ related_elements: dict = {}
66
+
67
+ def generate_table() -> Table:
68
+ """Make a new table."""
69
+ table = Table(
70
+ title=f"Specifications related to: {element_guid} @ {time.asctime()}",
71
+ style="bold bright_white on black",
72
+ row_styles=["bold bright_white on black"],
73
+ header_style="white on dark_blue",
74
+ title_style="bold bright_white on black",
75
+ caption_style="white on black",
76
+ show_lines=True,
77
+ box=box.ROUNDED,
78
+ caption=f"Elements from Server '{server}' @ Platform - {url}",
79
+ expand=True, # width=500
80
+ )
81
+
82
+ table.add_column("Name", justify="center", style="bold bright_white")
83
+ table.add_column("Specification", justify="center", style="bold bright_white")
84
+
85
+ for element in rel_el:
86
+ relationship_props = element["relationshipProperties"]["propertyType"]
87
+ related_elements[relationship_props] = []
88
+
89
+ for element in rel_el:
90
+ relationship_props = element["relationshipProperties"]["propertyType"]
91
+
92
+ rel_element = element["relatedElement"]
93
+ el = rel_element["properties"]
94
+ re: dict = {}
95
+
96
+ re["case"] = el.get("isCaseSensitive", "---")
97
+ re["name"] = el.get("preferredValue", "---")
98
+ re["description"] = el.get("description", "---")
99
+ add = el.get("additionalProperties", "---")
100
+ if type(add) is str:
101
+ re["additional"] = add
102
+ else:
103
+ add_md = ""
104
+ for k in add.keys():
105
+ add_md += f"* {k}: {add[k]}\n"
106
+ re["additional"] = Markdown(add_md)
107
+
108
+ related_elements[relationship_props].append(re)
109
+
110
+ for kind in related_elements.keys():
111
+ spec_table = Table(expand=False, show_lines=True)
112
+ spec_table.add_column("Name")
113
+ spec_table.add_column("Case Sensitive?")
114
+ spec_table.add_column("Description")
115
+ spec_table.add_column("Additional Properties")
116
+
117
+ for spec_row in related_elements[kind]:
118
+ name = spec_row["name"]
119
+ case = spec_row["case"]
120
+ desc = spec_row["description"]
121
+ additional_props = spec_row["additional"]
122
+ spec_table.add_row(name, case, desc, additional_props)
123
+
124
+ table.add_row(kind, spec_table)
125
+
126
+ return table
127
+
128
+ try:
129
+ console = Console(width=width, force_terminal=not jupyter)
130
+
131
+ with console.pager(styles=True):
132
+ console.print(generate_table())
133
+
134
+ except (
135
+ InvalidParameterException,
136
+ PropertyServerException,
137
+ UserNotAuthorizedException,
138
+ ) as e:
139
+ print_exception_response(e)
140
+ assert e.related_http_code != "200", "Invalid parameters"
141
+ finally:
142
+ c_client.close_session()
143
+
144
+
145
+ def main():
146
+ parser = argparse.ArgumentParser()
147
+ parser.add_argument("--server", help="Name of the server to display status for")
148
+ parser.add_argument("--url", help="URL Platform to connect to")
149
+ parser.add_argument("--userid", help="User Id")
150
+ parser.add_argument("--password", help="Password")
151
+
152
+ args = parser.parse_args()
153
+
154
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
155
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
156
+ userid = args.userid if args.userid is not None else EGERIA_USER
157
+ password = args.password if args.password is not None else EGERIA_USER_PASSWORD
158
+ guid = None
159
+
160
+ try:
161
+ element_guid = Prompt.ask("Enter an Element GUID find relationships for")
162
+
163
+ display_related_specification(element_guid, server, url, userid, password)
164
+ except KeyboardInterrupt:
165
+ pass
166
+
167
+
168
+ if __name__ == "__main__":
169
+ main()