pyegeria 5.2.0.42.2__tar.gz → 5.4.9.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. pyegeria-5.4.9.5/MANIFEST.in +3 -0
  2. pyegeria-5.4.9.5/PKG-INFO +216 -0
  3. pyegeria-5.4.9.5/README.md +179 -0
  4. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/__init__.py +19 -11
  5. pyegeria-5.4.9.5/commands/cat/Dr-Egeria_md-orig.py +166 -0
  6. pyegeria-5.4.9.5/commands/cat/__init__.py +7 -0
  7. pyegeria-5.4.9.5/commands/cat/collection_actions.py +202 -0
  8. pyegeria-5.4.9.5/commands/cat/dr_egeria_command_help.py +369 -0
  9. pyegeria-5.4.9.5/commands/cat/dr_egeria_jupyter.py +122 -0
  10. pyegeria-5.4.9.5/commands/cat/dr_egeria_md.py +97 -0
  11. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/exp_list_glossaries.py +10 -10
  12. pyegeria-5.4.9.5/commands/cat/get_asset_graph.py +89 -0
  13. pyegeria-5.2.0.42.2/pyegeria/commands/cat/get_collection.py → pyegeria-5.4.9.5/commands/cat/get_collection_tree.py +11 -14
  14. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/get_project_dependencies.py +15 -16
  15. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/get_project_structure.py +8 -10
  16. pyegeria-5.4.9.5/commands/cat/get_tech_type_elements.py +72 -0
  17. pyegeria-5.4.9.5/commands/cat/glossary_actions.py +359 -0
  18. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_assets.py +9 -7
  19. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_cert_types.py +15 -61
  20. pyegeria-5.4.9.5/commands/cat/list_collections.py +121 -0
  21. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_deployed_catalogs.py +20 -31
  22. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_deployed_database_schemas.py +32 -47
  23. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_deployed_databases.py +21 -31
  24. pyegeria-5.2.0.42.2/pyegeria/commands/cat/list_servers_deployed_imp.py → pyegeria-5.4.9.5/commands/cat/list_deployed_servers.py +33 -52
  25. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_glossaries.py +61 -17
  26. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_projects.py +8 -7
  27. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_tech_type_elements.py +21 -37
  28. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_tech_types.py +14 -26
  29. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_terms.py +103 -92
  30. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_todos.py +3 -3
  31. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cat/list_user_ids.py +9 -8
  32. pyegeria-5.4.9.5/commands/cat/my_reports.py +561 -0
  33. pyegeria-5.4.9.5/commands/cat/run_report.py +388 -0
  34. pyegeria-5.4.9.5/commands/cat/run_report_orig.py +533 -0
  35. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cli/__init__.py +1 -1
  36. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cli/egeria.py +667 -371
  37. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cli/egeria_cat.py +187 -134
  38. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cli/egeria_login_tui.py +15 -17
  39. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cli/egeria_my.py +35 -15
  40. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cli/egeria_ops.py +112 -118
  41. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/cli/egeria_tech.py +358 -164
  42. pyegeria-5.4.9.5/commands/cli/ops_config.py +49 -0
  43. pyegeria-5.4.9.5/commands/deprecated/list_data_designer.py +184 -0
  44. pyegeria-5.4.9.5/commands/deprecated/list_data_structures_full.py +223 -0
  45. pyegeria-5.2.0.42.2/pyegeria/commands/cat/get_asset_graph.py → pyegeria-5.4.9.5/commands/deprecated/old_get_asset_graph.py +7 -9
  46. pyegeria-5.4.9.5/commands/my/__init__.py +20 -0
  47. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/my/list_my_profile.py +6 -8
  48. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/my/list_my_roles.py +4 -4
  49. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/my/monitor_my_todos.py +7 -7
  50. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/my/monitor_open_todos.py +7 -7
  51. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/my/todo_actions.py +3 -2
  52. pyegeria-5.4.9.5/commands/ops/__init__.py +21 -0
  53. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/gov_server_actions.py +10 -8
  54. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/list_archives.py +21 -41
  55. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/list_catalog_targets.py +33 -40
  56. pyegeria-5.4.9.5/commands/ops/load_archive.py +82 -0
  57. pyegeria-5.2.0.42.2/pyegeria/commands/ops/monitor_engine_activity.py → pyegeria-5.4.9.5/commands/ops/monitor_active_engine_activity.py +24 -39
  58. pyegeria-5.2.0.42.2/pyegeria/commands/ops/monitor_integ_daemon_status.py → pyegeria-5.4.9.5/commands/ops/monitor_daemon_status.py +44 -32
  59. pyegeria-5.2.0.42.2/pyegeria/commands/ops/monitor_engine_activity_c.py → pyegeria-5.4.9.5/commands/ops/monitor_engine_activity.py +44 -58
  60. pyegeria-5.2.0.42.2/pyegeria/commands/ops/monitor_gov_eng_status.py → pyegeria-5.4.9.5/commands/ops/monitor_engine_status.py +3 -2
  61. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/monitor_platform_status.py +35 -46
  62. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/monitor_server_startup.py +7 -7
  63. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/monitor_server_status.py +16 -11
  64. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/orig_monitor_server_list.py +2 -2
  65. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/orig_monitor_server_status.py +3 -3
  66. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/refresh_integration_daemon.py +4 -4
  67. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/restart_integration_daemon.py +3 -3
  68. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/table_integ_daemon_status.py +3 -3
  69. pyegeria-5.4.9.5/commands/tech/__init__.py +20 -0
  70. pyegeria-5.4.9.5/commands/tech/generic_actions.py +74 -0
  71. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/get_element_info.py +5 -7
  72. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/get_guid_info.py +4 -5
  73. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/get_tech_details.py +21 -37
  74. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/get_tech_type_template.py +6 -7
  75. pyegeria-5.2.0.42.2/pyegeria/commands/tech/list_elements.py → pyegeria-5.4.9.5/commands/tech/list_all_om_type_elements.py +11 -10
  76. pyegeria-5.2.0.42.2/pyegeria/commands/tech/list_elements_x.py → pyegeria-5.4.9.5/commands/tech/list_all_om_type_elements_x.py +11 -12
  77. pyegeria-5.2.0.42.2/pyegeria/commands/tech/list_related_elements.py → pyegeria-5.4.9.5/commands/tech/list_all_related_elements.py +11 -9
  78. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_anchored_elements.py +16 -16
  79. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_asset_types.py +4 -4
  80. pyegeria-5.4.9.5/commands/tech/list_elements_by_classification_by_property_value.py +200 -0
  81. pyegeria-5.4.9.5/commands/tech/list_elements_by_property_value.py +180 -0
  82. pyegeria-5.4.9.5/commands/tech/list_elements_by_property_value_x.py +201 -0
  83. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_elements_for_classification.py +11 -9
  84. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_gov_action_processes.py +18 -30
  85. pyegeria-5.4.9.5/commands/tech/list_information_supply_chains.py +167 -0
  86. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_registered_services.py +3 -3
  87. pyegeria-5.4.9.5/commands/tech/list_related_elements_with_prop_value.py +221 -0
  88. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_related_specification.py +3 -3
  89. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_relationship_types.py +4 -5
  90. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_relationships.py +5 -6
  91. pyegeria-5.4.9.5/commands/tech/list_solution_blueprints.py +175 -0
  92. pyegeria-5.4.9.5/commands/tech/list_solution_components.py +185 -0
  93. pyegeria-5.4.9.5/commands/tech/list_solution_roles.py +184 -0
  94. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_tech_templates.py +6 -6
  95. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/list_valid_metadata_values.py +5 -6
  96. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/table_tech_templates.py +17 -14
  97. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/tech/x_list_related_elements.py +6 -4
  98. pyegeria-5.4.9.5/config/config.json +51 -0
  99. pyegeria-5.4.9.5/config/config_workspaces.json +48 -0
  100. pyegeria-5.4.9.5/config/dw-format-sets.json +936 -0
  101. pyegeria-5.4.9.5/examples/Coco_config/README.md +19 -0
  102. pyegeria-5.4.9.5/examples/Coco_config/__init__.py +4 -0
  103. pyegeria-5.4.9.5/examples/Coco_config/config_cocoMDS1.py +108 -0
  104. pyegeria-5.4.9.5/examples/Coco_config/config_cocoMDS2.py +126 -0
  105. pyegeria-5.4.9.5/examples/Coco_config/config_cocoMDS3.py +109 -0
  106. pyegeria-5.4.9.5/examples/Coco_config/config_cocoMDS4.py +91 -0
  107. pyegeria-5.4.9.5/examples/Coco_config/config_cocoMDS5.py +116 -0
  108. pyegeria-5.4.9.5/examples/Coco_config/config_cocoMDS6.py +114 -0
  109. pyegeria-5.4.9.5/examples/Coco_config/config_cocoMDSx.py +119 -0
  110. pyegeria-5.4.9.5/examples/Coco_config/config_cocoView1.py +155 -0
  111. pyegeria-5.4.9.5/examples/Coco_config/config_coco_core.py +255 -0
  112. pyegeria-5.4.9.5/examples/Coco_config/config_coco_datalake.py +450 -0
  113. pyegeria-5.4.9.5/examples/Coco_config/config_exchangeDL01.py +106 -0
  114. pyegeria-5.4.9.5/examples/Coco_config/config_governDL01.py +80 -0
  115. pyegeria-5.4.9.5/examples/Coco_config/config_monitorDev01.py +60 -0
  116. pyegeria-5.4.9.5/examples/Coco_config/config_monitorGov01.py +194 -0
  117. pyegeria-5.4.9.5/examples/Coco_config/globals.py +154 -0
  118. pyegeria-5.4.9.5/examples/GeoSpatial Products Example.py +535 -0
  119. pyegeria-5.4.9.5/examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
  120. pyegeria-5.4.9.5/examples/Jupyter Notebooks/README.md +2 -0
  121. pyegeria-5.4.9.5/examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
  122. pyegeria-5.4.9.5/examples/Jupyter Notebooks/common/__init__.py +14 -0
  123. pyegeria-5.4.9.5/examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
  124. pyegeria-5.4.9.5/examples/Jupyter Notebooks/common/environment-check.ipynb +53 -0
  125. pyegeria-5.4.9.5/examples/Jupyter Notebooks/common/globals.ipynb +184 -0
  126. pyegeria-5.4.9.5/examples/Jupyter Notebooks/common/globals.py +154 -0
  127. pyegeria-5.4.9.5/examples/Jupyter Notebooks/common/orig_globals.py +152 -0
  128. pyegeria-5.4.9.5/examples/format_sets/all_format_sets.json +910 -0
  129. pyegeria-5.4.9.5/examples/format_sets/custom_format_sets.json +268 -0
  130. pyegeria-5.4.9.5/examples/format_sets/subset_format_sets.json +187 -0
  131. pyegeria-5.4.9.5/examples/format_sets_save_load_example.py +294 -0
  132. pyegeria-5.4.9.5/examples/output_formats_example.py +193 -0
  133. pyegeria-5.4.9.5/md_processing/__init__.py +90 -0
  134. pyegeria-5.4.9.5/md_processing/data/commands.json +17568 -0
  135. pyegeria-5.4.9.5/md_processing/data/commands_working.json +30641 -0
  136. pyegeria-5.4.9.5/md_processing/data/gened_report_specs.py +6584 -0
  137. pyegeria-5.4.9.5/md_processing/data/generated_format_sets.json +6533 -0
  138. pyegeria-5.4.9.5/md_processing/data/generated_format_sets_old.json +4137 -0
  139. pyegeria-5.4.9.5/md_processing/data/generated_format_sets_old.py +45 -0
  140. pyegeria-5.4.9.5/md_processing/dr_egeria.py +344 -0
  141. pyegeria-5.4.9.5/md_processing/md_commands/__init__.py +3 -0
  142. pyegeria-5.4.9.5/md_processing/md_commands/data_designer_commands.py +1279 -0
  143. pyegeria-5.4.9.5/md_processing/md_commands/ext_ref_commands.py +530 -0
  144. pyegeria-5.4.9.5/md_processing/md_commands/feedback_commands.py +740 -0
  145. pyegeria-5.4.9.5/md_processing/md_commands/glossary_commands.py +698 -0
  146. pyegeria-5.4.9.5/md_processing/md_commands/governance_officer_commands.py +600 -0
  147. pyegeria-5.4.9.5/md_processing/md_commands/product_manager_commands.py +1266 -0
  148. pyegeria-5.4.9.5/md_processing/md_commands/project_commands.py +397 -0
  149. pyegeria-5.4.9.5/md_processing/md_commands/solution_architect_commands.py +1184 -0
  150. pyegeria-5.4.9.5/md_processing/md_commands/view_commands.py +298 -0
  151. pyegeria-5.4.9.5/md_processing/md_processing_utils/__init__.py +4 -0
  152. pyegeria-5.4.9.5/md_processing/md_processing_utils/common_md_proc_utils.py +1256 -0
  153. pyegeria-5.4.9.5/md_processing/md_processing_utils/common_md_utils.py +580 -0
  154. pyegeria-5.4.9.5/md_processing/md_processing_utils/determine_width.py +103 -0
  155. pyegeria-5.4.9.5/md_processing/md_processing_utils/extraction_utils.py +548 -0
  156. pyegeria-5.4.9.5/md_processing/md_processing_utils/gen_report_specs.py +644 -0
  157. pyegeria-5.4.9.5/md_processing/md_processing_utils/generate_dr_help.py +203 -0
  158. pyegeria-5.4.9.5/md_processing/md_processing_utils/generate_md_cmd_templates.py +153 -0
  159. pyegeria-5.4.9.5/md_processing/md_processing_utils/generate_md_templates.py +92 -0
  160. pyegeria-5.4.9.5/md_processing/md_processing_utils/md_processing_constants.py +1228 -0
  161. pyegeria-5.4.9.5/md_processing/md_processing_utils/message_constants.py +19 -0
  162. pyegeria-5.4.9.5/pyegeria/__init__.py +98 -0
  163. pyegeria-5.4.9.5/pyegeria/_base_client.py +532 -0
  164. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/_client.py +75 -13
  165. pyegeria-5.4.9.5/pyegeria/_client_new.py +5668 -0
  166. pyegeria-5.4.9.5/pyegeria/_client_new_backup.py +5359 -0
  167. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/_exceptions.py +55 -46
  168. pyegeria-5.4.9.5/pyegeria/_exceptions_new.py +436 -0
  169. pyegeria-5.4.9.5/pyegeria/_globals.py +60 -0
  170. pyegeria-5.4.9.5/pyegeria/_output_format_models.py +465 -0
  171. pyegeria-5.4.9.5/pyegeria/_output_formats.py +14 -0
  172. pyegeria-5.4.9.5/pyegeria/_validators.py +258 -0
  173. pyegeria-5.2.0.42.2/pyegeria/asset_catalog_omvs.py → pyegeria-5.4.9.5/pyegeria/asset_catalog.py +275 -334
  174. pyegeria-5.2.0.42.2/pyegeria/automated_curation_omvs.py → pyegeria-5.4.9.5/pyegeria/automated_curation.py +1590 -1248
  175. pyegeria-5.4.9.5/pyegeria/base_report_formats.py +2115 -0
  176. pyegeria-5.4.9.5/pyegeria/classification_manager.py +8272 -0
  177. pyegeria-5.4.9.5/pyegeria/collection_manager.py +5720 -0
  178. pyegeria-5.4.9.5/pyegeria/collection_models.py +168 -0
  179. pyegeria-5.4.9.5/pyegeria/config.py +641 -0
  180. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/core_omag_server_config.py +1 -1
  181. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/create_tech_guid_lists.py +13 -13
  182. pyegeria-5.4.9.5/pyegeria/data_designer.py +4994 -0
  183. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5/pyegeria/deprecated}/classification_manager_omvs.py +2015 -1899
  184. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5/pyegeria/deprecated}/runtime_manager_omvs.py +85 -99
  185. pyegeria-5.4.9.5/pyegeria/dr_egeria_reports.py +56 -0
  186. pyegeria-5.4.9.5/pyegeria/egeria_cat_client.py +49 -0
  187. pyegeria-5.4.9.5/pyegeria/egeria_client.py +137 -0
  188. pyegeria-5.4.9.5/pyegeria/egeria_config_client.py +76 -0
  189. pyegeria-5.4.9.5/pyegeria/egeria_tech_client.py +122 -0
  190. pyegeria-5.4.9.5/pyegeria/external_links.py +1687 -0
  191. pyegeria-5.4.9.5/pyegeria/feedback_manager.py +833 -0
  192. pyegeria-5.4.9.5/pyegeria/format_set_executor.py +383 -0
  193. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/full_omag_server_config.py +5 -3
  194. pyegeria-5.4.9.5/pyegeria/glossary_manager.py +2864 -0
  195. pyegeria-5.4.9.5/pyegeria/governance_officer.py +2924 -0
  196. pyegeria-5.4.9.5/pyegeria/load_config.py +36 -0
  197. pyegeria-5.4.9.5/pyegeria/logging_configuration.py +207 -0
  198. pyegeria-5.4.9.5/pyegeria/mcp_adapter.py +124 -0
  199. pyegeria-5.4.9.5/pyegeria/mcp_server.py +210 -0
  200. pyegeria-5.4.9.5/pyegeria/md_processing_utils.py +2147 -0
  201. pyegeria-5.4.9.5/pyegeria/mermaid_utilities.py +1246 -0
  202. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/metadata_explorer_omvs.py +8 -53
  203. pyegeria-5.4.9.5/pyegeria/models.py +535 -0
  204. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/my_profile_omvs.py +3 -2
  205. pyegeria-5.4.9.5/pyegeria/output_formatter.py +1162 -0
  206. pyegeria-5.4.9.5/pyegeria/output_formatter_with_machine_keys.py +1127 -0
  207. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/platform_services.py +8 -7
  208. pyegeria-5.2.0.42.2/pyegeria/project_manager_omvs.py → pyegeria-5.4.9.5/pyegeria/project_manager.py +916 -946
  209. pyegeria-5.4.9.5/pyegeria/reference_data.py +1146 -0
  210. pyegeria-5.4.9.5/pyegeria/runtime_manager.py +2285 -0
  211. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/server_operations.py +3 -3
  212. pyegeria-5.4.9.5/pyegeria/solution_architect.py +6003 -0
  213. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/template_manager_omvs.py +14 -16
  214. pyegeria-5.4.9.5/pyegeria/utils.py +307 -0
  215. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/valid_metadata_omvs.py +5 -4
  216. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/x_action_author_omvs.py +4 -7
  217. pyegeria-5.4.9.5/pyegeria.egg-info/PKG-INFO +216 -0
  218. pyegeria-5.4.9.5/pyegeria.egg-info/SOURCES.txt +268 -0
  219. pyegeria-5.4.9.5/pyegeria.egg-info/dependency_links.txt +1 -0
  220. pyegeria-5.4.9.5/pyegeria.egg-info/entry_points.txt +103 -0
  221. pyegeria-5.4.9.5/pyegeria.egg-info/requires.txt +24 -0
  222. pyegeria-5.4.9.5/pyegeria.egg-info/top_level.txt +4 -0
  223. pyegeria-5.4.9.5/pyproject.toml +191 -0
  224. pyegeria-5.4.9.5/setup.cfg +4 -0
  225. pyegeria-5.4.9.5/tests/test_asset_catalog_omvs.py +385 -0
  226. pyegeria-5.4.9.5/tests/test_automated_curation_omvs.py +1389 -0
  227. pyegeria-5.4.9.5/tests/test_classification_manager_omvs.py +768 -0
  228. pyegeria-5.4.9.5/tests/test_client.py +161 -0
  229. pyegeria-5.4.9.5/tests/test_client_new.py +358 -0
  230. pyegeria-5.4.9.5/tests/test_collection_manager_omvs.py +2189 -0
  231. pyegeria-5.4.9.5/tests/test_comments.py +194 -0
  232. pyegeria-5.4.9.5/tests/test_config.py +77 -0
  233. pyegeria-5.4.9.5/tests/test_config_unit.py +22 -0
  234. pyegeria-5.4.9.5/tests/test_core_omag_server_config.py +1771 -0
  235. pyegeria-5.4.9.5/tests/test_data_designer.py +980 -0
  236. pyegeria-5.4.9.5/tests/test_dr_egeria_command_help_modes.py +64 -0
  237. pyegeria-5.4.9.5/tests/test_egeria_cat_client.py +71 -0
  238. pyegeria-5.4.9.5/tests/test_egeria_client.py +179 -0
  239. pyegeria-5.4.9.5/tests/test_egeria_my_client.py +110 -0
  240. pyegeria-5.4.9.5/tests/test_env_settings.py +98 -0
  241. pyegeria-5.4.9.5/tests/test_external_links.py +606 -0
  242. pyegeria-5.4.9.5/tests/test_feedback_manager_omvs.py +1156 -0
  243. pyegeria-5.4.9.5/tests/test_format_set_dict.py +311 -0
  244. pyegeria-5.4.9.5/tests/test_full_omag_server_config.py +326 -0
  245. pyegeria-5.4.9.5/tests/test_glossary_manager_omvs.py +840 -0
  246. pyegeria-5.4.9.5/tests/test_governance_officer_omvs.py +706 -0
  247. pyegeria-5.4.9.5/tests/test_load_config.py +266 -0
  248. pyegeria-5.4.9.5/tests/test_mcp_adapter.py +39 -0
  249. pyegeria-5.4.9.5/tests/test_metadata_explorer_omvs.py +906 -0
  250. pyegeria-5.4.9.5/tests/test_my_profile_omvs.py +309 -0
  251. pyegeria-5.4.9.5/tests/test_output_format_models_unit.py +24 -0
  252. pyegeria-5.4.9.5/tests/test_output_format_sets_unit.py +14 -0
  253. pyegeria-5.4.9.5/tests/test_output_formats.py +238 -0
  254. pyegeria-5.4.9.5/tests/test_output_formatter_deepcopy_isolation.py +67 -0
  255. pyegeria-5.4.9.5/tests/test_output_formatter_dict_collisions.py +63 -0
  256. pyegeria-5.4.9.5/tests/test_platform_services.py +880 -0
  257. pyegeria-5.4.9.5/tests/test_project_manager_omvs.py +828 -0
  258. pyegeria-5.4.9.5/tests/test_reference_data.py +337 -0
  259. pyegeria-5.4.9.5/tests/test_registered_info.py +160 -0
  260. pyegeria-5.4.9.5/tests/test_root_path.py +136 -0
  261. pyegeria-5.4.9.5/tests/test_runtime_manager.py +780 -0
  262. pyegeria-5.4.9.5/tests/test_server_operations.py +197 -0
  263. pyegeria-5.4.9.5/tests/test_solution_architect_omvs.py +1546 -0
  264. pyegeria-5.4.9.5/tests/test_utils.py +73 -0
  265. pyegeria-5.4.9.5/tests/test_valid_metadata_omvs.py +422 -0
  266. pyegeria-5.2.0.42.2/PKG-INFO +0 -71
  267. pyegeria-5.2.0.42.2/README.md +0 -40
  268. pyegeria-5.2.0.42.2/pyegeria/README.md +0 -35
  269. pyegeria-5.2.0.42.2/pyegeria/__init__.py +0 -370
  270. pyegeria-5.2.0.42.2/pyegeria/_globals.py +0 -37
  271. pyegeria-5.2.0.42.2/pyegeria/_validators.py +0 -385
  272. pyegeria-5.2.0.42.2/pyegeria/collection_manager_omvs.py +0 -2727
  273. pyegeria-5.2.0.42.2/pyegeria/commands/README.md +0 -47
  274. pyegeria-5.2.0.42.2/pyegeria/commands/cat/README.md +0 -16
  275. pyegeria-5.2.0.42.2/pyegeria/commands/cat/__init__.py +0 -1
  276. pyegeria-5.2.0.42.2/pyegeria/commands/cat/get_tech_type_elements.py +0 -174
  277. pyegeria-5.2.0.42.2/pyegeria/commands/cat/glossary_actions.py +0 -349
  278. pyegeria-5.2.0.42.2/pyegeria/commands/cat/list_collections.py +0 -162
  279. pyegeria-5.2.0.42.2/pyegeria/commands/cli/ops_config.py +0 -44
  280. pyegeria-5.2.0.42.2/pyegeria/commands/cli/txt_custom_v2.tcss +0 -19
  281. pyegeria-5.2.0.42.2/pyegeria/commands/doc/README.md +0 -145
  282. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/README.md +0 -511
  283. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/asset-graph 2024-11-20 at 15.56.42.png +0 -0
  284. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/assets-in-domain 2024-11-20 at 15.49.55@2x.png +0 -0
  285. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/elements-of-type 2024-11-20 at 16.01.35.png +0 -0
  286. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/tech-type-elements 2024-11-20 at 16.05.05.png +0 -0
  287. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/CleanShot 2024-12-19 at 13.23.11.mov +0 -0
  288. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/CleanShot 2024-12-19 at 19.56.26.mp4 +0 -0
  289. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs 2024-12-17 at 15.43.27@2x.png +0 -0
  290. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs-2024-11-20 at 16.17.43@2x.png +0 -0
  291. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-11-25 at 20.14.50@2x.png +0 -0
  292. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-12-17 at 15.48.38@2x.png +0 -0
  293. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-11-25 at 20.21.25@2x.png +0 -0
  294. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-12-17 at 15.52.16@2x.png +0 -0
  295. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed_databases 2024-12-16 at 16.40.31@2x.png +0 -0
  296. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-glossaries 2024-11-25 at 20.30.02.png +0 -0
  297. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-terms 2024-11-25 at 20.32.11.png +0 -0
  298. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/info/asset-types 2024-11-25 at 20.34.19@2x.png +0 -0
  299. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/info/certification-types 2024-11-25 at 20.37.07.png +0 -0
  300. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/info/collection-graph 2024-12-12 at 11.33.18@2x.png +0 -0
  301. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-collections 2024-12-10 at 14.25.51@2x.png +0 -0
  302. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-todos 2024-12-12 at 11.46.30@2x.png +0 -0
  303. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-user-ids 2024-12-12 at 11.51.09@2x.png +0 -0
  304. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/info/tech-types 2024-12-12 at 11.37.20@2x.png +0 -0
  305. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_dependencies 2024-12-14 at 16.24.39@2x.png +0 -0
  306. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_structure 2024-12-14 at 16.21.35@2x.png +0 -0
  307. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/cat/show/projects/projects 2024-12-14 at 16.18.10@2x.png +0 -0
  308. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/hey_egeria tui 2024-12-16 at 16.58.22@2x.png +0 -0
  309. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/my/show/my_profile 2024-12-14 at 16.29.27@2x.png +0 -0
  310. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/my/show/my_roles 2024-12-14 at 16.32.10@2x.png +0 -0
  311. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/my/show/my_todos 2024-12-15 at 16.24.13@2x.png +0 -0
  312. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/my/show/open_todos 2024-12-14 at 16.36.12@2x.png +0 -0
  313. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/list_engine_activity compressed 2024-12-15 at 16.48.48@2x.png +0 -0
  314. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity 2024-12-15 at 16.32.55@2x.png +0 -0
  315. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity compressed 2024-12-15 at 16.38.29@2x.png +0 -0
  316. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_status 2024-12-15 at 16.51.26.jpeg +0 -0
  317. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_daemon_status 2024-12-15 at 16.57.12@2x.png +0 -0
  318. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_targets 2024-12-15 at 17.02.19@2x.png +0 -0
  319. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/platforms/monitor_platform_status 2024-12-15 at 19.53.18@2x.png +0 -0
  320. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status 2024-12-15 at 19.59.39@2x.png +0 -0
  321. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status full 2024-12-15 at 20.01.57@2x.png +0 -0
  322. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_startup_servers 2024-12-15 at 19.56.07@2x.png +0 -0
  323. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_anchored_elements 2024-12-15 at 21.25.41@2x.png +0 -0
  324. pyegeria-5.2.0.42.2/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
  325. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/info_for_guid 2024-12-16 at 11.35.29@2x.png +0 -0
  326. pyegeria-5.2.0.42.2/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
  327. pyegeria-5.2.0.42.2/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
  328. pyegeria-5.2.0.42.2/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
  329. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/related_elements 2024-12-16 at 14.55.01@2x.png +0 -0
  330. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/show_related_specifications 2024-12-16 at 15.04.55@2x.png +0 -0
  331. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/asset_types 2024-12-16 at 15.10.16@2x.png +0 -0
  332. pyegeria-5.2.0.42.2/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
  333. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/governance_action_processes 2024-12-16 at 15.13.01@2x.png +0 -0
  334. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/registered_services 2024-12-16 at 16.44.54@2x.png +0 -0
  335. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-16 at 16.20.34@2x.png +0 -0
  336. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-19 at 10.51.54@2x.png +0 -0
  337. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/valid_metadata_values 2024-12-16 at 15.31.56@2x.png +0 -0
  338. pyegeria-5.2.0.42.2/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
  339. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_technology_types 2024-12-16 at 15.39.20@2x.png +0 -0
  340. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_details 2024-12-16 at 15.37.21@2x.png +0 -0
  341. pyegeria-5.2.0.42.2/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_templates 2024-12-16 at 16.11.48@2x.png +0 -0
  342. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/basic-glossary-tui.md +0 -109
  343. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/delete-glossary-step1 2024-11-06 at 15.47.23@2x.png +0 -0
  344. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/delete-glossary-step2 2024-11-06 at 15.51.29@2x.png +0 -0
  345. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/delete-glossary-step3 2024-11-06 at 15.53.19@2x.png +0 -0
  346. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/delete-glossary-step4 2024-11-06 at 15.55.11@2x.png +0 -0
  347. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-create-glossary example 2024-11-05 at 20.38.04@2x.png +0 -0
  348. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-create-term 2024-11-06 at 20.48.29.png +0 -0
  349. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-delete-term 2024-11-07 at 03.57.25.png +0 -0
  350. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-display-terms-for-glossary-test 2024-11-06 at 20.51.28.png +0 -0
  351. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-export-example 2024-11-07 at 09.54.57.png +0 -0
  352. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-exported-terms 2024-11-06 at 21.06.32.png +0 -0
  353. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-glossary-list example 2024-11-05 at 20.41.02@2x.png +0 -0
  354. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-import-terms 2024-11-07 at 08.15.18.png +0 -0
  355. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-list-all-terms 2024-11-06 at 16.22.20@2x.png +0 -0
  356. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-list-terms-for-example 2024-11-06 at 16.40.12.png +0 -0
  357. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-list-terms-second 2024-11-06 at 16.45.13.png +0 -0
  358. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-pipx install pyegeria 2024-11-10 at 18.12.21.png +0 -0
  359. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-server-status-full 2024-11-10 at 18.25.14.png +0 -0
  360. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-servers-status 2024-11-10 at 18.15.42.png +0 -0
  361. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/out-upsert-import 2024-11-07 at 19.37.00.png +0 -0
  362. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-2024-11-10 at 18.26.29.png +0 -0
  363. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-create-glossary example 2024-11-05 at 20.34.24@2x.png +0 -0
  364. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-create-term 2024-11-06 at 20.46.35.png +0 -0
  365. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-delete-term 2024-11-07 at 03.51.57.png +0 -0
  366. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-display-terms-for-example 2024-11-06 at 20.56.49.png +0 -0
  367. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-export-example 2024-11-07 at 09.52.59.png +0 -0
  368. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-hey-egeria 2024-11-10 at 18.31.01.png +0 -0
  369. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-import-upsert-example 2024-11-07 at 10.08.37.png +0 -0
  370. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-list-terms-second 2024-11-06 at 16.46.34.png +0 -0
  371. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-load-archive.png +0 -0
  372. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-server-status-full 2024-11-10 at 19.14.36.png +0 -0
  373. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-show-glossaries 2024-11-07 at 20.00.05.png +0 -0
  374. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-show-glossary-terms 2024-11-05 at 19.37.53@2x.png +0 -0
  375. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/tui-upsert 2024-11-07 at 11.49.04.png +0 -0
  376. pyegeria-5.2.0.42.2/pyegeria/commands/doc/glossary/images/upsert-example.om-terms 2024-11-07 at 11.44.05.png +0 -0
  377. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/README.md +0 -346
  378. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png +0 -0
  379. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731421782704.png +0 -0
  380. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731422134920.png +0 -0
  381. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria 2024-11-12 at 20.38.43.png +0 -0
  382. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria cat 2024-11-12 at 21.41.43.png +0 -0
  383. pyegeria-5.2.0.42.2/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
  384. pyegeria-5.2.0.42.2/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
  385. pyegeria-5.2.0.42.2/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
  386. pyegeria-5.2.0.42.2/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
  387. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/short-cut commands 2024-11-12 at 22.22.13.png +0 -0
  388. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-hey-egeria.png +0 -0
  389. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-integration-status-paging.png +0 -0
  390. pyegeria-5.2.0.42.2/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
  391. pyegeria-5.2.0.42.2/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
  392. pyegeria-5.2.0.42.2/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status-full 2024-11-10.png +0 -0
  393. pyegeria-5.2.0.42.2/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
  394. pyegeria-5.2.0.42.2/pyegeria/commands/my/README.md +0 -17
  395. pyegeria-5.2.0.42.2/pyegeria/commands/ops/README.md +0 -24
  396. pyegeria-5.2.0.42.2/pyegeria/commands/ops/__init__.py +0 -22
  397. pyegeria-5.2.0.42.2/pyegeria/commands/ops/load_archive.py +0 -75
  398. pyegeria-5.2.0.42.2/pyegeria/commands/ops/monitor_asset_events.py +0 -107
  399. pyegeria-5.2.0.42.2/pyegeria/commands/tech/README.md +0 -24
  400. pyegeria-5.2.0.42.2/pyegeria/commands/tech/__init__.py +0 -0
  401. pyegeria-5.2.0.42.2/pyegeria/egeria_cat_client.py +0 -78
  402. pyegeria-5.2.0.42.2/pyegeria/egeria_client.py +0 -117
  403. pyegeria-5.2.0.42.2/pyegeria/egeria_config_client.py +0 -45
  404. pyegeria-5.2.0.42.2/pyegeria/egeria_my_client.py +0 -56
  405. pyegeria-5.2.0.42.2/pyegeria/egeria_tech_client.py +0 -93
  406. pyegeria-5.2.0.42.2/pyegeria/feedback_manager_omvs.py +0 -4573
  407. pyegeria-5.2.0.42.2/pyegeria/glossary_browser_omvs.py +0 -2507
  408. pyegeria-5.2.0.42.2/pyegeria/glossary_manager_omvs.py +0 -3566
  409. pyegeria-5.2.0.42.2/pyegeria/mermaid_utilities.py +0 -218
  410. pyegeria-5.2.0.42.2/pyegeria/utils.py +0 -195
  411. pyegeria-5.2.0.42.2/pyproject.toml +0 -142
  412. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/LICENSE +0 -0
  413. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5}/commands/ops/x_engine_actions.py +0 -0
  414. {pyegeria-5.2.0.42.2/pyegeria/commands/my → pyegeria-5.4.9.5/config}/__init__.py +0 -0
  415. {pyegeria-5.2.0.42.2/pyegeria → pyegeria-5.4.9.5/pyegeria/deprecated}/_deprecated_gov_engine.py +0 -0
  416. {pyegeria-5.2.0.42.2 → pyegeria-5.4.9.5}/pyegeria/registered_info.py +0 -0
@@ -0,0 +1,3 @@
1
+ include LICENSE
2
+ include README.md
3
+ recursive-include md_processing/data *.json *.py
@@ -0,0 +1,216 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyegeria
3
+ Version: 5.4.9.5
4
+ Summary: A python client for Egeria
5
+ Author-email: Dan Wolfson <dan.wolfson@pdr-associates.com>
6
+ License-Expression: Apache-2.0
7
+ Keywords: egeria,metadata,governance
8
+ Classifier: Programming Language :: Python
9
+ Classifier: Programming Language :: Python :: 3
10
+ Requires-Python: >3.12
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: httpx
14
+ Requires-Dist: rich>=14.2
15
+ Requires-Dist: validators
16
+ Requires-Dist: urllib3
17
+ Requires-Dist: requests
18
+ Requires-Dist: jupyter
19
+ Requires-Dist: click
20
+ Requires-Dist: trogon
21
+ Requires-Dist: psycopg2-binary>=2.9.11
22
+ Requires-Dist: jupyter-notebook-parser
23
+ Requires-Dist: loguru
24
+ Requires-Dist: inflect
25
+ Requires-Dist: pydantic>=2.12.3
26
+ Requires-Dist: pydantic-settings>=2.10.1
27
+ Requires-Dist: pydevd-pycharm>=253.27642.35
28
+ Requires-Dist: wcwidth
29
+ Requires-Dist: altair
30
+ Requires-Dist: mcp>=0.1
31
+ Requires-Dist: markers>=0.3.0
32
+ Requires-Dist: pytest-asyncio>=1.2.0
33
+ Requires-Dist: python-dotenv>=1.1.1
34
+ Provides-Extra: test
35
+ Requires-Dist: pytest; extra == "test"
36
+ Dynamic: license-file
37
+
38
+ <!-- SPDX-License-Identifier: CC-BY-4.0 -->
39
+ <!-- Copyright Contributors to the ODPi Egeria project. -->
40
+
41
+ ![Egeria Logo](https://egeria-project.org/assets/images/egeria-header.png)
42
+
43
+ [![GitHub](https://img.shields.io/github/license/odpi/egeria)](LICENSE)
44
+
45
+
46
+ # pyegeria: a python client for Egeria
47
+
48
+ A lightweight Python 3.12+ client and CLI for the Egeria open metadata and governance platform. It helps you configure and operate Egeria services and work with metadata (assets, glossaries, lineage, etc.) from Python, with examples, tests, and documented report formats.
49
+
50
+ This is a package for easily using the Egeria
51
+ open metadata environment from python. Details about the
52
+ open source Egeria project can be found at [Egeria Project](https://egeria-project.org).
53
+
54
+ This package is in active development. There is initial
55
+ support for many of Egeria's services including configuration and operation. This client depends on
56
+ This release supports Egeria 5.1 - although most of the functions may work on earlier versions of Egeria as well.
57
+
58
+ The code is organized to mimic the existing Egeria Java Client structure.
59
+
60
+ The commands folder holds the Egeria Command Line Interface and corresponding commands
61
+ to visualize and use Egeria. The commands also serve as useful examples.
62
+
63
+ An examples folder holds some useful examples showing different facets of using pyegeria.
64
+
65
+ For detailed guidance on report formats (selection and migration from columns→attributes), see:
66
+ - examples/doc_samples/report_formats.md
67
+
68
+ ### Report specs: families and filtering
69
+
70
+ Report specs (aka format sets) can be tagged with an optional `family` string to help organize and discover related specs.
71
+
72
+ - Show names with family and sort by family, then name:
73
+
74
+ ```python
75
+ from pyegeria.base_report_formats import report_spec_list
76
+
77
+ names = report_spec_list(show_family=True, sort_by_family=True)
78
+ for n in names:
79
+ print(n)
80
+ ```
81
+
82
+ - Filter specs by family programmatically:
83
+
84
+ ```python
85
+ from pyegeria.base_report_formats import report_specs
86
+
87
+ # Exact family match (case-insensitive)
88
+ security_specs = report_specs.filter_by_family("Security")
89
+ # Specs with no family assigned
90
+ no_family_specs = report_specs.filter_by_family("")
91
+ ```
92
+
93
+ WARNING: files that start with "X" are in-progress placeholders that are not meant to be used..they will mature and
94
+ evolve.
95
+
96
+ All feedback is welcome. Please engage via our [community](http://egeria-project.org/guides/community/),
97
+ team calls, or via github issues in this repo. If interested in contributing,
98
+ you can engage via the community or directly reach out to
99
+ [dan.wolfson\@pdr-associates.com](mailto:dan.wolfson@pdr-associates.com?subject=pyegeria).
100
+
101
+ This is a learning experience.
102
+
103
+ ## Configuration
104
+
105
+ pyegeria uses a simple, predictable precedence for configuration:
106
+
107
+ 1. Built-in defaults (Pydantic models in pyegeria.config)
108
+ 2. Config file (JSON) if found
109
+ 3. Environment variables (OS env and optional .env)
110
+ 4. Explicit env file passed to get_app_config/load_app_config
111
+
112
+ Environment always overrides config file, which overrides defaults.
113
+
114
+ ### Where to put your configuration
115
+
116
+ - Config file: A JSON file named config.json. The loader looks in this order:
117
+ - If PYEGERIA_CONFIG_DIRECTORY is set: $PYEGERIA_CONFIG_DIRECTORY/$PYEGERIA_CONFIG_FILE
118
+ - Else if PYEGERIA_ROOT_PATH is set: $PYEGERIA_ROOT_PATH/$PYEGERIA_CONFIG_FILE
119
+ - Else: ./config.json (the current working directory)
120
+
121
+ - .env file: Optional. If present in the current working directory (.env), variables from it will be loaded. You can also pass a specific env file path to get_app_config(env_file=...) or load_app_config(env_file=...). For sample variables, see config/env in this repo.
122
+
123
+ ### Common environment variables
124
+
125
+ - PYEGERIA_CONFIG_DIRECTORY: directory containing your config.json
126
+ - PYEGERIA_ROOT_PATH: root folder used to resolve config.json when CONFIG_DIRECTORY is not set
127
+ - PYEGERIA_CONFIG_FILE: filename of the configuration JSON (default: config.json)
128
+ - PYEGERIA_CONSOLE_WIDTH: integer console width (e.g., 200 or 280)
129
+ - EGERIA_PLATFORM_URL, EGERIA_VIEW_SERVER_URL, EGERIA_ENGINE_HOST_URL: URLs for your Egeria servers
130
+ - EGERIA_USER, EGERIA_USER_PASSWORD: credentials used by some clients
131
+ - Logging related: PYEGERIA_ENABLE_LOGGING, PYEGERIA_LOG_DIRECTORY, PYEGERIA_CONSOLE_LOG_LVL, PYEGERIA_FILE_LOG_LVL, etc.
132
+
133
+ See config/env for more variables and defaults.
134
+
135
+ ### Example .env
136
+
137
+ # PYEGERIA_CONFIG_DIRECTORY=/path/to/configs
138
+ # PYEGERIA_ROOT_PATH=/path/to/project
139
+ # PYEGERIA_CONFIG_FILE=config.json
140
+ # EGERIA_PLATFORM_URL=https://localhost:9443
141
+ # EGERIA_VIEW_SERVER=qs-view-server
142
+ # EGERIA_VIEW_SERVER_URL=https://localhost:9443
143
+ # EGERIA_USER=myuser
144
+ # EGERIA_USER_PASSWORD=mypassword
145
+ # PYEGERIA_CONSOLE_WIDTH=280
146
+
147
+ Lines starting with # are comments. Quotes are optional; python-dotenv/pydantic-settings handle both.
148
+
149
+ ### Example config.json (minimal)
150
+
151
+ {
152
+ "Environment": {
153
+ "Pyegeria Root": ".",
154
+ "Egeria Platform URL": "https://localhost:9443"
155
+ },
156
+ "User Profile": {
157
+ "Egeria Home Collection": "MyHome"
158
+ }
159
+ }
160
+
161
+ ### Programmatic usage
162
+
163
+ from pyegeria import get_app_config
164
+ cfg = get_app_config() # uses OS env and ./.env
165
+ # or with explicit env file
166
+ cfg = get_app_config(env_file="/path/to/dev.env")
167
+
168
+ # Access values via Pydantic models
169
+ print(cfg.Environment.egeria_platform_url)
170
+ print(cfg.Logging.enable_logging)
171
+
172
+ ### CLI quick checks
173
+
174
+ - Validate your env file:
175
+ python scripts/validate_env.py --env config/env
176
+ python scripts/validate_env.py # auto-detects ./config/env or ./.env
177
+
178
+ ### Testing
179
+
180
+ By default, running pytest executes unit tests that use monkeypatching/fakes and do not contact a live Egeria.
181
+
182
+ - Run unit tests (recommended default):
183
+ poetry install
184
+ poetry run pytest -v
185
+
186
+ You can also run tests live against a local Egeria instance. Enable live mode with either a CLI flag or an environment variable. In live mode, tests marked as `unit` are skipped and live tests run using a real Client2 connection.
187
+
188
+ - Enable live mode via CLI:
189
+ poetry run pytest -q --live-egeria
190
+
191
+ - Or enable via environment variable:
192
+ PYEG_LIVE_EGERIA=1 poetry run pytest -q
193
+
194
+ Default live connection parameters (can be overridden via env):
195
+ - server_name = "qs-view-server" (override with PYEG_SERVER_NAME)
196
+ - platform_url = "https://localhost:9443" (override with PYEG_PLATFORM_URL)
197
+ - user_id = "peterprofile" (override with PYEG_USER_ID)
198
+ - user_pwd = "secret" (override with PYEG_USER_PWD)
199
+
200
+ Notes:
201
+ - SSL verification is controlled by pyegeria._globals.enable_ssl_check, which defaults to False in this repo to support localhost/self-signed certs.
202
+ - See tests/conftest.py for the live test fixtures and switches.
203
+
204
+ ### Troubleshooting
205
+
206
+ ### Troubleshooting
207
+
208
+ - If your env doesn’t seem to apply, confirm which config.json is used (the loader checks PYEGERIA_CONFIG_DIRECTORY first, then PYEGERIA_ROOT_PATH, then ./config.json).
209
+ - .env files are optional. Missing .env is not an error.
210
+ - You can always override values with OS environment variables (they take precedence over config.json).
211
+
212
+
213
+
214
+ ----
215
+ License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
216
+ Copyright Contributors to the ODPi Egeria project.
@@ -0,0 +1,179 @@
1
+ <!-- SPDX-License-Identifier: CC-BY-4.0 -->
2
+ <!-- Copyright Contributors to the ODPi Egeria project. -->
3
+
4
+ ![Egeria Logo](https://egeria-project.org/assets/images/egeria-header.png)
5
+
6
+ [![GitHub](https://img.shields.io/github/license/odpi/egeria)](LICENSE)
7
+
8
+
9
+ # pyegeria: a python client for Egeria
10
+
11
+ A lightweight Python 3.12+ client and CLI for the Egeria open metadata and governance platform. It helps you configure and operate Egeria services and work with metadata (assets, glossaries, lineage, etc.) from Python, with examples, tests, and documented report formats.
12
+
13
+ This is a package for easily using the Egeria
14
+ open metadata environment from python. Details about the
15
+ open source Egeria project can be found at [Egeria Project](https://egeria-project.org).
16
+
17
+ This package is in active development. There is initial
18
+ support for many of Egeria's services including configuration and operation. This client depends on
19
+ This release supports Egeria 5.1 - although most of the functions may work on earlier versions of Egeria as well.
20
+
21
+ The code is organized to mimic the existing Egeria Java Client structure.
22
+
23
+ The commands folder holds the Egeria Command Line Interface and corresponding commands
24
+ to visualize and use Egeria. The commands also serve as useful examples.
25
+
26
+ An examples folder holds some useful examples showing different facets of using pyegeria.
27
+
28
+ For detailed guidance on report formats (selection and migration from columns→attributes), see:
29
+ - examples/doc_samples/report_formats.md
30
+
31
+ ### Report specs: families and filtering
32
+
33
+ Report specs (aka format sets) can be tagged with an optional `family` string to help organize and discover related specs.
34
+
35
+ - Show names with family and sort by family, then name:
36
+
37
+ ```python
38
+ from pyegeria.base_report_formats import report_spec_list
39
+
40
+ names = report_spec_list(show_family=True, sort_by_family=True)
41
+ for n in names:
42
+ print(n)
43
+ ```
44
+
45
+ - Filter specs by family programmatically:
46
+
47
+ ```python
48
+ from pyegeria.base_report_formats import report_specs
49
+
50
+ # Exact family match (case-insensitive)
51
+ security_specs = report_specs.filter_by_family("Security")
52
+ # Specs with no family assigned
53
+ no_family_specs = report_specs.filter_by_family("")
54
+ ```
55
+
56
+ WARNING: files that start with "X" are in-progress placeholders that are not meant to be used..they will mature and
57
+ evolve.
58
+
59
+ All feedback is welcome. Please engage via our [community](http://egeria-project.org/guides/community/),
60
+ team calls, or via github issues in this repo. If interested in contributing,
61
+ you can engage via the community or directly reach out to
62
+ [dan.wolfson\@pdr-associates.com](mailto:dan.wolfson@pdr-associates.com?subject=pyegeria).
63
+
64
+ This is a learning experience.
65
+
66
+ ## Configuration
67
+
68
+ pyegeria uses a simple, predictable precedence for configuration:
69
+
70
+ 1. Built-in defaults (Pydantic models in pyegeria.config)
71
+ 2. Config file (JSON) if found
72
+ 3. Environment variables (OS env and optional .env)
73
+ 4. Explicit env file passed to get_app_config/load_app_config
74
+
75
+ Environment always overrides config file, which overrides defaults.
76
+
77
+ ### Where to put your configuration
78
+
79
+ - Config file: A JSON file named config.json. The loader looks in this order:
80
+ - If PYEGERIA_CONFIG_DIRECTORY is set: $PYEGERIA_CONFIG_DIRECTORY/$PYEGERIA_CONFIG_FILE
81
+ - Else if PYEGERIA_ROOT_PATH is set: $PYEGERIA_ROOT_PATH/$PYEGERIA_CONFIG_FILE
82
+ - Else: ./config.json (the current working directory)
83
+
84
+ - .env file: Optional. If present in the current working directory (.env), variables from it will be loaded. You can also pass a specific env file path to get_app_config(env_file=...) or load_app_config(env_file=...). For sample variables, see config/env in this repo.
85
+
86
+ ### Common environment variables
87
+
88
+ - PYEGERIA_CONFIG_DIRECTORY: directory containing your config.json
89
+ - PYEGERIA_ROOT_PATH: root folder used to resolve config.json when CONFIG_DIRECTORY is not set
90
+ - PYEGERIA_CONFIG_FILE: filename of the configuration JSON (default: config.json)
91
+ - PYEGERIA_CONSOLE_WIDTH: integer console width (e.g., 200 or 280)
92
+ - EGERIA_PLATFORM_URL, EGERIA_VIEW_SERVER_URL, EGERIA_ENGINE_HOST_URL: URLs for your Egeria servers
93
+ - EGERIA_USER, EGERIA_USER_PASSWORD: credentials used by some clients
94
+ - Logging related: PYEGERIA_ENABLE_LOGGING, PYEGERIA_LOG_DIRECTORY, PYEGERIA_CONSOLE_LOG_LVL, PYEGERIA_FILE_LOG_LVL, etc.
95
+
96
+ See config/env for more variables and defaults.
97
+
98
+ ### Example .env
99
+
100
+ # PYEGERIA_CONFIG_DIRECTORY=/path/to/configs
101
+ # PYEGERIA_ROOT_PATH=/path/to/project
102
+ # PYEGERIA_CONFIG_FILE=config.json
103
+ # EGERIA_PLATFORM_URL=https://localhost:9443
104
+ # EGERIA_VIEW_SERVER=qs-view-server
105
+ # EGERIA_VIEW_SERVER_URL=https://localhost:9443
106
+ # EGERIA_USER=myuser
107
+ # EGERIA_USER_PASSWORD=mypassword
108
+ # PYEGERIA_CONSOLE_WIDTH=280
109
+
110
+ Lines starting with # are comments. Quotes are optional; python-dotenv/pydantic-settings handle both.
111
+
112
+ ### Example config.json (minimal)
113
+
114
+ {
115
+ "Environment": {
116
+ "Pyegeria Root": ".",
117
+ "Egeria Platform URL": "https://localhost:9443"
118
+ },
119
+ "User Profile": {
120
+ "Egeria Home Collection": "MyHome"
121
+ }
122
+ }
123
+
124
+ ### Programmatic usage
125
+
126
+ from pyegeria import get_app_config
127
+ cfg = get_app_config() # uses OS env and ./.env
128
+ # or with explicit env file
129
+ cfg = get_app_config(env_file="/path/to/dev.env")
130
+
131
+ # Access values via Pydantic models
132
+ print(cfg.Environment.egeria_platform_url)
133
+ print(cfg.Logging.enable_logging)
134
+
135
+ ### CLI quick checks
136
+
137
+ - Validate your env file:
138
+ python scripts/validate_env.py --env config/env
139
+ python scripts/validate_env.py # auto-detects ./config/env or ./.env
140
+
141
+ ### Testing
142
+
143
+ By default, running pytest executes unit tests that use monkeypatching/fakes and do not contact a live Egeria.
144
+
145
+ - Run unit tests (recommended default):
146
+ poetry install
147
+ poetry run pytest -v
148
+
149
+ You can also run tests live against a local Egeria instance. Enable live mode with either a CLI flag or an environment variable. In live mode, tests marked as `unit` are skipped and live tests run using a real Client2 connection.
150
+
151
+ - Enable live mode via CLI:
152
+ poetry run pytest -q --live-egeria
153
+
154
+ - Or enable via environment variable:
155
+ PYEG_LIVE_EGERIA=1 poetry run pytest -q
156
+
157
+ Default live connection parameters (can be overridden via env):
158
+ - server_name = "qs-view-server" (override with PYEG_SERVER_NAME)
159
+ - platform_url = "https://localhost:9443" (override with PYEG_PLATFORM_URL)
160
+ - user_id = "peterprofile" (override with PYEG_USER_ID)
161
+ - user_pwd = "secret" (override with PYEG_USER_PWD)
162
+
163
+ Notes:
164
+ - SSL verification is controlled by pyegeria._globals.enable_ssl_check, which defaults to False in this repo to support localhost/self-signed certs.
165
+ - See tests/conftest.py for the live test fixtures and switches.
166
+
167
+ ### Troubleshooting
168
+
169
+ ### Troubleshooting
170
+
171
+ - If your env doesn’t seem to apply, confirm which config.json is used (the loader checks PYEGERIA_CONFIG_DIRECTORY first, then PYEGERIA_ROOT_PATH, then ./config.json).
172
+ - .env files are optional. Missing .env is not an error.
173
+ - You can always override values with OS environment variables (they take precedence over config.json).
174
+
175
+
176
+
177
+ ----
178
+ License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
179
+ Copyright Contributors to the ODPi Egeria project.
@@ -4,19 +4,27 @@ Copyright Contributors to the ODPi Egeria project.
4
4
 
5
5
 
6
6
 
7
- pyegeria commands available also from python.
7
+ pyegeria md_commands available also from python.
8
8
  """
9
-
10
- from .ops.monitor_gov_eng_status import display_gov_eng_status
11
- from .ops.monitor_integ_daemon_status import display_integration_daemon_status
9
+ from .cat.dr_egeria_md import process_markdown_file
10
+ from .cat.list_deployed_catalogs import list_deployed_catalogs
11
+ from .cat.list_deployed_database_schemas import list_deployed_database_schemas
12
+ from .cat.list_deployed_databases import list_deployed_databases
13
+ from .cat.list_glossaries import display_glossaries
14
+ from .cat.list_terms import display_glossary_terms
15
+ from .ops.list_catalog_targets import display_catalog_targets
16
+ from .ops.monitor_engine_activity import display_engine_activity_c
17
+ from .ops.monitor_engine_status import display_gov_eng_status
18
+ from .ops.monitor_daemon_status import display_integration_daemon_status
12
19
  from .ops.table_integ_daemon_status import (
13
20
  display_integration_daemon_status as table_integ_daemon_status,
14
21
  )
15
- from .ops.monitor_engine_activity_c import display_engine_activity_c
16
- from .ops.list_catalog_targets import display_catalog_targets
22
+ from .tech.list_elements_by_property_value import EGERIA_WIDTH
17
23
 
18
- from .cat.list_glossaries import display_glossaries
19
- from .cat.list_terms import display_glossary_terms
20
- from .cat.list_deployed_catalogs import list_deployed_catalogs
21
- from .cat.list_deployed_database_schemas import list_deployed_database_schemas
22
- from .cat.list_deployed_databases import list_deployed_databases
24
+
25
+ def list_integration_daemon_status(
26
+ search_list: str, width: int = EGERIA_WIDTH, sort: bool = True
27
+ ):
28
+ table_integ_daemon_status(
29
+ search_list=search_list, paging=True, width=width, sort=sort
30
+ )
@@ -0,0 +1,166 @@
1
+ """
2
+ This is an ongoing experiment in parsing and playing with Freddie docs
3
+ """
4
+ import json
5
+ import os
6
+ from rich import print
7
+ from rich.console import Console
8
+
9
+ from pyegeria.md_processing_utils import (commands,
10
+ process_provenance_command)
11
+
12
+ import click
13
+ from pyegeria import (extract_command, process_glossary_upsert_command, process_term_upsert_command,
14
+ process_category_upsert_command,
15
+ get_current_datetime_string, process_per_proj_upsert_command, EgeriaTech
16
+ )
17
+ import commands
18
+ from datetime import datetime
19
+
20
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
21
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
22
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
23
+ EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
24
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
25
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
26
+ )
27
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
28
+ EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
29
+ "EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
30
+ )
31
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
32
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
33
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
34
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
35
+ EGERIA_WIDTH = os.environ.get("EGERIA_WIDTH", 220)
36
+ EGERIA_JUPYTER = os.environ.get("EGERIA_JUPYTER", False)
37
+ EGERIA_HOME_GLOSSARY_GUID = os.environ.get("EGERIA_HOME_GLOSSARY_GUID", None)
38
+ EGERIA_GLOSSARY_PATH = os.environ.get("EGERIA_GLOSSARY_PATH", None)
39
+ EGERIA_ROOT_PATH = os.environ.get("EGERIA_ROOT_PATH", "../../")
40
+ EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "md_processing/dr_egeria_inbox")
41
+ EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "md_processing/dr_egeria_outbox")
42
+
43
+ console = Console(width=int(EGERIA_WIDTH))
44
+
45
+
46
+
47
+ @click.command("process-markdown-file", help="Process a markdown file and return the output as a string.")
48
+ @click.option("--file-path", help="File path to markdown file",
49
+ default="glossary_test1.md")
50
+ @click.option("--directive", default="display-only", help="How to process the file")
51
+ @click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use.")
52
+ @click.option(
53
+ "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
54
+ )
55
+ @click.option("--userid", default=EGERIA_USER, help="Egeria user")
56
+ @click.option("--user_pass", default=EGERIA_USER_PASSWORD, help="Egeria user password")
57
+ def process_markdown_file(
58
+ file_path: str,
59
+ directive: str,
60
+ server: str,
61
+ url: str,
62
+ userid: str,
63
+ user_pass: str,
64
+ ):
65
+
66
+ client = EgeriaTech(server, url, user_id=userid)
67
+ token = client.create_egeria_bearer_token(userid, user_pass)
68
+
69
+ updated = False
70
+ full_file_path = os.path.join(EGERIA_ROOT_PATH, EGERIA_INBOX_PATH, file_path)
71
+ print(f"Processing Markdown File: {full_file_path}")
72
+ try:
73
+ with open(full_file_path, 'r') as f:
74
+ lines = f.readlines()
75
+ except FileNotFoundError:
76
+ print(f"Error: File not found at path: {full_file_path}")
77
+ return {} # Return empty dict if file not found
78
+
79
+ final_output =""
80
+ prov_output = (f"\n* Results from processing file {file_path} on "
81
+ f"{datetime.now().strftime("%Y-%m-%d %H:%M")}\n")
82
+ h1_blocks = []
83
+ current_block = ""
84
+ in_h1_block = False
85
+ element_dictionary = {}
86
+
87
+ for line in lines:
88
+ line = line.strip() # Remove leading/trailing whitespace
89
+
90
+ if line.startswith("# ") and not in_h1_block: # Start of a new H1 block
91
+ if current_block:
92
+ h1_blocks.append(current_block)
93
+ current_block = line
94
+ in_h1_block = True
95
+ elif line.startswith("---") and in_h1_block: # End of the current H1 block
96
+ h1_blocks.append(current_block)
97
+ current_block = ""
98
+ in_h1_block = False
99
+ elif in_h1_block: # Add line to the current H1 block
100
+ current_block += "\n" + line
101
+ else:
102
+ # Add non-H1 blocks directly to the final output
103
+ final_output += line
104
+
105
+ if current_block: # Add the last H1 block
106
+ h1_blocks.append(current_block)
107
+ prov_found = False
108
+ # Process each identified H1 block
109
+ for block in h1_blocks:
110
+ potential_command = extract_command(block) # Extract potential object_action
111
+
112
+ if potential_command in commands:
113
+ # Process the block based on the object_action
114
+ if potential_command == "Provenance":
115
+ prov_found = True
116
+ result = process_provenance_command(file_path, block)
117
+ elif potential_command in ["Create Glossary", "Update Glossary"]:
118
+ result = process_glossary_upsert_command(client, block, directive)
119
+ elif potential_command in ["Create Category", "Update Category"]:
120
+ result = process_category_upsert_command(client, block, directive)
121
+ elif potential_command in ["Create Term", "Update Term"]:
122
+ result = process_term_upsert_command(client, block, directive)
123
+ elif potential_command in ["Create Personal Project", "Update Personal Project"]:
124
+ result = process_per_proj_upsert_command(client, block, directive)
125
+ else:
126
+ # If object_action is not recognized, copy the block as-is
127
+ result = None
128
+
129
+ if result:
130
+ if directive == "process":
131
+ updated = True
132
+ final_output += f"\n---\n{result}\n"
133
+ print(json.dumps(element_dictionary, indent=4))
134
+ elif directive == "process":
135
+ # Handle case with errors (skip this block but notify the user)
136
+ print(f"\n==>\tErrors found while processing command: \'{potential_command}\'\n"
137
+ f"\tPlease correct and try again. \n")
138
+ final_output += f"\n---\n{block}\n"
139
+ else:
140
+ # If no object_action is detected, add the block to the final output as-is
141
+ final_output += f"\n---\n{block}\n"
142
+
143
+
144
+ # Write the final_output to a new file if updated
145
+ try:
146
+ if updated:
147
+ path, filename = os.path.split(file_path) # Get both parts
148
+ new_filename = f"processed-{get_current_datetime_string()}-{filename}" # Create the new filename
149
+ new_file_path = os.path.join(EGERIA_ROOT_PATH, EGERIA_OUTBOX_PATH, new_filename) # Construct the new path
150
+ os.makedirs(os.path.dirname(new_file_path), exist_ok=True)
151
+
152
+ with open(new_file_path, 'w') as f2:
153
+ f2.write(final_output)
154
+ if not prov_found:
155
+ prov_output += f"\n# Provenance:\n{prov_output}\n"
156
+ f2.write(prov_output)
157
+ click.echo(f"\n==> Notebook written to {new_file_path}")
158
+ else:
159
+ click.echo("\nNo updates detected. New File not created.")
160
+
161
+ except (Exception):
162
+ console.print_exception(show_locals=True)
163
+
164
+
165
+ if __name__ == "__main__":
166
+ process_markdown_file()
@@ -0,0 +1,7 @@
1
+ """
2
+ SPDX-License-Identifier: Apache-2.0
3
+ Copyright Contributors to the ODPi Egeria project.
4
+ """
5
+
6
+
7
+