pyegeria 5.4.0.4__tar.gz → 5.4.0.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 (240) hide show
  1. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/PKG-INFO +2 -1
  2. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_collections.py +37 -41
  3. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_format_set.py +6 -6
  4. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/__init__.py +1 -1
  5. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/_exceptions_new.py +29 -0
  6. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/_output_formats.py +30 -4
  7. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/collection_manager_omvs.py +25 -24
  8. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/data_designer_omvs.py +123 -106
  9. pyegeria-5.4.0.5/pyegeria/load_config.py +491 -0
  10. pyegeria-5.4.0.4/pyegeria/load_config.py → pyegeria-5.4.0.5/pyegeria/load_config_orig.py +1 -0
  11. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/logging_configuration.py +21 -15
  12. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/output_formatter.py +2 -0
  13. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyproject.toml +2 -1
  14. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/LICENSE +0 -0
  15. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/README.md +0 -0
  16. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/Dr-Egeria_md-orig.py +0 -0
  17. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/README.md +0 -0
  18. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/__init__.py +0 -0
  19. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/dr_egeria_command_help.py +0 -0
  20. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/dr_egeria_jupyter.py +0 -0
  21. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/dr_egeria_md.py +0 -0
  22. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/exp_list_glossaries.py +0 -0
  23. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/get_asset_graph.py +0 -0
  24. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/get_collection.py +0 -0
  25. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/get_project_dependencies.py +0 -0
  26. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/get_project_structure.py +0 -0
  27. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/get_tech_type_elements.py +0 -0
  28. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/glossary_actions.py +0 -0
  29. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_assets.py +0 -0
  30. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_categories.py +0 -0
  31. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_cert_types.py +0 -0
  32. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_data_designer.py +0 -0
  33. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_data_structures_full.py +0 -0
  34. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_deployed_catalogs.py +0 -0
  35. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_deployed_database_schemas.py +0 -0
  36. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_deployed_databases.py +0 -0
  37. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_deployed_servers.py +0 -0
  38. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_glossaries.py +0 -0
  39. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_projects.py +0 -0
  40. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_tech_type_elements.py +0 -0
  41. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_tech_types.py +0 -0
  42. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_terms.py +0 -0
  43. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_todos.py +0 -0
  44. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cat/list_user_ids.py +0 -0
  45. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/__init__.py +0 -0
  46. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/debug_log +0 -0
  47. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/egeria.py +0 -0
  48. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/egeria_cat.py +0 -0
  49. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/egeria_login_tui.py +0 -0
  50. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/egeria_my.py +0 -0
  51. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/egeria_ops.py +0 -0
  52. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/egeria_tech.py +0 -0
  53. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/ops_config.py +0 -0
  54. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/cli/txt_custom_v2.tcss +0 -0
  55. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/my/README.md +0 -0
  56. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/my/__init__.py +0 -0
  57. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/my/list_my_profile.py +0 -0
  58. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/my/list_my_roles.py +0 -0
  59. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/my/monitor_my_todos.py +0 -0
  60. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/my/monitor_open_todos.py +0 -0
  61. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/my/todo_actions.py +0 -0
  62. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/README.md +0 -0
  63. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/__init__.py +0 -0
  64. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/gov_server_actions.py +0 -0
  65. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/list_archives.py +0 -0
  66. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/list_catalog_targets.py +0 -0
  67. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/load_archive.py +0 -0
  68. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/monitor_asset_events.py +0 -0
  69. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/monitor_engine_activity.py +0 -0
  70. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/monitor_engine_activity_c.py +0 -0
  71. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/monitor_gov_eng_status.py +0 -0
  72. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/monitor_integ_daemon_status.py +0 -0
  73. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/monitor_platform_status.py +0 -0
  74. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/monitor_server_startup.py +0 -0
  75. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/monitor_server_status.py +0 -0
  76. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/orig_monitor_server_list.py +0 -0
  77. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/orig_monitor_server_status.py +0 -0
  78. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/refresh_integration_daemon.py +0 -0
  79. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/restart_integration_daemon.py +0 -0
  80. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/table_integ_daemon_status.py +0 -0
  81. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/ops/x_engine_actions.py +0 -0
  82. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/README.md +0 -0
  83. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/__init__.py +0 -0
  84. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/generic_actions.py +0 -0
  85. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/get_element_info.py +0 -0
  86. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/get_guid_info.py +0 -0
  87. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/get_tech_details.py +0 -0
  88. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/get_tech_type_template.py +0 -0
  89. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_all_om_type_elements.py +0 -0
  90. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_all_om_type_elements_x.py +0 -0
  91. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_all_related_elements.py +0 -0
  92. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_anchored_elements.py +0 -0
  93. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_asset_types.py +0 -0
  94. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_elements_by_classification_by_property_value.py +0 -0
  95. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_elements_by_property_value.py +0 -0
  96. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_elements_by_property_value_x.py +0 -0
  97. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_elements_for_classification.py +0 -0
  98. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_gov_action_processes.py +0 -0
  99. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_information_supply_chains.py +0 -0
  100. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_registered_services.py +0 -0
  101. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_related_elements_with_prop_value.py +0 -0
  102. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_related_specification.py +0 -0
  103. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_relationship_types.py +0 -0
  104. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_relationships.py +0 -0
  105. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_solution_blueprints.py +0 -0
  106. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_solution_components.py +0 -0
  107. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_solution_roles.py +0 -0
  108. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_tech_templates.py +0 -0
  109. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/list_valid_metadata_values.py +0 -0
  110. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/table_tech_templates.py +0 -0
  111. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/commands/tech/x_list_related_elements.py +0 -0
  112. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_Processing/data/commands-working.json +0 -0
  113. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_Processing/data/commands.json +0 -0
  114. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/__init__.py +0 -0
  115. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/data/commands-working.json +0 -0
  116. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/data/commands.json +0 -0
  117. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/dr-egeria-outbox/DataStruct-2025-07-29-20-49-16.py +0 -0
  118. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/dr-egeria-outbox/Mandy-DataStruct-2025-07-29-15-54-45.md +0 -0
  119. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/dr_egeria_inbox/glossary_creation_experiment.ipynb +0 -0
  120. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/Create_Data_Class.md +0 -0
  121. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/Create_Data_Dictionary.md +0 -0
  122. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/Create_Data_Field.md +0 -0
  123. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/Create_Data_Specification.md +0 -0
  124. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/Create_Data_Structure.md +0 -0
  125. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/View_Data_Classes.md +0 -0
  126. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/View_Data_Dictionaries.md +0 -0
  127. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/View_Data_Fields.md +0 -0
  128. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/View_Data_Specifications.md +0 -0
  129. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer/View_Data_Structures.md +0 -0
  130. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Data Designer.md +0 -0
  131. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Add_Member->Collection.md +0 -0
  132. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Attach_Collection->Resource.md +0 -0
  133. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Create_Agreement.md +0 -0
  134. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Create_Data_Sharing_Agreement.md +0 -0
  135. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Create_DigitalSubscription.md +0 -0
  136. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Create_Digital_Product.md +0 -0
  137. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Link_Agreement_Items.md +0 -0
  138. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Link_Contracts.md +0 -0
  139. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Link_Digital_Product_-_Digital_Product.md +0 -0
  140. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager/Link_Subscribers.md +0 -0
  141. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Digital Product Manager.md +0 -0
  142. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Glossary/Attach_Category_Parent.md +0 -0
  143. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Glossary/Attach_Term-Term_Relationship.md +0 -0
  144. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Glossary/Create_Category.md +0 -0
  145. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Glossary/Create_Glossary.md +0 -0
  146. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Glossary/Create_Term.md +0 -0
  147. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Glossary.md +0 -0
  148. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Business_Imperative.md +0 -0
  149. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Certification_Type.md +0 -0
  150. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Governance_Approach.md +0 -0
  151. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Governance_Obligation.md +0 -0
  152. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Governance_Principle.md +0 -0
  153. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Governance_Procedure.md +0 -0
  154. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Governance_Process.md +0 -0
  155. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Governance_Processing_Purpose.md +0 -0
  156. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Governance_Responsibility.md +0 -0
  157. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Governance_Rule.md +0 -0
  158. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Governance_Strategy.md +0 -0
  159. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_License_Type.md +0 -0
  160. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Naming_Standard_Rule.md +0 -0
  161. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Regulation_Article.md +0 -0
  162. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Regulation_Definition.md +0 -0
  163. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Security_Access_Control.md +0 -0
  164. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Security_Group.md +0 -0
  165. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Service_Level_Objectives.md +0 -0
  166. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Create_Threat_Definition.md +0 -0
  167. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Link_Governance_Controls.md +0 -0
  168. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Link_Governance_Drivers.md +0 -0
  169. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/Link_Governance_Policies.md +0 -0
  170. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer/View_Governance_Definitions.md +0 -0
  171. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Governance Officer.md +0 -0
  172. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/Create_Information_Supply_Chain.md +0 -0
  173. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/Create_Solution_Blueprint.md +0 -0
  174. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/Create_Solution_Component.md +0 -0
  175. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/Create_Solution_Role.md +0 -0
  176. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/Link_Information_Supply_Chain_Peers.md +0 -0
  177. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/Link_Solution_Component_Peers.md +0 -0
  178. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/View_Information_Supply_Chains.md +0 -0
  179. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/View_Solution_Blueprints.md +0 -0
  180. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/View_Solution_Components.md +0 -0
  181. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect/View_Solution_Roles.md +0 -0
  182. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/family_docs/Solution Architect.md +0 -0
  183. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_commands/__init__.py +0 -0
  184. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_commands/data_designer_commands.py +0 -0
  185. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_commands/glossary_commands.py +0 -0
  186. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_commands/governance_officer_commands.py +0 -0
  187. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_commands/product_manager_commands.py +0 -0
  188. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_commands/project_commands.py +0 -0
  189. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_commands/solution_architect_commands.py +0 -0
  190. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/__init__.py +0 -0
  191. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/common_md_proc_utils.py +0 -0
  192. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/common_md_utils.py +0 -0
  193. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/debug_log +0 -0
  194. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/dr-egeria-help-2025-07-17T17:22:09.md +0 -0
  195. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/extraction_utils.py +0 -0
  196. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/generate_dr_help.py +0 -0
  197. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/generate_md_cmd_templates.py +0 -0
  198. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/generate_md_templates.py +0 -0
  199. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/generated_help_terms.md +0 -0
  200. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/md_processing_constants.py +0 -0
  201. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/md_processing/md_processing_utils/message_constants.py +0 -0
  202. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/README.md +0 -0
  203. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/_client.py +0 -0
  204. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/_client_new.py +0 -0
  205. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/_deprecated_gov_engine.py +0 -0
  206. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/_exceptions.py +0 -0
  207. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/_globals.py +0 -0
  208. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/_validators.py +0 -0
  209. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/asset_catalog_omvs.py +0 -0
  210. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/automated_curation_omvs.py +0 -0
  211. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/classification_manager_omvs.py +0 -0
  212. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/core_omag_server_config.py +0 -0
  213. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/create_tech_guid_lists.py +0 -0
  214. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/dr.egeria spec.md +0 -0
  215. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/egeria_cat_client.py +0 -0
  216. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/egeria_client.py +0 -0
  217. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/egeria_config_client.py +0 -0
  218. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/egeria_my_client.py +0 -0
  219. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/egeria_tech_client.py +0 -0
  220. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/feedback_manager_omvs.py +0 -0
  221. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/full_omag_server_config.py +0 -0
  222. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/glossary_browser_omvs.py +0 -0
  223. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/glossary_manager_omvs.py +0 -0
  224. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/governance_officer_omvs.py +0 -0
  225. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/md_processing_helpers.py +0 -0
  226. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/md_processing_utils.py +0 -0
  227. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/md_processing_utils_orig.py +0 -0
  228. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/mermaid_utilities.py +0 -0
  229. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/metadata_explorer_omvs.py +0 -0
  230. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/my_profile_omvs.py +0 -0
  231. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/platform_services.py +0 -0
  232. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/project_manager_omvs.py +0 -0
  233. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/registered_info.py +0 -0
  234. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/runtime_manager_omvs.py +0 -0
  235. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/server_operations.py +0 -0
  236. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/solution_architect_omvs.py +0 -0
  237. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/template_manager_omvs.py +0 -0
  238. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/utils.py +0 -0
  239. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/valid_metadata_omvs.py +0 -0
  240. {pyegeria-5.4.0.4 → pyegeria-5.4.0.5}/pyegeria/x_action_author_omvs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyegeria
3
- Version: 5.4.0.4
3
+ Version: 5.4.0.5
4
4
  Summary: A python client for Egeria
5
5
  License: Apache 2.0
6
6
  Keywords: egeria,metadata,governance
@@ -22,6 +22,7 @@ Requires-Dist: mermaid-py
22
22
  Requires-Dist: poetry-core (>=2.1.3,<3.0.0)
23
23
  Requires-Dist: psycopg2-binary (>=2.9.9,<3.0.0)
24
24
  Requires-Dist: pydantic (>=2.11.7,<3.0.0)
25
+ Requires-Dist: pydantic-settings (>=2.10.1,<3.0.0)
25
26
  Requires-Dist: pytest (>=8.3.5,<9.0.0)
26
27
  Requires-Dist: requests
27
28
  Requires-Dist: rich
@@ -16,52 +16,44 @@ from rich.markdown import Markdown
16
16
  from rich.prompt import Prompt
17
17
  from rich.table import Table
18
18
  from rich.text import Text
19
-
19
+ from loguru import logger
20
20
  from pyegeria import (
21
- # EgeriaTech,
22
- # InvalidParameterException,
23
- # PropertyServerException,
24
- # UserNotAuthorizedException,
25
21
  CollectionManager,
26
- NO_ELEMENTS_FOUND,config_logging, get_app_config
22
+ NO_ELEMENTS_FOUND,config_logging, get_app_config, init_logging
27
23
  )
28
24
  from pyegeria._exceptions_new import PyegeriaException, print_exception_response
29
25
 
30
-
31
-
32
- # disable_ssl_warnings = True
33
-
34
- # EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
35
- # EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
36
- # EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
37
- # EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
38
- # EGERIA_VIEW_SERVER_URL = os.environ.get(
39
- # "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
40
- # )
41
- # EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
42
- # EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
43
- # EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
44
26
  EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
45
27
  EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
46
- # EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
47
- # EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
48
- # EGERIA_GLOSSARY_PATH = os.environ.get("EGERIA_GLOSSARY_PATH", None)
49
- # EGERIA_ROOT_PATH = os.environ.get("EGERIA_ROOT_PATH", "../../")
50
- # EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "md_processing/dr_egeria_inbox")
51
- # EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "md_processing/dr_egeria_outbox")
52
- app_settings = get_app_config()
53
- app_config = app_settings["Environment"]
28
+ PYEGERIA_ROOT_PATH= os.environ.get("PYEGERIA_ROOT_PATH", "/Users/dwolfson/localGit/egeria-v5-3/egeria-python")
29
+ app_settings = get_app_config(PYEGERIA_ROOT_PATH+"/.env")
30
+ app_config = app_settings.Environment
54
31
  config_logging()
55
32
 
33
+ out_struct = {
34
+ "formats": {
35
+ "types": ["ALL"],
36
+ "columns": [
37
+ {'name': 'display_name', 'key': 'display_name'},
38
+ {'name': 'qualified_name', 'key': 'qualified_name', 'format': True},
39
+ {'name': 'description', 'key': 'description', 'format': True},
40
+ {'name': "classifications", 'key': 'classifications'},
41
+ {'name': 'members', 'key': 'members', 'format': True},
42
+ {'name': 'collection_type', 'key': 'collection_type', 'format': True},
43
+ {'name': 'GUID', 'key': 'GUID'},
44
+ ],
45
+ },
46
+
47
+ }
56
48
 
57
49
  def display_collections(
58
50
  search_string: str = "*",
59
- view_server: str = app_config['Egeria View Server'],
60
- view_url: str = app_config['Egeria View Server URL'],
61
- user: str = EGERIA_USER,
62
- user_pass: str = EGERIA_USER_PASSWORD,
63
- jupyter: bool = app_config['Egeria Jupyter'],
64
- width: int = app_config['Console Width'],
51
+ view_server: str = app_config.egeria_view_server,
52
+ view_url: str = app_config.egeria_view_server_url,
53
+ user: str = app_settings.User_Profile.user_name,
54
+ user_pass: str = app_settings.User_Profile.user_pwd,
55
+ jupyter: bool = app_config.egeria_jupyter,
56
+ width: int = app_config.console_width,
65
57
  output_format: str = "TABLE"
66
58
  ):
67
59
  """Display either a specified glossary or all collections if the search_string is '*'.
@@ -144,9 +136,10 @@ def display_collections(
144
136
 
145
137
  collections = m_client.find_collections(
146
138
  search_string.strip(), None, True, False, ignore_case=True,
147
- output_format = "DICT"
139
+ output_format = "DICT", output_format_set=out_struct
148
140
  )
149
141
  if type(collections) is list:
142
+
150
143
  sorted_collection_list = sorted(
151
144
  collections, key=lambda k: k["display_name"]
152
145
  )
@@ -203,13 +196,13 @@ def main():
203
196
  parser.add_argument("--password", help="User Password")
204
197
 
205
198
  args = parser.parse_args()
206
- app_settings = get_app_config()
207
- app_config = app_settings["Environment"]
199
+ # app_settings = get_app_config(PYEGERIA_ROOT_PATH + "/.env")
200
+ # app_config = app_settings.Environment
208
201
 
209
- server = args.server if args.server is not None else app_config['Egeria View Server']
210
- url = args.url if args.url is not None else app_config['Egeria View Server URL']
211
- userid = args.userid if args.userid is not None else EGERIA_USER
212
- user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
202
+ server = args.server if args.server is not None else app_config.egeria_view_server
203
+ url = args.url if args.url is not None else app_config.egeria_view_server_url
204
+ userid = args.userid if args.userid is not None else app_settings.User_Profile.user_name
205
+ user_pass = args.password if args.password is not None else app_settings.User_Profile.user_pwd
213
206
 
214
207
  try:
215
208
  search_string = Prompt.ask(
@@ -227,4 +220,7 @@ def main():
227
220
 
228
221
 
229
222
  if __name__ == "__main__":
223
+ # EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
224
+ # EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
225
+ # PYEGERIA_ROOT_PATH = os.environ.get("PYEGERIA_ROOT_PATH", "/Users/dwolfson/localGit/egeria-v5-3/egeria-python")
230
226
  main()
@@ -61,7 +61,7 @@ from pyegeria.egeria_tech_client import EgeriaTech
61
61
  EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
62
62
  EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
63
63
  app_settings = get_app_config()
64
- app_config = app_settings["Environment"]
64
+ app_config = app_settings.Environment
65
65
  config_logging()
66
66
 
67
67
  console = Console(
@@ -72,10 +72,10 @@ console = Console(
72
72
 
73
73
  def execute_format_set_action(
74
74
  format_set_name: str,
75
- view_server: str = app_config['Egeria View Server'],
76
- view_url: str = app_config['Egeria View Server URL'],
77
- user: str = EGERIA_USER,
78
- user_pass: str = EGERIA_USER_PASSWORD,
75
+ view_server: str = app_config.egeria_view_server,
76
+ view_url: str = app_config.egeria_view_server_url,
77
+ user: str = app_settings.User_Profile.user_name,
78
+ user_pass: str = app_settings.User_Profile.user_pwd,
79
79
  output_format: str = "TABLE",
80
80
  **kwargs
81
81
  ):
@@ -225,7 +225,7 @@ def execute_format_set_action(
225
225
 
226
226
  with open(full_file_path, 'w') as f:
227
227
  f.write(output)
228
- print(f"\n==> Output written to {full_file_path}")
228
+ print(f"\n==> Output written to [{format_set_name}]({full_file_path})")
229
229
  return
230
230
 
231
231
  # For TABLE output, add output_format to params
@@ -11,7 +11,7 @@ the server platform and servers.
11
11
 
12
12
  """
13
13
  from .load_config import load_app_config, get_app_config
14
- from .logging_configuration import config_logging
14
+ from .logging_configuration import config_logging, init_logging
15
15
  from ._globals import (INTEGRATION_GUIDS, TEMPLATE_GUIDS, default_time_out, disable_ssl_warnings, enable_ssl_check,
16
16
  is_debug, max_paging_size, NO_ELEMENTS_FOUND, NO_ASSETS_FOUND, NO_SERVERS_FOUND,
17
17
  NO_CATALOGS_FOUND, NO_GLOSSARIES_FOUND, NO_TERMS_FOUND, NO_CATEGORIES_FOUND, NO_ELEMENT_FOUND,
@@ -360,3 +360,32 @@ def print_exception_table(e: PyegeriaException):
360
360
  console.print(table)
361
361
  else:
362
362
  print(f"\n\n\t Not an Pyegeria exception {e}")
363
+
364
+ def print_basic_exception(e: PyegeriaException):
365
+ """Prints the exception response"""
366
+ related_code = e.related_http_code if hasattr(e, "related_http_code") else ""
367
+ related_response = e.response.json()
368
+ table = Table(title=f"Exception: {e.__class__.__name__}", show_lines=True, header_style="bold", box=box.HEAVY_HEAD)
369
+ table.caption = e.pyegeria_code
370
+ table.add_column("Facet", justify="center")
371
+ table.add_column("Item", justify="left", width=80)
372
+
373
+ if isinstance(e, PyegeriaException):
374
+ table.add_row("HTTP Code", str(e.response_code))
375
+ table.add_row("Egeria Code", str(related_code))
376
+ table.add_row("Caller Method", e.context.get("caller method", "---"))
377
+ table.add_row("Request URL", str(e.response_url))
378
+ table.add_row("Egeria Message",
379
+ format_dict_to_string(related_response.get('exceptionErrorMessage',"")))
380
+ table.add_row("Egeria User Action",
381
+ format_dict_to_string(related_response.get('exceptionUserAction',"")))
382
+
383
+ exception_msg_id = related_response.get("exceptionErrorMessageId", None)
384
+ table.add_row("Pyegeria Exception", exception_msg_id)
385
+ table.add_row("Pyegeria Message",
386
+ f"\n\t{e.error_details['message_template'].format(exception_msg_id)}\n")
387
+
388
+
389
+ console.print(table)
390
+ else:
391
+ print(f"\n\n\t Not an Pyegeria exception {e}")
@@ -96,7 +96,7 @@ output_format_sets = {
96
96
  "aliases": ["Collection", "RootCollection", "Folder", "ReferenceList", "HomeCollection",
97
97
  "ResultSet", "RecentAccess", "WorkItemList", "Namespace"],
98
98
  "annotations": COMMON_ANNOTATIONS,
99
- "formats": [COMMON_FORMATS_ALL, COLLECTION_DICT, COLLECTION_TABLE], # Reusing common formats
99
+ "formats": [ COLLECTION_DICT, COLLECTION_TABLE,COMMON_FORMATS_ALL], # Reusing common formats
100
100
  "action": [{"function": "CollectionManager.find_collections",
101
101
  "user_params": [ "search_string"],
102
102
  "spec_params": { },
@@ -155,7 +155,7 @@ output_format_sets = {
155
155
  "description": "Attributes useful to Data Specification.",
156
156
  "aliases": ["Data Spec", "DataSpec", "DataSpecification"],
157
157
  "annotations": {"wikilinks": ["[[Data Specification]]"]},
158
- "formats": [{"types": ["TABLE"], "columns": COMMON_COLUMNS,}], # Reusing common formats and columns
158
+ "formats": [{"types": ["DICT"], "columns": COMMON_COLUMNS,}], # Reusing common formats and columns
159
159
  "action": [{"function": "CollectionManager.find_collections",
160
160
  "user_params": [ "search_string"],
161
161
  "spec_params": { "classification_name": "DataSpec" },
@@ -172,6 +172,17 @@ output_format_sets = {
172
172
  "spec_params": { },
173
173
  }]
174
174
  },
175
+ "DataField": {
176
+ "heading": "Data Structure Information",
177
+ "description": "Attributes useful to Data Structures.",
178
+ "aliases": ["Data Field", "Data Fields", "DataFields"],
179
+ "annotations": {"wikilinks": ["[[Data Field]]"]},
180
+ "formats": [{"types": ["ALL"], "columns" : COMMON_COLUMNS}], # Reusing common formats and columns
181
+ "action": [{"function": "DataDesigner.find_data_fields",
182
+ "user_params": ["search_string" ],
183
+ "spec_params": { },
184
+ }]
185
+ },
175
186
  "Mandy-DataStruct": {
176
187
  "heading": "Puddy Approves",
177
188
  "description": "This is a tutorial on how to use a data struct description",
@@ -254,7 +265,22 @@ def select_output_format_set(kind: str, output_type: str) -> dict | None:
254
265
  def output_format_set_list()->list[str]:
255
266
  return list(output_format_sets.keys())
256
267
 
257
- def get_output_format_set_heading(format_set: str) -> str:
268
+ def get_output_format_set_heading(format_set: dict) -> str:
258
269
  return output_format_sets[format_set].get("heading")
259
- def get_output_format_set_description(format_set: str) -> str:
270
+ def get_output_format_set_description(format_set: dict) -> str:
260
271
  return output_format_sets[format_set].get("description")
272
+
273
+ def get_output_format_type_match(format_set: dict, output_format: str) -> dict:
274
+ if isinstance(format_set, list):
275
+ for format in format_set.get("formats", []):
276
+ if output_format in format.get("types", []):
277
+ format_set["formats"] = format
278
+ return format_set
279
+
280
+ # Step 5: Handle the fallback case of "ALL"
281
+ for format in format_set.get("formats", []):
282
+ if "ALL" in format.get("types", []):
283
+ format_set["formats"] = format
284
+ return format_set
285
+ else:
286
+ return format_set
@@ -11,7 +11,7 @@ from typing import Dict, Union, List, Optional
11
11
 
12
12
  from loguru import logger
13
13
 
14
- from pyegeria._output_formats import select_output_format_set
14
+ from pyegeria._output_formats import select_output_format_set, get_output_format_type_match
15
15
  from pyegeria._client import Client
16
16
  from pyegeria._globals import NO_ELEMENTS_FOUND, NO_GUID_RETURNED, NO_MEMBERS_FOUND
17
17
  from pyegeria._validators import validate_guid, validate_search_string
@@ -150,8 +150,8 @@ class CollectionManager(Client2):
150
150
 
151
151
  if output_format != 'JSON': # return a simplified markdown representation
152
152
  logger.info(f"Found elements, output format: {output_format}, output_format_set: {output_format_set}")
153
- return self.generate_collection_output(elements, None, None, output_format,
154
- output_format_set=output_format_set)
153
+ return self._generate_collection_output(elements, None, None, output_format,
154
+ output_format_set=output_format_set)
155
155
  return elements
156
156
 
157
157
 
@@ -303,8 +303,8 @@ class CollectionManager(Client2):
303
303
 
304
304
  if output_format != 'JSON': # return a simplified markdown representation
305
305
  logger.info(f"Found elements, output format: {output_format}, output_format_set: {output_format_set}")
306
- return self.generate_collection_output(elements, None, classification_name,
307
- output_format, output_format_set)
306
+ return self._generate_collection_output(elements, None, classification_name,
307
+ output_format, output_format_set)
308
308
  return elements
309
309
 
310
310
 
@@ -549,8 +549,8 @@ class CollectionManager(Client2):
549
549
 
550
550
  if output_format != 'JSON': # return a simplified markdown representation
551
551
  logger.info(f"Found elements, output format: {output_format}, output_format_set: {output_format_set}")
552
- return self.generate_collection_output(elements, filter, classification_name,
553
- output_format, output_format_set)
552
+ return self._generate_collection_output(elements, filter, classification_name,
553
+ output_format, output_format_set)
554
554
  return elements
555
555
 
556
556
 
@@ -687,8 +687,8 @@ class CollectionManager(Client2):
687
687
 
688
688
  if output_format != 'JSON': # return a simplified markdown representation
689
689
  logger.info(f"Found elements, output format: {output_format}, output_format_set: {output_format_set}")
690
- return self.generate_collection_output(elements, filter, collection_type,
691
- output_format, output_format_set)
690
+ return self._generate_collection_output(elements, filter, collection_type,
691
+ output_format, output_format_set)
692
692
  return elements
693
693
 
694
694
 
@@ -818,8 +818,8 @@ class CollectionManager(Client2):
818
818
 
819
819
  if output_format != 'JSON': # return a simplified markdown representation
820
820
  logger.info(f"Found elements, output format: {output_format}, output_format_set: {output_format_set}")
821
- return self.generate_collection_output(elements, None, collection_type,
822
- output_format, output_format_set)
821
+ return self._generate_collection_output(elements, None, collection_type,
822
+ output_format, output_format_set)
823
823
  return elements
824
824
 
825
825
 
@@ -952,8 +952,8 @@ class CollectionManager(Client2):
952
952
 
953
953
  if output_format != 'JSON': # return a simplified markdown representation
954
954
  logger.debug(f"Found elements, output format: {output_format}, output_format_set: {output_format_set}")
955
- return self.generate_collection_output(elements, None, None,
956
- output_format, output_format_set)
955
+ return self._generate_collection_output(elements, None, None,
956
+ output_format, output_format_set)
957
957
  return elements
958
958
 
959
959
 
@@ -1091,8 +1091,8 @@ class CollectionManager(Client2):
1091
1091
 
1092
1092
  if output_format != 'JSON': # return a simplified markdown representation
1093
1093
  logger.info(f"Found elements, output format: {output_format}, output_format_set: {output_format_set}")
1094
- return self.generate_collection_output(elements, None, None,
1095
- output_format, output_format_set)
1094
+ return self._generate_collection_output(elements, None, None,
1095
+ output_format, output_format_set)
1096
1096
  return elements
1097
1097
 
1098
1098
 
@@ -1218,8 +1218,8 @@ class CollectionManager(Client2):
1218
1218
 
1219
1219
  if output_format != 'JSON': # return a simplified markdown representation
1220
1220
  logger.info(f"Found elements, output format: {output_format}, output_format_set: {output_format_set}")
1221
- return self.generate_collection_output(elements, None, None,
1222
- output_format, output_format_set)
1221
+ return self._generate_collection_output(elements, None, None,
1222
+ output_format, output_format_set)
1223
1223
  return elements
1224
1224
 
1225
1225
 
@@ -6461,9 +6461,9 @@ class CollectionManager(Client2):
6461
6461
  return props
6462
6462
 
6463
6463
 
6464
- def generate_collection_output(self, elements: Union[Dict, List[Dict]], filter: Optional[str],
6465
- classification_name: Optional[str], output_format: str = "DICT",
6466
- output_format_set: Optional[dict] | str = None) -> Union[str, List[Dict]]:
6464
+ def _generate_collection_output(self, elements: dict|list[dict], filter: Optional[str],
6465
+ classification_name: Optional[str], output_format: str = "DICT",
6466
+ output_format_set: dict | str = None) -> str| list[dict]:
6467
6467
  """ Generate output for collections in the specified format.
6468
6468
 
6469
6469
  Args:
@@ -6484,15 +6484,16 @@ class CollectionManager(Client2):
6484
6484
  # First see if the user has specified an output_format_set - either a label or a dict
6485
6485
  if output_format_set:
6486
6486
  if isinstance(output_format_set, str):
6487
- output_formats = select_output_format_set(entity_type, output_format)
6487
+ output_formats = select_output_format_set(output_format_set, output_format)
6488
6488
  if isinstance(output_format_set, dict):
6489
- output_formats = output_format_set
6490
-
6489
+ output_formats = get_output_format_type_match(output_format_set, output_format)
6491
6490
  # If no output_format was set, then use the classification_name to lookup the output format
6492
6491
  elif classification_name:
6493
6492
  output_formats = select_output_format_set(classification_name, output_format)
6494
6493
  else:
6495
- output_formats = None
6494
+ # fallback to collections or entity type
6495
+ output_formats = select_output_format_set(entity_type,output_format)
6496
+
6496
6497
  logger.trace(f"Executing generate_collection_output for {entity_type}: {output_formats}")
6497
6498
  return generate_output(
6498
6499
  elements,