pyegeria 5.3.3.10.dev9__tar.gz → 5.4.8.10__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 (477) hide show
  1. pyegeria-5.4.8.10/MANIFEST.in +3 -0
  2. pyegeria-5.4.8.10/PKG-INFO +189 -0
  3. pyegeria-5.4.8.10/README.md +152 -0
  4. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/__init__.py +15 -13
  5. pyegeria-5.4.8.10/commands/cat/Dr-Egeria_md-orig.py +166 -0
  6. pyegeria-5.4.8.10/commands/cat/__init__.py +7 -0
  7. pyegeria-5.4.8.10/commands/cat/dr_egeria_command_help.py +369 -0
  8. pyegeria-5.4.8.10/commands/cat/dr_egeria_jupyter.py +122 -0
  9. pyegeria-5.4.8.10/commands/cat/dr_egeria_md.py +97 -0
  10. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/exp_list_glossaries.py +2 -3
  11. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/get_asset_graph.py +3 -3
  12. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/get_collection.py +7 -8
  13. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/get_project_dependencies.py +5 -7
  14. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/get_project_structure.py +5 -7
  15. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/get_tech_type_elements.py +12 -14
  16. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/glossary_actions.py +185 -35
  17. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_assets.py +8 -5
  18. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_cert_types.py +5 -5
  19. pyegeria-5.4.8.10/commands/cat/list_collections.py +235 -0
  20. pyegeria-5.4.8.10/commands/cat/list_data_designer.py +183 -0
  21. pyegeria-5.4.8.10/commands/cat/list_data_structures_full.py +223 -0
  22. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_deployed_catalogs.py +8 -7
  23. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_deployed_database_schemas.py +9 -8
  24. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_deployed_databases.py +8 -7
  25. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/list_servers_deployed_imp.py → pyegeria-5.4.8.10/commands/cat/list_deployed_servers.py +2 -2
  26. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_glossaries.py +58 -16
  27. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_projects.py +4 -4
  28. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_tech_type_elements.py +2 -2
  29. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_tech_types.py +3 -3
  30. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_terms.py +96 -64
  31. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_todos.py +2 -2
  32. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cat/list_user_ids.py +8 -7
  33. pyegeria-5.4.8.10/commands/cat/run_report.py +457 -0
  34. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cli/__init__.py +1 -1
  35. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cli/egeria.py +339 -207
  36. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cli/egeria_cat.py +175 -82
  37. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cli/egeria_login_tui.py +14 -16
  38. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cli/egeria_my.py +13 -16
  39. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cli/egeria_ops.py +38 -49
  40. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cli/egeria_tech.py +143 -50
  41. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/cli/ops_config.py +14 -10
  42. pyegeria-5.4.8.10/commands/my/__init__.py +20 -0
  43. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/my/list_my_profile.py +5 -7
  44. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/my/list_my_roles.py +3 -3
  45. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/my/monitor_my_todos.py +5 -5
  46. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/my/monitor_open_todos.py +5 -5
  47. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/my/todo_actions.py +2 -1
  48. pyegeria-5.4.8.10/commands/ops/__init__.py +21 -0
  49. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/gov_server_actions.py +10 -8
  50. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/list_archives.py +7 -8
  51. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/list_catalog_targets.py +18 -16
  52. pyegeria-5.4.8.10/commands/ops/load_archive.py +82 -0
  53. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/monitor_asset_events.py +7 -6
  54. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/monitor_engine_activity.py +4 -5
  55. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/monitor_engine_activity_c.py +3 -3
  56. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/monitor_gov_eng_status.py +2 -1
  57. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/monitor_integ_daemon_status.py +18 -10
  58. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/monitor_platform_status.py +3 -2
  59. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/monitor_server_startup.py +6 -6
  60. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/monitor_server_status.py +7 -5
  61. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/orig_monitor_server_list.py +1 -1
  62. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/orig_monitor_server_status.py +2 -2
  63. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/refresh_integration_daemon.py +4 -4
  64. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/restart_integration_daemon.py +3 -3
  65. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/table_integ_daemon_status.py +3 -3
  66. pyegeria-5.4.8.10/commands/tech/__init__.py +20 -0
  67. pyegeria-5.4.8.10/commands/tech/generic_actions.py +74 -0
  68. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/get_element_info.py +4 -6
  69. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/get_guid_info.py +3 -4
  70. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/get_tech_details.py +7 -8
  71. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/get_tech_type_template.py +3 -3
  72. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_all_om_type_elements.py +8 -7
  73. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_all_om_type_elements_x.py +9 -10
  74. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_all_related_elements.py +9 -7
  75. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_anchored_elements.py +3 -3
  76. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_asset_types.py +3 -3
  77. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_elements_by_classification_by_property_value.py +39 -25
  78. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_elements_by_property_value.py +27 -22
  79. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_elements_by_property_value_x.py +19 -14
  80. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_elements_for_classification.py +9 -7
  81. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_gov_action_processes.py +7 -12
  82. pyegeria-5.4.8.10/commands/tech/list_information_supply_chains.py +167 -0
  83. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_registered_services.py +2 -2
  84. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_related_elements_with_prop_value.py +28 -14
  85. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_related_specification.py +2 -2
  86. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_relationship_types.py +3 -4
  87. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_relationships.py +2 -2
  88. pyegeria-5.4.8.10/commands/tech/list_solution_blueprints.py +181 -0
  89. pyegeria-5.4.8.10/commands/tech/list_solution_components.py +185 -0
  90. pyegeria-5.4.8.10/commands/tech/list_solution_roles.py +184 -0
  91. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_tech_templates.py +2 -2
  92. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/list_valid_metadata_values.py +4 -5
  93. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/table_tech_templates.py +15 -12
  94. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/tech/x_list_related_elements.py +5 -3
  95. pyegeria-5.4.8.10/examples/Coco_config/README.md +19 -0
  96. pyegeria-5.4.8.10/examples/Coco_config/__init__.py +4 -0
  97. pyegeria-5.4.8.10/examples/Coco_config/config_cocoMDS1.py +108 -0
  98. pyegeria-5.4.8.10/examples/Coco_config/config_cocoMDS2.py +126 -0
  99. pyegeria-5.4.8.10/examples/Coco_config/config_cocoMDS3.py +109 -0
  100. pyegeria-5.4.8.10/examples/Coco_config/config_cocoMDS4.py +91 -0
  101. pyegeria-5.4.8.10/examples/Coco_config/config_cocoMDS5.py +116 -0
  102. pyegeria-5.4.8.10/examples/Coco_config/config_cocoMDS6.py +114 -0
  103. pyegeria-5.4.8.10/examples/Coco_config/config_cocoMDSx.py +119 -0
  104. pyegeria-5.4.8.10/examples/Coco_config/config_cocoView1.py +155 -0
  105. pyegeria-5.4.8.10/examples/Coco_config/config_coco_core.py +255 -0
  106. pyegeria-5.4.8.10/examples/Coco_config/config_coco_datalake.py +450 -0
  107. pyegeria-5.4.8.10/examples/Coco_config/config_exchangeDL01.py +106 -0
  108. pyegeria-5.4.8.10/examples/Coco_config/config_governDL01.py +80 -0
  109. pyegeria-5.4.8.10/examples/Coco_config/config_monitorDev01.py +60 -0
  110. pyegeria-5.4.8.10/examples/Coco_config/config_monitorGov01.py +194 -0
  111. pyegeria-5.4.8.10/examples/Coco_config/globals.py +154 -0
  112. pyegeria-5.4.8.10/examples/GeoSpatial Products Example.py +535 -0
  113. pyegeria-5.4.8.10/examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
  114. pyegeria-5.4.8.10/examples/Jupyter Notebooks/README.md +2 -0
  115. pyegeria-5.4.8.10/examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
  116. pyegeria-5.4.8.10/examples/Jupyter Notebooks/common/__init__.py +14 -0
  117. pyegeria-5.4.8.10/examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
  118. pyegeria-5.4.8.10/examples/Jupyter Notebooks/common/environment-check.ipynb +53 -0
  119. pyegeria-5.4.8.10/examples/Jupyter Notebooks/common/globals.ipynb +184 -0
  120. pyegeria-5.4.8.10/examples/Jupyter Notebooks/common/globals.py +154 -0
  121. pyegeria-5.4.8.10/examples/Jupyter Notebooks/common/orig_globals.py +152 -0
  122. pyegeria-5.4.8.10/examples/format_sets/all_format_sets.json +910 -0
  123. pyegeria-5.4.8.10/examples/format_sets/custom_format_sets.json +268 -0
  124. pyegeria-5.4.8.10/examples/format_sets/subset_format_sets.json +187 -0
  125. pyegeria-5.4.8.10/examples/format_sets_save_load_example.py +294 -0
  126. pyegeria-5.4.8.10/examples/output_formats_example.py +193 -0
  127. pyegeria-5.4.8.10/md_processing/__init__.py +90 -0
  128. pyegeria-5.4.8.10/md_processing/data/commands-working.json +34850 -0
  129. pyegeria-5.4.8.10/md_processing/data/commands.json +30641 -0
  130. pyegeria-5.4.8.10/md_processing/data/generated_format_sets.json +4137 -0
  131. pyegeria-5.4.8.10/md_processing/data/generated_format_sets.py +45 -0
  132. pyegeria-5.4.8.10/md_processing/dr_egeria.py +344 -0
  133. pyegeria-5.4.8.10/md_processing/md_commands/__init__.py +3 -0
  134. pyegeria-5.4.8.10/md_processing/md_commands/data_designer_commands.py +1279 -0
  135. pyegeria-5.4.8.10/md_processing/md_commands/ext_ref_commands.py +530 -0
  136. pyegeria-5.4.8.10/md_processing/md_commands/feedback_commands.py +739 -0
  137. pyegeria-5.4.8.10/md_processing/md_commands/glossary_commands.py +698 -0
  138. pyegeria-5.4.8.10/md_processing/md_commands/governance_officer_commands.py +600 -0
  139. pyegeria-5.4.8.10/md_processing/md_commands/product_manager_commands.py +1266 -0
  140. pyegeria-5.4.8.10/md_processing/md_commands/project_commands.py +397 -0
  141. pyegeria-5.4.8.10/md_processing/md_commands/solution_architect_commands.py +1184 -0
  142. pyegeria-5.4.8.10/md_processing/md_commands/view_commands.py +288 -0
  143. pyegeria-5.4.8.10/md_processing/md_processing_utils/__init__.py +4 -0
  144. pyegeria-5.4.8.10/md_processing/md_processing_utils/common_md_proc_utils.py +1249 -0
  145. pyegeria-5.4.8.10/md_processing/md_processing_utils/common_md_utils.py +580 -0
  146. pyegeria-5.4.8.10/md_processing/md_processing_utils/determine_width.py +103 -0
  147. pyegeria-5.4.8.10/md_processing/md_processing_utils/extraction_utils.py +548 -0
  148. pyegeria-5.4.8.10/md_processing/md_processing_utils/gen_format_sets.py +422 -0
  149. pyegeria-5.4.8.10/md_processing/md_processing_utils/generate_dr_help.py +191 -0
  150. pyegeria-5.4.8.10/md_processing/md_processing_utils/generate_md_cmd_templates.py +143 -0
  151. pyegeria-5.4.8.10/md_processing/md_processing_utils/generate_md_templates.py +92 -0
  152. pyegeria-5.4.8.10/md_processing/md_processing_utils/md_processing_constants.py +497 -0
  153. pyegeria-5.4.8.10/md_processing/md_processing_utils/message_constants.py +19 -0
  154. pyegeria-5.4.8.10/pyegeria/__init__.py +97 -0
  155. pyegeria-5.4.8.10/pyegeria/_base_client.py +548 -0
  156. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/_client.py +72 -12
  157. pyegeria-5.4.8.10/pyegeria/_client_new.py +5660 -0
  158. pyegeria-5.4.8.10/pyegeria/_client_new_backup.py +5359 -0
  159. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/_exceptions.py +55 -46
  160. pyegeria-5.4.8.10/pyegeria/_exceptions_new.py +438 -0
  161. pyegeria-5.4.8.10/pyegeria/_globals.py +153 -0
  162. pyegeria-5.4.8.10/pyegeria/_output_format_models.py +423 -0
  163. pyegeria-5.4.8.10/pyegeria/_output_formats.py +14 -0
  164. pyegeria-5.4.8.10/pyegeria/_validators.py +258 -0
  165. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/asset_catalog_omvs.py +80 -23
  166. pyegeria-5.3.3.10.dev9/pyegeria/automated_curation_omvs.py → pyegeria-5.4.8.10/pyegeria/automated_curation.py +1424 -1299
  167. pyegeria-5.4.8.10/pyegeria/base_report_formats.py +2974 -0
  168. pyegeria-5.4.8.10/pyegeria/classification_manager.py +8270 -0
  169. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/classification_manager_omvs.py +2012 -1898
  170. pyegeria-5.4.8.10/pyegeria/collection_manager.py +5724 -0
  171. pyegeria-5.4.8.10/pyegeria/collection_models.py +168 -0
  172. pyegeria-5.4.8.10/pyegeria/config.py +636 -0
  173. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/core_omag_server_config.py +1 -1
  174. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/create_tech_guid_lists.py +13 -13
  175. pyegeria-5.4.8.10/pyegeria/data_designer.py +4994 -0
  176. pyegeria-5.4.8.10/pyegeria/egeria_cat_client.py +49 -0
  177. pyegeria-5.4.8.10/pyegeria/egeria_client.py +137 -0
  178. pyegeria-5.4.8.10/pyegeria/egeria_config_client.py +76 -0
  179. pyegeria-5.4.8.10/pyegeria/egeria_tech_client.py +122 -0
  180. pyegeria-5.4.8.10/pyegeria/external_links.py +1687 -0
  181. pyegeria-5.4.8.10/pyegeria/feedback_manager.py +833 -0
  182. pyegeria-5.4.8.10/pyegeria/format_set_executor.py +311 -0
  183. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/full_omag_server_config.py +5 -3
  184. pyegeria-5.4.8.10/pyegeria/glossary_manager.py +2774 -0
  185. pyegeria-5.4.8.10/pyegeria/governance_officer.py +2788 -0
  186. pyegeria-5.4.8.10/pyegeria/load_config.py +36 -0
  187. pyegeria-5.4.8.10/pyegeria/logging_configuration.py +207 -0
  188. pyegeria-5.4.8.10/pyegeria/mcp_adapter.py +124 -0
  189. pyegeria-5.4.8.10/pyegeria/mcp_server.py +210 -0
  190. pyegeria-5.4.8.10/pyegeria/md_processing_utils.py +2147 -0
  191. pyegeria-5.4.8.10/pyegeria/mermaid_utilities.py +1246 -0
  192. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/metadata_explorer_omvs.py +5 -7
  193. pyegeria-5.4.8.10/pyegeria/models.py +534 -0
  194. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/my_profile_omvs.py +3 -2
  195. pyegeria-5.4.8.10/pyegeria/output_formatter.py +1158 -0
  196. pyegeria-5.4.8.10/pyegeria/output_formatter_with_machine_keys.py +1127 -0
  197. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/platform_services.py +8 -7
  198. pyegeria-5.3.3.10.dev9/pyegeria/project_manager_omvs.py → pyegeria-5.4.8.10/pyegeria/project_manager.py +836 -972
  199. pyegeria-5.4.8.10/pyegeria/reference_data.py +1146 -0
  200. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/runtime_manager_omvs.py +72 -72
  201. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/server_operations.py +3 -3
  202. pyegeria-5.4.8.10/pyegeria/solution_architect.py +6003 -0
  203. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/template_manager_omvs.py +13 -13
  204. pyegeria-5.4.8.10/pyegeria/utils.py +307 -0
  205. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/valid_metadata_omvs.py +4 -3
  206. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/x_action_author_omvs.py +4 -7
  207. pyegeria-5.4.8.10/pyegeria.egg-info/PKG-INFO +189 -0
  208. pyegeria-5.4.8.10/pyegeria.egg-info/SOURCES.txt +257 -0
  209. pyegeria-5.4.8.10/pyegeria.egg-info/dependency_links.txt +1 -0
  210. pyegeria-5.4.8.10/pyegeria.egg-info/entry_points.txt +105 -0
  211. pyegeria-5.4.8.10/pyegeria.egg-info/requires.txt +24 -0
  212. pyegeria-5.4.8.10/pyegeria.egg-info/top_level.txt +4 -0
  213. pyegeria-5.4.8.10/pyproject.toml +186 -0
  214. pyegeria-5.4.8.10/setup.cfg +4 -0
  215. pyegeria-5.4.8.10/tests/test_asset_catalog_omvs.py +389 -0
  216. pyegeria-5.4.8.10/tests/test_automated_curation_omvs.py +1342 -0
  217. pyegeria-5.4.8.10/tests/test_classification_manager_omvs.py +768 -0
  218. pyegeria-5.4.8.10/tests/test_client.py +161 -0
  219. pyegeria-5.4.8.10/tests/test_client_new.py +344 -0
  220. pyegeria-5.4.8.10/tests/test_collection_manager_omvs.py +2187 -0
  221. pyegeria-5.4.8.10/tests/test_comments.py +194 -0
  222. pyegeria-5.4.8.10/tests/test_config.py +77 -0
  223. pyegeria-5.4.8.10/tests/test_config_unit.py +22 -0
  224. pyegeria-5.4.8.10/tests/test_core_omag_server_config.py +1771 -0
  225. pyegeria-5.4.8.10/tests/test_data_designer.py +980 -0
  226. pyegeria-5.4.8.10/tests/test_dr_egeria_command_help_modes.py +64 -0
  227. pyegeria-5.4.8.10/tests/test_egeria_cat_client.py +71 -0
  228. pyegeria-5.4.8.10/tests/test_egeria_client.py +179 -0
  229. pyegeria-5.4.8.10/tests/test_egeria_my_client.py +110 -0
  230. pyegeria-5.4.8.10/tests/test_env_settings.py +98 -0
  231. pyegeria-5.4.8.10/tests/test_external_links.py +606 -0
  232. pyegeria-5.4.8.10/tests/test_feedback_manager_omvs.py +1156 -0
  233. pyegeria-5.4.8.10/tests/test_format_set_dict.py +311 -0
  234. pyegeria-5.4.8.10/tests/test_full_omag_server_config.py +326 -0
  235. pyegeria-5.4.8.10/tests/test_glossary_manager_omvs.py +840 -0
  236. pyegeria-5.4.8.10/tests/test_governance_officer_omvs.py +673 -0
  237. pyegeria-5.4.8.10/tests/test_load_config.py +266 -0
  238. pyegeria-5.4.8.10/tests/test_mcp_adapter.py +39 -0
  239. pyegeria-5.4.8.10/tests/test_metadata_explorer_omvs.py +906 -0
  240. pyegeria-5.4.8.10/tests/test_my_profile_omvs.py +309 -0
  241. pyegeria-5.4.8.10/tests/test_output_format_models_unit.py +24 -0
  242. pyegeria-5.4.8.10/tests/test_output_format_sets_unit.py +14 -0
  243. pyegeria-5.4.8.10/tests/test_output_formats.py +217 -0
  244. pyegeria-5.4.8.10/tests/test_output_formatter_deepcopy_isolation.py +67 -0
  245. pyegeria-5.4.8.10/tests/test_output_formatter_dict_collisions.py +63 -0
  246. pyegeria-5.4.8.10/tests/test_platform_services.py +880 -0
  247. pyegeria-5.4.8.10/tests/test_project_manager_omvs.py +824 -0
  248. pyegeria-5.4.8.10/tests/test_reference_data.py +337 -0
  249. pyegeria-5.4.8.10/tests/test_registered_info.py +160 -0
  250. pyegeria-5.4.8.10/tests/test_root_path.py +136 -0
  251. pyegeria-5.4.8.10/tests/test_runtime_manager.py +780 -0
  252. pyegeria-5.4.8.10/tests/test_server_operations.py +197 -0
  253. pyegeria-5.4.8.10/tests/test_solution_architect_omvs.py +1546 -0
  254. pyegeria-5.4.8.10/tests/test_utils.py +73 -0
  255. pyegeria-5.4.8.10/tests/test_valid_metadata_omvs.py +422 -0
  256. pyegeria-5.3.3.10.dev9/PKG-INFO +0 -71
  257. pyegeria-5.3.3.10.dev9/README.md +0 -40
  258. pyegeria-5.3.3.10.dev9/pyegeria/.DS_Store +0 -0
  259. pyegeria-5.3.3.10.dev9/pyegeria/README.md +0 -35
  260. pyegeria-5.3.3.10.dev9/pyegeria/__init__.py +0 -371
  261. pyegeria-5.3.3.10.dev9/pyegeria/_globals.py +0 -37
  262. pyegeria-5.3.3.10.dev9/pyegeria/_validators.py +0 -385
  263. pyegeria-5.3.3.10.dev9/pyegeria/collection_manager_omvs.py +0 -2727
  264. pyegeria-5.3.3.10.dev9/pyegeria/commands/.DS_Store +0 -0
  265. pyegeria-5.3.3.10.dev9/pyegeria/commands/README.md +0 -47
  266. pyegeria-5.3.3.10.dev9/pyegeria/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  267. pyegeria-5.3.3.10.dev9/pyegeria/commands/__pycache__/server_status_widget.cpython-312-pytest-7.4.4.pyc +0 -0
  268. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/README.md +0 -16
  269. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__init__.py +0 -1
  270. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/__init__.cpython-312.pyc +0 -0
  271. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/get_asset_graph.cpython-312.pyc +0 -0
  272. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/get_collection.cpython-312.pyc +0 -0
  273. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/get_project_dependencies.cpython-312.pyc +0 -0
  274. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/get_project_structure.cpython-312.pyc +0 -0
  275. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/get_tech_type_elements.cpython-312.pyc +0 -0
  276. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/glossary_actions.cpython-312.pyc +0 -0
  277. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_assets.cpython-312.pyc +0 -0
  278. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_cert_types.cpython-312.pyc +0 -0
  279. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_collections.cpython-312.pyc +0 -0
  280. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_deployed_catalogs.cpython-312.pyc +0 -0
  281. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_deployed_database_schemas.cpython-312.pyc +0 -0
  282. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_deployed_databases.cpython-312.pyc +0 -0
  283. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_glossaries.cpython-312.pyc +0 -0
  284. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_projects.cpython-312.pyc +0 -0
  285. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_servers_deployed_imp.cpython-312.pyc +0 -0
  286. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_tech_type_elements.cpython-312.pyc +0 -0
  287. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_tech_types.cpython-312.pyc +0 -0
  288. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_terms.cpython-312.pyc +0 -0
  289. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_todos.cpython-312.pyc +0 -0
  290. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/__pycache__/list_user_ids.cpython-312.pyc +0 -0
  291. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/get_information_supply_chains.py +0 -207
  292. pyegeria-5.3.3.10.dev9/pyegeria/commands/cat/list_collections.py +0 -162
  293. pyegeria-5.3.3.10.dev9/pyegeria/commands/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  294. pyegeria-5.3.3.10.dev9/pyegeria/commands/cli/__pycache__/egeria_login_tui.cpython-312.pyc +0 -0
  295. pyegeria-5.3.3.10.dev9/pyegeria/commands/cli/__pycache__/egeria_ops.cpython-312.pyc +0 -0
  296. pyegeria-5.3.3.10.dev9/pyegeria/commands/cli/__pycache__/ops_config.cpython-312.pyc +0 -0
  297. pyegeria-5.3.3.10.dev9/pyegeria/commands/cli/txt_custom_v2.tcss +0 -19
  298. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/.DS_Store +0 -0
  299. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/README.md +0 -145
  300. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/.DS_Store +0 -0
  301. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/README.md +0 -511
  302. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/.DS_Store +0 -0
  303. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/.DS_Store +0 -0
  304. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/asset-graph 2024-11-20 at 15.56.42.png +0 -0
  305. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/assets-in-domain 2024-11-20 at 15.49.55@2x.png +0 -0
  306. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/elements-of-type 2024-11-20 at 16.01.35.png +0 -0
  307. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/tech-type-elements 2024-11-20 at 16.05.05.png +0 -0
  308. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/.DS_Store +0 -0
  309. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs 2024-12-17 at 15.43.27@2x.png +0 -0
  310. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs-2024-11-20 at 16.17.43@2x.png +0 -0
  311. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-11-25 at 20.14.50@2x.png +0 -0
  312. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-12-17 at 15.48.38@2x.png +0 -0
  313. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-11-25 at 20.21.25@2x.png +0 -0
  314. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-12-17 at 15.52.16@2x.png +0 -0
  315. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed_databases 2024-12-16 at 16.40.31@2x.png +0 -0
  316. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-glossaries 2024-11-25 at 20.30.02.png +0 -0
  317. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-terms 2024-11-25 at 20.32.11.png +0 -0
  318. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/info/asset-types 2024-11-25 at 20.34.19@2x.png +0 -0
  319. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/info/certification-types 2024-11-25 at 20.37.07.png +0 -0
  320. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/info/collection-graph 2024-12-12 at 11.33.18@2x.png +0 -0
  321. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-collections 2024-12-10 at 14.25.51@2x.png +0 -0
  322. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-todos 2024-12-12 at 11.46.30@2x.png +0 -0
  323. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-user-ids 2024-12-12 at 11.51.09@2x.png +0 -0
  324. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/info/tech-types 2024-12-12 at 11.37.20@2x.png +0 -0
  325. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_dependencies 2024-12-14 at 16.24.39@2x.png +0 -0
  326. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_structure 2024-12-14 at 16.21.35@2x.png +0 -0
  327. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/cat/show/projects/projects 2024-12-14 at 16.18.10@2x.png +0 -0
  328. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/hey_egeria tui 2024-12-16 at 16.58.22@2x.png +0 -0
  329. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/my/show/my_profile 2024-12-14 at 16.29.27@2x.png +0 -0
  330. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/my/show/my_roles 2024-12-14 at 16.32.10@2x.png +0 -0
  331. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/my/show/my_todos 2024-12-15 at 16.24.13@2x.png +0 -0
  332. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/my/show/open_todos 2024-12-14 at 16.36.12@2x.png +0 -0
  333. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/list_engine_activity compressed 2024-12-15 at 16.48.48@2x.png +0 -0
  334. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity 2024-12-15 at 16.32.55@2x.png +0 -0
  335. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity compressed 2024-12-15 at 16.38.29@2x.png +0 -0
  336. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_status 2024-12-15 at 16.51.26.jpeg +0 -0
  337. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_daemon_status 2024-12-15 at 16.57.12@2x.png +0 -0
  338. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_targets 2024-12-15 at 17.02.19@2x.png +0 -0
  339. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/platforms/monitor_platform_status 2024-12-15 at 19.53.18@2x.png +0 -0
  340. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status 2024-12-15 at 19.59.39@2x.png +0 -0
  341. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status full 2024-12-15 at 20.01.57@2x.png +0 -0
  342. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_startup_servers 2024-12-15 at 19.56.07@2x.png +0 -0
  343. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_anchored_elements 2024-12-15 at 21.25.41@2x.png +0 -0
  344. pyegeria-5.3.3.10.dev9/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
  345. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/info_for_guid 2024-12-16 at 11.35.29@2x.png +0 -0
  346. pyegeria-5.3.3.10.dev9/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
  347. pyegeria-5.3.3.10.dev9/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
  348. pyegeria-5.3.3.10.dev9/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
  349. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/related_elements 2024-12-16 at 14.55.01@2x.png +0 -0
  350. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/show_related_specifications 2024-12-16 at 15.04.55@2x.png +0 -0
  351. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/asset_types 2024-12-16 at 15.10.16@2x.png +0 -0
  352. pyegeria-5.3.3.10.dev9/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
  353. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/governance_action_processes 2024-12-16 at 15.13.01@2x.png +0 -0
  354. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/registered_services 2024-12-16 at 16.44.54@2x.png +0 -0
  355. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-16 at 16.20.34@2x.png +0 -0
  356. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-19 at 10.51.54@2x.png +0 -0
  357. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/valid_metadata_values 2024-12-16 at 15.31.56@2x.png +0 -0
  358. pyegeria-5.3.3.10.dev9/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
  359. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_technology_types 2024-12-16 at 15.39.20@2x.png +0 -0
  360. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_details 2024-12-16 at 15.37.21@2x.png +0 -0
  361. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_templates 2024-12-16 at 16.11.48@2x.png +0 -0
  362. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/.DS_Store +0 -0
  363. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/basic-glossary-tui.md +0 -109
  364. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/.DS_Store +0 -0
  365. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/delete-glossary-step1 2024-11-06 at 15.47.23@2x.png +0 -0
  366. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/delete-glossary-step2 2024-11-06 at 15.51.29@2x.png +0 -0
  367. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/delete-glossary-step3 2024-11-06 at 15.53.19@2x.png +0 -0
  368. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/delete-glossary-step4 2024-11-06 at 15.55.11@2x.png +0 -0
  369. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-create-glossary example 2024-11-05 at 20.38.04@2x.png +0 -0
  370. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-create-term 2024-11-06 at 20.48.29.png +0 -0
  371. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-delete-term 2024-11-07 at 03.57.25.png +0 -0
  372. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-display-terms-for-glossary-test 2024-11-06 at 20.51.28.png +0 -0
  373. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-export-example 2024-11-07 at 09.54.57.png +0 -0
  374. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-exported-terms 2024-11-06 at 21.06.32.png +0 -0
  375. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-glossary-list example 2024-11-05 at 20.41.02@2x.png +0 -0
  376. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-import-terms 2024-11-07 at 08.15.18.png +0 -0
  377. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-list-all-terms 2024-11-06 at 16.22.20@2x.png +0 -0
  378. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-list-terms-for-example 2024-11-06 at 16.40.12.png +0 -0
  379. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-list-terms-second 2024-11-06 at 16.45.13.png +0 -0
  380. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-pipx install pyegeria 2024-11-10 at 18.12.21.png +0 -0
  381. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-server-status-full 2024-11-10 at 18.25.14.png +0 -0
  382. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-servers-status 2024-11-10 at 18.15.42.png +0 -0
  383. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/out-upsert-import 2024-11-07 at 19.37.00.png +0 -0
  384. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-2024-11-10 at 18.26.29.png +0 -0
  385. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-create-glossary example 2024-11-05 at 20.34.24@2x.png +0 -0
  386. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-create-term 2024-11-06 at 20.46.35.png +0 -0
  387. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-delete-term 2024-11-07 at 03.51.57.png +0 -0
  388. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-display-terms-for-example 2024-11-06 at 20.56.49.png +0 -0
  389. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-export-example 2024-11-07 at 09.52.59.png +0 -0
  390. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-hey-egeria 2024-11-10 at 18.31.01.png +0 -0
  391. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-import-upsert-example 2024-11-07 at 10.08.37.png +0 -0
  392. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-list-terms-second 2024-11-06 at 16.46.34.png +0 -0
  393. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-load-archive.png +0 -0
  394. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-server-status-full 2024-11-10 at 19.14.36.png +0 -0
  395. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-show-glossaries 2024-11-07 at 20.00.05.png +0 -0
  396. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-show-glossary-terms 2024-11-05 at 19.37.53@2x.png +0 -0
  397. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/tui-upsert 2024-11-07 at 11.49.04.png +0 -0
  398. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/glossary/images/upsert-example.om-terms 2024-11-07 at 11.44.05.png +0 -0
  399. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/.DS_Store +0 -0
  400. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/README.md +0 -346
  401. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/.DS_Store +0 -0
  402. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png +0 -0
  403. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731421782704.png +0 -0
  404. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731422134920.png +0 -0
  405. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria 2024-11-12 at 20.38.43.png +0 -0
  406. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria cat 2024-11-12 at 21.41.43.png +0 -0
  407. pyegeria-5.3.3.10.dev9/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
  408. pyegeria-5.3.3.10.dev9/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
  409. pyegeria-5.3.3.10.dev9/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
  410. pyegeria-5.3.3.10.dev9/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
  411. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/short-cut commands 2024-11-12 at 22.22.13.png +0 -0
  412. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-hey-egeria.png +0 -0
  413. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-integration-status-paging.png +0 -0
  414. pyegeria-5.3.3.10.dev9/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
  415. pyegeria-5.3.3.10.dev9/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
  416. pyegeria-5.3.3.10.dev9/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status-full 2024-11-10.png +0 -0
  417. pyegeria-5.3.3.10.dev9/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
  418. pyegeria-5.3.3.10.dev9/pyegeria/commands/my/README.md +0 -17
  419. pyegeria-5.3.3.10.dev9/pyegeria/commands/my/__init__.py +0 -0
  420. pyegeria-5.3.3.10.dev9/pyegeria/commands/my/__pycache__/__init__.cpython-312.pyc +0 -0
  421. pyegeria-5.3.3.10.dev9/pyegeria/commands/my/__pycache__/list_my_profile.cpython-312.pyc +0 -0
  422. pyegeria-5.3.3.10.dev9/pyegeria/commands/my/__pycache__/list_my_roles.cpython-312.pyc +0 -0
  423. pyegeria-5.3.3.10.dev9/pyegeria/commands/my/__pycache__/monitor_my_todos.cpython-312.pyc +0 -0
  424. pyegeria-5.3.3.10.dev9/pyegeria/commands/my/__pycache__/monitor_open_todos.cpython-312.pyc +0 -0
  425. pyegeria-5.3.3.10.dev9/pyegeria/commands/my/__pycache__/todo_actions.cpython-312.pyc +0 -0
  426. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/README.md +0 -24
  427. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__init__.py +0 -22
  428. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/__init__.cpython-312.pyc +0 -0
  429. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/gov_server_actions.cpython-312.pyc +0 -0
  430. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/list_archives.cpython-312.pyc +0 -0
  431. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/list_catalog_targets.cpython-312.pyc +0 -0
  432. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/load_archive.cpython-312.pyc +0 -0
  433. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/monitor_engine_activity.cpython-312.pyc +0 -0
  434. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/monitor_engine_activity_c.cpython-312.pyc +0 -0
  435. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/monitor_gov_eng_status.cpython-312.pyc +0 -0
  436. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/monitor_integ_daemon_status.cpython-312.pyc +0 -0
  437. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/monitor_platform_status.cpython-312.pyc +0 -0
  438. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/monitor_server_startup.cpython-312.pyc +0 -0
  439. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/monitor_server_status.cpython-312.pyc +0 -0
  440. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/refresh_integration_daemon.cpython-312.pyc +0 -0
  441. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/restart_integration_daemon.cpython-312.pyc +0 -0
  442. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/__pycache__/table_integ_daemon_status.cpython-312.pyc +0 -0
  443. pyegeria-5.3.3.10.dev9/pyegeria/commands/ops/load_archive.py +0 -75
  444. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/README.md +0 -24
  445. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__init__.py +0 -0
  446. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/__init__.cpython-312.pyc +0 -0
  447. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/get_element_info.cpython-312.pyc +0 -0
  448. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/get_guid_info.cpython-312.pyc +0 -0
  449. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/get_tech_details.cpython-312.pyc +0 -0
  450. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/get_tech_type_template.cpython-312.pyc +0 -0
  451. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_anchored_elements.cpython-312.pyc +0 -0
  452. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_asset_types.cpython-312.pyc +0 -0
  453. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_elements_by_property_value.cpython-312.pyc +0 -0
  454. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_elements_for_classification.cpython-312.pyc +0 -0
  455. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_gov_action_processes.cpython-312.pyc +0 -0
  456. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_registered_services.cpython-312.pyc +0 -0
  457. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_related_specification.cpython-312.pyc +0 -0
  458. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_relationship_types.cpython-312.pyc +0 -0
  459. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_relationships.cpython-312.pyc +0 -0
  460. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_tech_templates.cpython-312.pyc +0 -0
  461. pyegeria-5.3.3.10.dev9/pyegeria/commands/tech/__pycache__/list_valid_metadata_values.cpython-312.pyc +0 -0
  462. pyegeria-5.3.3.10.dev9/pyegeria/egeria_cat_client.py +0 -78
  463. pyegeria-5.3.3.10.dev9/pyegeria/egeria_client.py +0 -117
  464. pyegeria-5.3.3.10.dev9/pyegeria/egeria_config_client.py +0 -45
  465. pyegeria-5.3.3.10.dev9/pyegeria/egeria_my_client.py +0 -56
  466. pyegeria-5.3.3.10.dev9/pyegeria/egeria_tech_client.py +0 -94
  467. pyegeria-5.3.3.10.dev9/pyegeria/feedback_manager_omvs.py +0 -4573
  468. pyegeria-5.3.3.10.dev9/pyegeria/glossary_browser_omvs.py +0 -2507
  469. pyegeria-5.3.3.10.dev9/pyegeria/glossary_manager_omvs.py +0 -3597
  470. pyegeria-5.3.3.10.dev9/pyegeria/mermaid_utilities.py +0 -257
  471. pyegeria-5.3.3.10.dev9/pyegeria/solution_architect_omvs.py +0 -639
  472. pyegeria-5.3.3.10.dev9/pyegeria/utils.py +0 -195
  473. pyegeria-5.3.3.10.dev9/pyproject.toml +0 -149
  474. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/LICENSE +0 -0
  475. {pyegeria-5.3.3.10.dev9/pyegeria → pyegeria-5.4.8.10}/commands/ops/x_engine_actions.py +0 -0
  476. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/pyegeria/_deprecated_gov_engine.py +0 -0
  477. {pyegeria-5.3.3.10.dev9 → pyegeria-5.4.8.10}/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,189 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyegeria
3
+ Version: 5.4.8.10
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: mermaid-py
22
+ Requires-Dist: psycopg2-binary>=2.9.11
23
+ Requires-Dist: jupyter-notebook-parser
24
+ Requires-Dist: loguru
25
+ Requires-Dist: inflect
26
+ Requires-Dist: pydantic>=2.12.3
27
+ Requires-Dist: pydantic-settings>=2.10.1
28
+ Requires-Dist: pydevd-pycharm>=253.27642.35
29
+ Requires-Dist: wcwidth
30
+ Requires-Dist: altair
31
+ Requires-Dist: mcp>=0.1
32
+ Requires-Dist: markers>=0.3.0
33
+ Requires-Dist: pytest-asyncio>=1.2.0
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
+ This is a package for easily using the Egeria
49
+ open metadata environment from python. Details about the
50
+ open source Egeria project can be found at [Egeria Project](https://egeria-project.org).
51
+
52
+ This package is in active development. There is initial
53
+ support for many of Egeria's services including configuration and operation. This client depends on
54
+ This release supports Egeria 5.1 - although most of the functions may work on earlier versions of Egeria as well.
55
+
56
+ The code is organized to mimic the existing Egeria Java Client structure.
57
+
58
+ The commands folder holds the Egeria Command Line Interface and corresponding commands
59
+ to visualize and use Egeria. The commands also serve as useful examples.
60
+
61
+ An examples folder holds some useful examples showing different facets of using pyegeria.
62
+
63
+ For detailed guidance on report formats (selection, dynamic loading, runtime registration, and migration from columns→attributes), see:
64
+ - examples/doc_samples/report_formats.md
65
+
66
+ WARNING: files that start with "X" are in-progress placeholders that are not meant to be used..they will mature and
67
+ evolve.
68
+
69
+ All feedback is welcome. Please engage via our [community](http://egeria-project.org/guides/community/),
70
+ team calls, or via github issues in this repo. If interested in contributing,
71
+ you can engage via the community or directly reach out to
72
+ [dan.wolfson\@pdr-associates.com](mailto:dan.wolfson@pdr-associates.com?subject=pyegeria).
73
+
74
+ This is a learning experience.
75
+
76
+ ## Configuration
77
+
78
+ pyegeria uses a simple, predictable precedence for configuration:
79
+
80
+ 1. Built-in defaults (Pydantic models in pyegeria.config)
81
+ 2. Config file (JSON) if found
82
+ 3. Environment variables (OS env and optional .env)
83
+ 4. Explicit env file passed to get_app_config/load_app_config
84
+
85
+ Environment always overrides config file, which overrides defaults.
86
+
87
+ ### Where to put your configuration
88
+
89
+ - Config file: A JSON file named config.json. The loader looks in this order:
90
+ - If PYEGERIA_CONFIG_DIRECTORY is set: $PYEGERIA_CONFIG_DIRECTORY/$PYEGERIA_CONFIG_FILE
91
+ - Else if PYEGERIA_ROOT_PATH is set: $PYEGERIA_ROOT_PATH/$PYEGERIA_CONFIG_FILE
92
+ - Else: ./config.json (the current working directory)
93
+
94
+ - .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.
95
+
96
+ ### Common environment variables
97
+
98
+ - PYEGERIA_CONFIG_DIRECTORY: directory containing your config.json
99
+ - PYEGERIA_ROOT_PATH: root folder used to resolve config.json when CONFIG_DIRECTORY is not set
100
+ - PYEGERIA_CONFIG_FILE: filename of the configuration JSON (default: config.json)
101
+ - PYEGERIA_CONSOLE_WIDTH: integer console width (e.g., 200 or 280)
102
+ - EGERIA_PLATFORM_URL, EGERIA_VIEW_SERVER_URL, EGERIA_ENGINE_HOST_URL: URLs for your Egeria servers
103
+ - EGERIA_USER, EGERIA_USER_PASSWORD: credentials used by some clients
104
+ - Logging related: PYEGERIA_ENABLE_LOGGING, PYEGERIA_LOG_DIRECTORY, PYEGERIA_CONSOLE_LOG_LVL, PYEGERIA_FILE_LOG_LVL, etc.
105
+
106
+ See config/env for more variables and defaults.
107
+
108
+ ### Example .env
109
+
110
+ # PYEGERIA_CONFIG_DIRECTORY=/path/to/configs
111
+ # PYEGERIA_ROOT_PATH=/path/to/project
112
+ # PYEGERIA_CONFIG_FILE=config.json
113
+ # EGERIA_PLATFORM_URL=https://localhost:9443
114
+ # EGERIA_VIEW_SERVER=qs-view-server
115
+ # EGERIA_VIEW_SERVER_URL=https://localhost:9443
116
+ # EGERIA_USER=myuser
117
+ # EGERIA_USER_PASSWORD=mypassword
118
+ # PYEGERIA_CONSOLE_WIDTH=280
119
+
120
+ Lines starting with # are comments. Quotes are optional; python-dotenv/pydantic-settings handle both.
121
+
122
+ ### Example config.json (minimal)
123
+
124
+ {
125
+ "Environment": {
126
+ "Pyegeria Root": ".",
127
+ "Egeria Platform URL": "https://localhost:9443"
128
+ },
129
+ "User Profile": {
130
+ "Egeria Home Collection": "MyHome"
131
+ }
132
+ }
133
+
134
+ ### Programmatic usage
135
+
136
+ from pyegeria import get_app_config
137
+ cfg = get_app_config() # uses OS env and ./.env
138
+ # or with explicit env file
139
+ cfg = get_app_config(env_file="/path/to/dev.env")
140
+
141
+ # Access values via Pydantic models
142
+ print(cfg.Environment.egeria_platform_url)
143
+ print(cfg.Logging.enable_logging)
144
+
145
+ ### CLI quick checks
146
+
147
+ - Validate your env file:
148
+ python scripts/validate_env.py --env config/env
149
+ python scripts/validate_env.py # auto-detects ./config/env or ./.env
150
+
151
+ ### Testing
152
+
153
+ By default, running pytest executes unit tests that use monkeypatching/fakes and do not contact a live Egeria.
154
+
155
+ - Run unit tests (recommended default):
156
+ poetry install
157
+ poetry run pytest -v
158
+
159
+ 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.
160
+
161
+ - Enable live mode via CLI:
162
+ poetry run pytest -q --live-egeria
163
+
164
+ - Or enable via environment variable:
165
+ PYEG_LIVE_EGERIA=1 poetry run pytest -q
166
+
167
+ Default live connection parameters (can be overridden via env):
168
+ - server_name = "qs-view-server" (override with PYEG_SERVER_NAME)
169
+ - platform_url = "https://localhost:9443" (override with PYEG_PLATFORM_URL)
170
+ - user_id = "peterprofile" (override with PYEG_USER_ID)
171
+ - user_pwd = "secret" (override with PYEG_USER_PWD)
172
+
173
+ Notes:
174
+ - SSL verification is controlled by pyegeria._globals.enable_ssl_check, which defaults to False in this repo to support localhost/self-signed certs.
175
+ - See tests/conftest.py for the live test fixtures and switches.
176
+
177
+ ### Troubleshooting
178
+
179
+ ### Troubleshooting
180
+
181
+ - 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).
182
+ - .env files are optional. Missing .env is not an error.
183
+ - You can always override values with OS environment variables (they take precedence over config.json).
184
+
185
+
186
+
187
+ ----
188
+ License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
189
+ Copyright Contributors to the ODPi Egeria project.
@@ -0,0 +1,152 @@
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
+ This is a package for easily using the Egeria
12
+ open metadata environment from python. Details about the
13
+ open source Egeria project can be found at [Egeria Project](https://egeria-project.org).
14
+
15
+ This package is in active development. There is initial
16
+ support for many of Egeria's services including configuration and operation. This client depends on
17
+ This release supports Egeria 5.1 - although most of the functions may work on earlier versions of Egeria as well.
18
+
19
+ The code is organized to mimic the existing Egeria Java Client structure.
20
+
21
+ The commands folder holds the Egeria Command Line Interface and corresponding commands
22
+ to visualize and use Egeria. The commands also serve as useful examples.
23
+
24
+ An examples folder holds some useful examples showing different facets of using pyegeria.
25
+
26
+ For detailed guidance on report formats (selection, dynamic loading, runtime registration, and migration from columns→attributes), see:
27
+ - examples/doc_samples/report_formats.md
28
+
29
+ WARNING: files that start with "X" are in-progress placeholders that are not meant to be used..they will mature and
30
+ evolve.
31
+
32
+ All feedback is welcome. Please engage via our [community](http://egeria-project.org/guides/community/),
33
+ team calls, or via github issues in this repo. If interested in contributing,
34
+ you can engage via the community or directly reach out to
35
+ [dan.wolfson\@pdr-associates.com](mailto:dan.wolfson@pdr-associates.com?subject=pyegeria).
36
+
37
+ This is a learning experience.
38
+
39
+ ## Configuration
40
+
41
+ pyegeria uses a simple, predictable precedence for configuration:
42
+
43
+ 1. Built-in defaults (Pydantic models in pyegeria.config)
44
+ 2. Config file (JSON) if found
45
+ 3. Environment variables (OS env and optional .env)
46
+ 4. Explicit env file passed to get_app_config/load_app_config
47
+
48
+ Environment always overrides config file, which overrides defaults.
49
+
50
+ ### Where to put your configuration
51
+
52
+ - Config file: A JSON file named config.json. The loader looks in this order:
53
+ - If PYEGERIA_CONFIG_DIRECTORY is set: $PYEGERIA_CONFIG_DIRECTORY/$PYEGERIA_CONFIG_FILE
54
+ - Else if PYEGERIA_ROOT_PATH is set: $PYEGERIA_ROOT_PATH/$PYEGERIA_CONFIG_FILE
55
+ - Else: ./config.json (the current working directory)
56
+
57
+ - .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.
58
+
59
+ ### Common environment variables
60
+
61
+ - PYEGERIA_CONFIG_DIRECTORY: directory containing your config.json
62
+ - PYEGERIA_ROOT_PATH: root folder used to resolve config.json when CONFIG_DIRECTORY is not set
63
+ - PYEGERIA_CONFIG_FILE: filename of the configuration JSON (default: config.json)
64
+ - PYEGERIA_CONSOLE_WIDTH: integer console width (e.g., 200 or 280)
65
+ - EGERIA_PLATFORM_URL, EGERIA_VIEW_SERVER_URL, EGERIA_ENGINE_HOST_URL: URLs for your Egeria servers
66
+ - EGERIA_USER, EGERIA_USER_PASSWORD: credentials used by some clients
67
+ - Logging related: PYEGERIA_ENABLE_LOGGING, PYEGERIA_LOG_DIRECTORY, PYEGERIA_CONSOLE_LOG_LVL, PYEGERIA_FILE_LOG_LVL, etc.
68
+
69
+ See config/env for more variables and defaults.
70
+
71
+ ### Example .env
72
+
73
+ # PYEGERIA_CONFIG_DIRECTORY=/path/to/configs
74
+ # PYEGERIA_ROOT_PATH=/path/to/project
75
+ # PYEGERIA_CONFIG_FILE=config.json
76
+ # EGERIA_PLATFORM_URL=https://localhost:9443
77
+ # EGERIA_VIEW_SERVER=qs-view-server
78
+ # EGERIA_VIEW_SERVER_URL=https://localhost:9443
79
+ # EGERIA_USER=myuser
80
+ # EGERIA_USER_PASSWORD=mypassword
81
+ # PYEGERIA_CONSOLE_WIDTH=280
82
+
83
+ Lines starting with # are comments. Quotes are optional; python-dotenv/pydantic-settings handle both.
84
+
85
+ ### Example config.json (minimal)
86
+
87
+ {
88
+ "Environment": {
89
+ "Pyegeria Root": ".",
90
+ "Egeria Platform URL": "https://localhost:9443"
91
+ },
92
+ "User Profile": {
93
+ "Egeria Home Collection": "MyHome"
94
+ }
95
+ }
96
+
97
+ ### Programmatic usage
98
+
99
+ from pyegeria import get_app_config
100
+ cfg = get_app_config() # uses OS env and ./.env
101
+ # or with explicit env file
102
+ cfg = get_app_config(env_file="/path/to/dev.env")
103
+
104
+ # Access values via Pydantic models
105
+ print(cfg.Environment.egeria_platform_url)
106
+ print(cfg.Logging.enable_logging)
107
+
108
+ ### CLI quick checks
109
+
110
+ - Validate your env file:
111
+ python scripts/validate_env.py --env config/env
112
+ python scripts/validate_env.py # auto-detects ./config/env or ./.env
113
+
114
+ ### Testing
115
+
116
+ By default, running pytest executes unit tests that use monkeypatching/fakes and do not contact a live Egeria.
117
+
118
+ - Run unit tests (recommended default):
119
+ poetry install
120
+ poetry run pytest -v
121
+
122
+ 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.
123
+
124
+ - Enable live mode via CLI:
125
+ poetry run pytest -q --live-egeria
126
+
127
+ - Or enable via environment variable:
128
+ PYEG_LIVE_EGERIA=1 poetry run pytest -q
129
+
130
+ Default live connection parameters (can be overridden via env):
131
+ - server_name = "qs-view-server" (override with PYEG_SERVER_NAME)
132
+ - platform_url = "https://localhost:9443" (override with PYEG_PLATFORM_URL)
133
+ - user_id = "peterprofile" (override with PYEG_USER_ID)
134
+ - user_pwd = "secret" (override with PYEG_USER_PWD)
135
+
136
+ Notes:
137
+ - SSL verification is controlled by pyegeria._globals.enable_ssl_check, which defaults to False in this repo to support localhost/self-signed certs.
138
+ - See tests/conftest.py for the live test fixtures and switches.
139
+
140
+ ### Troubleshooting
141
+
142
+ ### Troubleshooting
143
+
144
+ - 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).
145
+ - .env files are optional. Missing .env is not an error.
146
+ - You can always override values with OS environment variables (they take precedence over config.json).
147
+
148
+
149
+
150
+ ----
151
+ License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
152
+ Copyright Contributors to the ODPi Egeria project.
@@ -4,25 +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
-
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_c import display_engine_activity_c
10
17
  from .ops.monitor_gov_eng_status import display_gov_eng_status
11
18
  from .ops.monitor_integ_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
17
-
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
23
22
  from .tech.list_elements_by_property_value import EGERIA_WIDTH
24
23
 
25
24
 
26
- def list_integration_daemon_status(search_list:str, width:int=EGERIA_WIDTH, sort:bool = True):
27
- table_integ_daemon_status(search_list = search_list, paging=True,
28
- width=width, sort=sort)
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
+