pyegeria 5.4.0.28__py3-none-any.whl → 5.5.3.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyegeria might be problematic. Click here for more details.

Files changed (433) hide show
  1. commands/__init__.py +24 -0
  2. commands/cat/Dr-Egeria_md-orig.py +2 -2
  3. commands/cat/collection_actions.py +197 -0
  4. commands/cat/dr_egeria_command_help.py +137 -38
  5. commands/cat/dr_egeria_jupyter.py +7 -7
  6. commands/cat/dr_egeria_md.py +10 -267
  7. commands/cat/exp_list_glossaries.py +11 -14
  8. commands/cat/get_asset_graph.py +37 -267
  9. commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
  10. commands/cat/get_project_dependencies.py +14 -14
  11. commands/cat/get_project_structure.py +15 -14
  12. commands/cat/get_tech_type_elements.py +16 -116
  13. commands/cat/glossary_actions.py +145 -298
  14. commands/cat/list_assets.py +3 -11
  15. commands/cat/list_cert_types.py +17 -63
  16. commands/cat/list_collections.py +17 -139
  17. commands/cat/list_deployed_catalogs.py +15 -27
  18. commands/cat/list_deployed_database_schemas.py +27 -43
  19. commands/cat/list_deployed_databases.py +16 -31
  20. commands/cat/list_deployed_servers.py +35 -54
  21. commands/cat/list_glossaries.py +18 -17
  22. commands/cat/list_projects.py +10 -12
  23. commands/cat/list_tech_type_elements.py +21 -37
  24. commands/cat/list_tech_types.py +13 -25
  25. commands/cat/list_terms.py +38 -79
  26. commands/cat/list_todos.py +4 -11
  27. commands/cat/list_user_ids.py +3 -10
  28. commands/cat/my_reports.py +559 -0
  29. commands/cat/run_report.py +394 -0
  30. commands/cat/{list_format_set.py → run_report_orig.py} +136 -44
  31. commands/cli/egeria.py +182 -219
  32. commands/cli/egeria_cat.py +32 -59
  33. commands/cli/egeria_my.py +13 -0
  34. commands/cli/egeria_ops.py +69 -74
  35. commands/cli/egeria_tech.py +17 -93
  36. commands/{cat → deprecated}/list_data_designer.py +2 -4
  37. commands/{cat → deprecated}/list_data_structures_full.py +3 -6
  38. commands/deprecated/old_get_asset_graph.py +315 -0
  39. commands/my/__init__.py +0 -2
  40. commands/my/list_my_profile.py +27 -34
  41. commands/my/list_my_roles.py +1 -7
  42. commands/my/monitor_my_todos.py +1 -7
  43. commands/my/monitor_open_todos.py +6 -7
  44. commands/my/todo_actions.py +4 -5
  45. commands/ops/__init__.py +0 -2
  46. commands/ops/gov_server_actions.py +17 -21
  47. commands/ops/list_archives.py +17 -38
  48. commands/ops/list_catalog_targets.py +33 -40
  49. commands/ops/load_archive.py +14 -11
  50. commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
  51. commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
  52. commands/ops/monitor_engine_activity.py +79 -77
  53. commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
  54. commands/ops/monitor_platform_status.py +38 -50
  55. commands/ops/monitor_server_startup.py +6 -11
  56. commands/ops/monitor_server_status.py +7 -11
  57. commands/ops/orig_monitor_server_list.py +8 -8
  58. commands/ops/orig_monitor_server_status.py +1 -5
  59. commands/ops/refresh_integration_daemon.py +5 -5
  60. commands/ops/restart_integration_daemon.py +5 -5
  61. commands/ops/table_integ_daemon_status.py +6 -6
  62. commands/ops/x_engine_actions.py +7 -7
  63. commands/tech/__init__.py +0 -2
  64. commands/tech/{generic_actions.py → element_actions.py} +6 -11
  65. commands/tech/get_element_info.py +20 -29
  66. commands/tech/get_guid_info.py +23 -42
  67. commands/tech/get_tech_details.py +20 -35
  68. commands/tech/get_tech_type_template.py +28 -39
  69. commands/tech/list_all_om_type_elements.py +24 -30
  70. commands/tech/list_all_om_type_elements_x.py +22 -28
  71. commands/tech/list_all_related_elements.py +19 -28
  72. commands/tech/list_anchored_elements.py +22 -30
  73. commands/tech/list_asset_types.py +19 -24
  74. commands/tech/list_elements_by_classification_by_property_value.py +26 -32
  75. commands/tech/list_elements_by_property_value.py +19 -25
  76. commands/tech/list_elements_by_property_value_x.py +20 -28
  77. commands/tech/list_elements_for_classification.py +28 -41
  78. commands/tech/list_gov_action_processes.py +16 -27
  79. commands/tech/list_information_supply_chains.py +22 -30
  80. commands/tech/list_registered_services.py +14 -26
  81. commands/tech/list_related_elements_with_prop_value.py +15 -25
  82. commands/tech/list_related_specification.py +1 -4
  83. commands/tech/list_relationship_types.py +15 -25
  84. commands/tech/list_relationships.py +20 -36
  85. commands/tech/list_solution_blueprints.py +28 -33
  86. commands/tech/list_solution_components.py +23 -29
  87. commands/tech/list_solution_roles.py +21 -32
  88. commands/tech/list_tech_templates.py +51 -54
  89. commands/tech/list_valid_metadata_values.py +5 -9
  90. commands/tech/table_tech_templates.py +2 -6
  91. commands/tech/x_list_related_elements.py +1 -4
  92. examples/GeoSpatial Products Example.py +524 -0
  93. examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
  94. examples/Jupyter Notebooks/README.md +2 -0
  95. examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
  96. examples/Jupyter Notebooks/common/__init__.py +14 -0
  97. examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
  98. examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
  99. examples/Jupyter Notebooks/common/globals.ipynb +184 -0
  100. examples/Jupyter Notebooks/common/globals.py +154 -0
  101. examples/Jupyter Notebooks/common/orig_globals.py +152 -0
  102. examples/format_sets/all_format_sets.json +910 -0
  103. examples/format_sets/custom_format_sets.json +268 -0
  104. examples/format_sets/subset_format_sets.json +187 -0
  105. examples/format_sets_save_load_example.py +291 -0
  106. examples/jacquard_data_sets.py +129 -0
  107. examples/output_formats_example.py +193 -0
  108. examples/test_jacquard_data_sets.py +54 -0
  109. examples/test_jacquard_data_sets_scenarios.py +94 -0
  110. md_processing/__init__.py +33 -24
  111. md_processing/command_dispatcher.py +33 -0
  112. md_processing/command_mapping.py +221 -0
  113. md_processing/data/commands/commands_data_designer.json +537 -0
  114. md_processing/data/commands/commands_external_reference.json +733 -0
  115. md_processing/data/commands/commands_feedback.json +155 -0
  116. md_processing/data/commands/commands_general.json +204 -0
  117. md_processing/data/commands/commands_glossary.json +218 -0
  118. md_processing/data/commands/commands_governance.json +3678 -0
  119. md_processing/data/commands/commands_product_manager.json +865 -0
  120. md_processing/data/commands/commands_project.json +642 -0
  121. md_processing/data/commands/commands_solution_architect.json +366 -0
  122. md_processing/data/commands.json +6489 -30060
  123. md_processing/data/{commands-working.json → commands_working.json} +9304 -13513
  124. md_processing/data/gened_report_specs.py +6584 -0
  125. md_processing/data/generated_format_sets.json +6533 -0
  126. md_processing/data/generated_format_sets_old.json +4137 -0
  127. md_processing/data/generated_format_sets_old.py +45 -0
  128. md_processing/dr_egeria.py +182 -0
  129. md_processing/md_commands/data_designer_commands.py +195 -583
  130. md_processing/md_commands/ext_ref_commands.py +530 -0
  131. md_processing/md_commands/feedback_commands.py +726 -0
  132. md_processing/md_commands/glossary_commands.py +106 -490
  133. md_processing/md_commands/governance_officer_commands.py +129 -18
  134. md_processing/md_commands/product_manager_commands.py +362 -115
  135. md_processing/md_commands/project_commands.py +351 -134
  136. md_processing/md_commands/solution_architect_commands.py +276 -232
  137. md_processing/md_commands/view_commands.py +295 -0
  138. md_processing/md_processing_utils/common_md_proc_utils.py +258 -166
  139. md_processing/md_processing_utils/common_md_utils.py +138 -43
  140. md_processing/md_processing_utils/determine_width.py +103 -0
  141. md_processing/md_processing_utils/extraction_utils.py +100 -39
  142. md_processing/md_processing_utils/gen_report_specs.py +643 -0
  143. md_processing/md_processing_utils/generate_dr_help.py +61 -33
  144. md_processing/md_processing_utils/generate_md_cmd_templates.py +20 -19
  145. md_processing/md_processing_utils/generate_md_templates.py +3 -12
  146. md_processing/md_processing_utils/md_processing_constants.py +1053 -72
  147. pyegeria/__init__.py +203 -158
  148. pyegeria/core/__init__.py +40 -0
  149. pyegeria/core/_base_platform_client.py +574 -0
  150. pyegeria/core/_base_server_client.py +573 -0
  151. pyegeria/{_exceptions_new.py → core/_exceptions.py} +62 -30
  152. pyegeria/{_globals.py → core/_globals.py} +14 -3
  153. pyegeria/core/_server_client.py +6073 -0
  154. pyegeria/{_validators.py → core/_validators.py} +7 -8
  155. pyegeria/core/config.py +654 -0
  156. pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
  157. pyegeria/core/load_config.py +37 -0
  158. pyegeria/{logging_configuration.py → core/logging_configuration.py} +1 -1
  159. pyegeria/core/mcp_adapter.py +144 -0
  160. pyegeria/core/mcp_server.py +212 -0
  161. pyegeria/core/utils.py +405 -0
  162. pyegeria/{_client.py → deprecated/_client.py} +24 -25
  163. pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
  164. pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1987 -1877
  165. pyegeria/{output_formatter.py → deprecated/output_formatter_with_machine_keys.py} +298 -45
  166. pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +155 -171
  167. pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
  168. pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
  169. pyegeria/egeria_cat_client.py +26 -70
  170. pyegeria/egeria_client.py +130 -93
  171. pyegeria/egeria_config_client.py +40 -46
  172. pyegeria/egeria_tech_client.py +141 -54
  173. pyegeria/models/__init__.py +150 -0
  174. pyegeria/{models.py → models/models.py} +156 -20
  175. pyegeria/omvs/__init__.py +84 -0
  176. pyegeria/omvs/action_author.py +342 -0
  177. pyegeria/omvs/actor_manager.py +5980 -0
  178. pyegeria/omvs/asset_catalog.py +842 -0
  179. pyegeria/omvs/asset_maker.py +2736 -0
  180. pyegeria/omvs/automated_curation.py +4403 -0
  181. pyegeria/omvs/classification_manager.py +11213 -0
  182. pyegeria/{collection_manager.py → omvs/collection_manager.py} +1334 -1160
  183. pyegeria/omvs/community_matters_omvs.py +468 -0
  184. pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
  185. pyegeria/{data_designer.py → omvs/data_designer.py} +1115 -660
  186. pyegeria/omvs/data_discovery.py +869 -0
  187. pyegeria/omvs/data_engineer.py +372 -0
  188. pyegeria/omvs/digital_business.py +1133 -0
  189. pyegeria/omvs/external_links.py +1752 -0
  190. pyegeria/omvs/feedback_manager.py +834 -0
  191. pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
  192. pyegeria/{glossary_manager.py → omvs/glossary_manager.py} +857 -519
  193. pyegeria/{governance_officer.py → omvs/governance_officer.py} +964 -468
  194. pyegeria/omvs/lineage_linker.py +314 -0
  195. pyegeria/omvs/location_arena.py +1525 -0
  196. pyegeria/omvs/metadata_expert.py +668 -0
  197. pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
  198. pyegeria/omvs/my_profile.py +1042 -0
  199. pyegeria/omvs/notification_manager.py +358 -0
  200. pyegeria/omvs/people_organizer.py +394 -0
  201. pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
  202. pyegeria/omvs/product_manager.py +1825 -0
  203. pyegeria/omvs/project_manager.py +1907 -0
  204. pyegeria/omvs/reference_data.py +1140 -0
  205. pyegeria/omvs/registered_info.py +334 -0
  206. pyegeria/omvs/runtime_manager.py +2817 -0
  207. pyegeria/omvs/schema_maker.py +446 -0
  208. pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
  209. pyegeria/{solution_architect_omvs.py → omvs/solution_architect.py} +1886 -1505
  210. pyegeria/omvs/specification_properties.py +37 -0
  211. pyegeria/omvs/subject_area.py +1042 -0
  212. pyegeria/omvs/template_manager_omvs.py +236 -0
  213. pyegeria/omvs/time_keeper.py +1761 -0
  214. pyegeria/omvs/valid_metadata.py +3221 -0
  215. pyegeria/omvs/valid_metadata_lists.py +37 -0
  216. pyegeria/omvs/valid_type_lists.py +37 -0
  217. pyegeria/view/__init__.py +28 -0
  218. pyegeria/{_output_format_models.py → view/_output_format_models.py} +160 -24
  219. pyegeria/view/_output_formats.py +14 -0
  220. pyegeria/view/base_report_formats.py +2719 -0
  221. pyegeria/view/dr_egeria_reports.py +56 -0
  222. pyegeria/view/format_set_executor.py +397 -0
  223. pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
  224. pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
  225. pyegeria/view/output_formatter.py +1297 -0
  226. pyegeria-5.5.3.3.dist-info/METADATA +218 -0
  227. pyegeria-5.5.3.3.dist-info/RECORD +241 -0
  228. {pyegeria-5.4.0.28.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
  229. pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
  230. pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
  231. commands/cat/.DS_Store +0 -0
  232. commands/cat/.env +0 -8
  233. commands/cat/README.md +0 -16
  234. commands/cat/debug_log +0 -1126
  235. commands/cat/debug_log.2025-08-18_11-34-38_088636.zip +0 -0
  236. commands/cat/list_categories.py +0 -192
  237. commands/cat/logs/pyegeria.log +0 -4
  238. commands/cli/debug_log +0 -0
  239. commands/cli/debug_log.log +0 -0
  240. commands/cli/txt_custom_v2.tcss +0 -19
  241. commands/my/README.md +0 -17
  242. commands/ops/README.md +0 -24
  243. commands/ops/logs/pyegeria.log +0 -0
  244. commands/ops/monitor_asset_events.py +0 -108
  245. commands/tech/README.md +0 -24
  246. md_processing/.DS_Store +0 -0
  247. md_processing/dr-egeria-outbox/Collections-2025-08-12-13-30-37.md +0 -163
  248. md_processing/dr-egeria-outbox/Collections-2025-08-12-13-35-58.md +0 -474
  249. md_processing/dr_egeria_inbox/Derive-Dr-Gov-Defs.md +0 -8
  250. md_processing/dr_egeria_inbox/Dr.Egeria Templates.md +0 -873
  251. md_processing/dr_egeria_inbox/arch_test.md +0 -57
  252. md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +0 -254
  253. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +0 -696
  254. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +0 -254
  255. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +0 -298
  256. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +0 -608
  257. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +0 -94
  258. md_processing/dr_egeria_inbox/archive/freddie_intro.md +0 -284
  259. md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +0 -275
  260. md_processing/dr_egeria_inbox/archive/test-term.md +0 -110
  261. md_processing/dr_egeria_inbox/cat_test.md +0 -100
  262. md_processing/dr_egeria_inbox/collections.md +0 -39
  263. md_processing/dr_egeria_inbox/data_designer_debug.log +0 -6
  264. md_processing/dr_egeria_inbox/data_designer_out.md +0 -60
  265. md_processing/dr_egeria_inbox/data_designer_search_test.md +0 -11
  266. md_processing/dr_egeria_inbox/data_field.md +0 -54
  267. md_processing/dr_egeria_inbox/data_spec.md +0 -77
  268. md_processing/dr_egeria_inbox/data_spec_test.md +0 -2406
  269. md_processing/dr_egeria_inbox/data_test.md +0 -179
  270. md_processing/dr_egeria_inbox/data_test2.md +0 -429
  271. md_processing/dr_egeria_inbox/data_test3.md +0 -462
  272. md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md +0 -124
  273. md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +0 -168
  274. md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +0 -280
  275. md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +0 -318
  276. md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +0 -1073
  277. md_processing/dr_egeria_inbox/dr_egeria_isc1.md +0 -44
  278. md_processing/dr_egeria_inbox/generated_help_report.md +0 -9
  279. md_processing/dr_egeria_inbox/glossary_creation_experiment.ipynb +0 -341
  280. md_processing/dr_egeria_inbox/glossary_list.md +0 -5
  281. md_processing/dr_egeria_inbox/glossary_search_test.md +0 -40
  282. md_processing/dr_egeria_inbox/glossary_test1.md +0 -324
  283. md_processing/dr_egeria_inbox/gov_def.md +0 -482
  284. md_processing/dr_egeria_inbox/gov_def2.md +0 -447
  285. md_processing/dr_egeria_inbox/img.png +0 -0
  286. md_processing/dr_egeria_inbox/product.md +0 -211
  287. md_processing/dr_egeria_inbox/rel.md +0 -8
  288. md_processing/dr_egeria_inbox/sb.md +0 -119
  289. md_processing/dr_egeria_inbox/solution-components.md +0 -136
  290. md_processing/dr_egeria_inbox/solution_blueprints.md +0 -118
  291. md_processing/dr_egeria_inbox/synonym_test.md +0 -42
  292. md_processing/dr_egeria_inbox/t2.md +0 -268
  293. md_processing/dr_egeria_outbox/.obsidian/app.json +0 -1
  294. md_processing/dr_egeria_outbox/.obsidian/appearance.json +0 -1
  295. md_processing/dr_egeria_outbox/.obsidian/community-plugins.json +0 -6
  296. md_processing/dr_egeria_outbox/.obsidian/core-plugins.json +0 -31
  297. md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/data.json +0 -10
  298. md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/main.js +0 -4459
  299. md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/manifest.json +0 -10
  300. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/data.json +0 -3
  301. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/main.js +0 -153
  302. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/manifest.json +0 -11
  303. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/styles.css +0 -1
  304. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/main.js +0 -500
  305. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +0 -12
  306. md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/styles.css +0 -1
  307. md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/main.js +0 -37
  308. md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/manifest.json +0 -11
  309. md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/styles.css +0 -220
  310. md_processing/dr_egeria_outbox/.obsidian/types.json +0 -28
  311. md_processing/dr_egeria_outbox/.obsidian/workspace.json +0 -220
  312. md_processing/dr_egeria_outbox/Untitled.canvas +0 -1
  313. md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:22-dr_egeria_intro_part1.md +0 -312
  314. md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:23-dr_egeria_intro_part1.md +0 -265
  315. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:06-dr_egeria_intro_part1.md +0 -230
  316. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:30-dr_egeria_intro_part1.md +0 -296
  317. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:31-dr_egeria_intro_part1.md +0 -253
  318. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:08-dr_egeria_intro_part2.md +0 -343
  319. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:12-dr_egeria_intro_part2.md +0 -343
  320. md_processing/dr_egeria_outbox/monday/processed-2025-08-19 07:05-product.md +0 -426
  321. md_processing/dr_egeria_outbox/monday/processed-2025-08-19 07:56-product.md +0 -212
  322. md_processing/dr_egeria_outbox/monday/processed-2025-08-19 09:43-product.md +0 -201
  323. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 14:55-product.md +0 -77
  324. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:05-product.md +0 -75
  325. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:11-product.md +0 -74
  326. md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 20:40-collections.md +0 -49
  327. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 15:00-Derive-Dr-Gov-Defs.md +0 -719
  328. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:13-Derive-Dr-Gov-Defs.md +0 -41
  329. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:14-Derive-Dr-Gov-Defs.md +0 -33
  330. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:50-Derive-Dr-Gov-Defs.md +0 -192
  331. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:08-gov_def2.md +0 -486
  332. md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:10-gov_def2.md +0 -486
  333. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:53-gov_def2.md +0 -486
  334. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:54-gov_def2.md +0 -486
  335. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:03-gov_def2.md +0 -486
  336. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:06-gov_def2.md +0 -486
  337. md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:10-gov_def2.md +0 -486
  338. md_processing/dr_egeria_outbox/tuesday/processed-2025-07-16 19:15-gov_def2.md +0 -527
  339. md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 12:08-gov_def2.md +0 -527
  340. md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 14:27-gov_def2.md +0 -485
  341. md_processing/dr_egeria_outbox/tuesday/processed-2025-08-19 10:55-product.md +0 -209
  342. md_processing/family_docs/Data Designer/Create_Data_Class.md +0 -164
  343. md_processing/family_docs/Data Designer/Create_Data_Dictionary.md +0 -30
  344. md_processing/family_docs/Data Designer/Create_Data_Field.md +0 -162
  345. md_processing/family_docs/Data Designer/Create_Data_Specification.md +0 -36
  346. md_processing/family_docs/Data Designer/Create_Data_Structure.md +0 -38
  347. md_processing/family_docs/Data Designer/View_Data_Classes.md +0 -78
  348. md_processing/family_docs/Data Designer/View_Data_Dictionaries.md +0 -78
  349. md_processing/family_docs/Data Designer/View_Data_Fields.md +0 -78
  350. md_processing/family_docs/Data Designer/View_Data_Specifications.md +0 -78
  351. md_processing/family_docs/Data Designer/View_Data_Structures.md +0 -78
  352. md_processing/family_docs/Data Designer.md +0 -842
  353. md_processing/family_docs/Digital Product Manager/Add_Member->Collection.md +0 -42
  354. md_processing/family_docs/Digital Product Manager/Attach_Collection->Resource.md +0 -36
  355. md_processing/family_docs/Digital Product Manager/Create_Agreement.md +0 -96
  356. md_processing/family_docs/Digital Product Manager/Create_Data_Sharing_Agreement.md +0 -72
  357. md_processing/family_docs/Digital Product Manager/Create_DigitalSubscription.md +0 -102
  358. md_processing/family_docs/Digital Product Manager/Create_Digital_Product.md +0 -134
  359. md_processing/family_docs/Digital Product Manager/Link_Agreement_Items.md +0 -60
  360. md_processing/family_docs/Digital Product Manager/Link_Contracts.md +0 -26
  361. md_processing/family_docs/Digital Product Manager/Link_Digital_Product_-_Digital_Product.md +0 -30
  362. md_processing/family_docs/Digital Product Manager/Link_Subscribers.md +0 -48
  363. md_processing/family_docs/Digital Product Manager.md +0 -668
  364. md_processing/family_docs/Glossary/Attach_Category_Parent.md +0 -18
  365. md_processing/family_docs/Glossary/Attach_Term-Term_Relationship.md +0 -26
  366. md_processing/family_docs/Glossary/Create_Category.md +0 -38
  367. md_processing/family_docs/Glossary/Create_Glossary.md +0 -42
  368. md_processing/family_docs/Glossary/Create_Term.md +0 -70
  369. md_processing/family_docs/Glossary.md +0 -206
  370. md_processing/family_docs/Governance Officer/Create_Business_Imperative.md +0 -106
  371. md_processing/family_docs/Governance Officer/Create_Certification_Type.md +0 -112
  372. md_processing/family_docs/Governance Officer/Create_Governance_Approach.md +0 -114
  373. md_processing/family_docs/Governance Officer/Create_Governance_Obligation.md +0 -114
  374. md_processing/family_docs/Governance Officer/Create_Governance_Principle.md +0 -114
  375. md_processing/family_docs/Governance Officer/Create_Governance_Procedure.md +0 -128
  376. md_processing/family_docs/Governance Officer/Create_Governance_Process.md +0 -122
  377. md_processing/family_docs/Governance Officer/Create_Governance_Processing_Purpose.md +0 -106
  378. md_processing/family_docs/Governance Officer/Create_Governance_Responsibility.md +0 -122
  379. md_processing/family_docs/Governance Officer/Create_Governance_Rule.md +0 -122
  380. md_processing/family_docs/Governance Officer/Create_Governance_Strategy.md +0 -106
  381. md_processing/family_docs/Governance Officer/Create_License_Type.md +0 -112
  382. md_processing/family_docs/Governance Officer/Create_Naming_Standard_Rule.md +0 -122
  383. md_processing/family_docs/Governance Officer/Create_Regulation_Article.md +0 -106
  384. md_processing/family_docs/Governance Officer/Create_Regulation_Definition.md +0 -118
  385. md_processing/family_docs/Governance Officer/Create_Security_Access_Control.md +0 -114
  386. md_processing/family_docs/Governance Officer/Create_Security_Group.md +0 -120
  387. md_processing/family_docs/Governance Officer/Create_Service_Level_Objectives.md +0 -122
  388. md_processing/family_docs/Governance Officer/Create_Threat_Definition.md +0 -106
  389. md_processing/family_docs/Governance Officer/Link_Governance_Controls.md +0 -32
  390. md_processing/family_docs/Governance Officer/Link_Governance_Drivers.md +0 -32
  391. md_processing/family_docs/Governance Officer/Link_Governance_Policies.md +0 -32
  392. md_processing/family_docs/Governance Officer/View_Governance_Definitions.md +0 -82
  393. md_processing/family_docs/Governance Officer.md +0 -2412
  394. md_processing/family_docs/Solution Architect/Create_Information_Supply_Chain.md +0 -70
  395. md_processing/family_docs/Solution Architect/Create_Solution_Blueprint.md +0 -44
  396. md_processing/family_docs/Solution Architect/Create_Solution_Component.md +0 -96
  397. md_processing/family_docs/Solution Architect/Create_Solution_Role.md +0 -66
  398. md_processing/family_docs/Solution Architect/Link_Information_Supply_Chain_Peers.md +0 -32
  399. md_processing/family_docs/Solution Architect/Link_Solution_Component_Peers.md +0 -32
  400. md_processing/family_docs/Solution Architect/View_Information_Supply_Chains.md +0 -32
  401. md_processing/family_docs/Solution Architect/View_Solution_Blueprints.md +0 -32
  402. md_processing/family_docs/Solution Architect/View_Solution_Components.md +0 -32
  403. md_processing/family_docs/Solution Architect/View_Solution_Roles.md +0 -32
  404. md_processing/family_docs/Solution Architect.md +0 -490
  405. md_processing/md_processing_utils/debug_log +0 -574
  406. md_processing/md_processing_utils/debug_log.log +0 -0
  407. md_processing/md_processing_utils/dr-egeria-help-2025-07-17T17:22:09.md +0 -2065
  408. md_processing/md_processing_utils/generated_help_terms.md +0 -842
  409. pyegeria/.DS_Store +0 -0
  410. pyegeria/README.md +0 -35
  411. pyegeria/_client_new.py +0 -1102
  412. pyegeria/_output_formats.py +0 -730
  413. pyegeria/asset_catalog_omvs.py +0 -864
  414. pyegeria/automated_curation_omvs.py +0 -3765
  415. pyegeria/config.py +0 -523
  416. pyegeria/egeria_my_client.py +0 -91
  417. pyegeria/feedback_manager_omvs.py +0 -4573
  418. pyegeria/load_config_orig.py +0 -218
  419. pyegeria/md_processing_helpers.py +0 -58
  420. pyegeria/md_processing_utils_orig.py +0 -1103
  421. pyegeria/metadata_explorer_omvs.py +0 -2326
  422. pyegeria/my_profile_omvs.py +0 -1022
  423. pyegeria/project_manager.py +0 -1591
  424. pyegeria/registered_info.py +0 -167
  425. pyegeria/template_manager_omvs.py +0 -1414
  426. pyegeria/utils.py +0 -256
  427. pyegeria-5.4.0.28.dist-info/METADATA +0 -77
  428. pyegeria-5.4.0.28.dist-info/RECORD +0 -343
  429. pyegeria-5.4.0.28.dist-info/entry_points.txt +0 -105
  430. /commands/cat/debug_log.log → /pyegeria/deprecated/__init__.py +0 -0
  431. /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
  432. /pyegeria/{collection_models.py → models/collection_models.py} +0 -0
  433. {pyegeria-5.4.0.28.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,94 @@
1
+ """
2
+ PDX-License-Identifier: Apache-2.0
3
+ Copyright Contributors to the ODPi Egeria project.
4
+
5
+ Scenario tests for JacquardDataSets.
6
+ """
7
+ import time
8
+ from typing import List, Optional
9
+ from dataclasses import dataclass
10
+
11
+ from rich import print as rprint
12
+ from rich.console import Console
13
+ from rich.table import Table
14
+
15
+ from examples.jacquard_data_sets import JacquardDataSets
16
+ from pyegeria.core._exceptions import PyegeriaException
17
+
18
+ VIEW_SERVER = "qs-view-server"
19
+ PLATFORM_URL = "https://localhost:9443"
20
+ USER_ID = "peterprofile"
21
+ USER_PWD = "secret"
22
+
23
+ console = Console(width=200)
24
+
25
+
26
+ @dataclass
27
+ class TestResult:
28
+ scenario_name: str
29
+ status: str
30
+ duration: float
31
+ message: str = ""
32
+
33
+
34
+ class JacquardDataSetsScenarioTester:
35
+ def __init__(self):
36
+ self.client: Optional[JacquardDataSets] = None
37
+ self.results: List[TestResult] = []
38
+
39
+ def setup(self) -> bool:
40
+ try:
41
+ self.client = JacquardDataSets(VIEW_SERVER, PLATFORM_URL, USER_ID, USER_PWD)
42
+ self.client.create_egeria_bearer_token(USER_ID, USER_PWD)
43
+ return True
44
+ except Exception:
45
+ return False
46
+
47
+ def teardown(self):
48
+ if self.client:
49
+ self.client.close_session()
50
+
51
+ def scenario_tabular_data_set_discovery(self) -> TestResult:
52
+ name = "Tabular Data Set Discovery"
53
+ start_time = time.perf_counter()
54
+ try:
55
+ # 1. Find assets by name
56
+ assets = self.client.find_assets_by_name("Valid Metadata Value Set List")
57
+
58
+ # 2. Find tabular data sets
59
+ datasets = self.client.find_tabular_data_sets()
60
+
61
+ return TestResult(name, "PASSED", time.perf_counter() - start_time, f"Found {len(assets) if assets else 0} assets and {len(datasets) if datasets else 0} datasets")
62
+ except PyegeriaException as e:
63
+ return TestResult(name, "FAILED", time.perf_counter() - start_time, str(e))
64
+ except Exception as e:
65
+ return TestResult(name, "FAILED", time.perf_counter() - start_time, f"Unexpected error: {e}")
66
+
67
+ def run_all_scenarios(self):
68
+ if not self.setup():
69
+ rprint("[bold red]Setup failed, skipping scenarios[/bold red]")
70
+ return
71
+
72
+ self.results.append(self.scenario_tabular_data_set_discovery())
73
+ self.teardown()
74
+ self.print_results_summary()
75
+
76
+ def print_results_summary(self):
77
+ table = Table(title="Jacquard Data Sets Scenario Results")
78
+ table.add_column("Scenario", style="cyan")
79
+ table.add_column("Status", justify="center")
80
+ table.add_column("Duration (s)", justify="right")
81
+ table.add_column("Message")
82
+ for res in self.results:
83
+ style = "green" if res.status == "PASSED" else "red"
84
+ table.add_row(res.scenario_name, f"[{style}]{res.status}[/{style}]", f"{res.duration:.2f}", res.message)
85
+ console.print(table)
86
+
87
+
88
+ def test_jacquard_data_sets_scenarios():
89
+ tester = JacquardDataSetsScenarioTester()
90
+ tester.run_all_scenarios()
91
+
92
+
93
+ if __name__ == "__main__":
94
+ test_jacquard_data_sets_scenarios()
md_processing/__init__.py CHANGED
@@ -5,6 +5,7 @@ from md_processing.md_commands.governance_officer_commands import (process_gov_d
5
5
  process_gov_def_link_detach_command,
6
6
  process_supporting_gov_def_link_detach_command,
7
7
  process_gov_def_context_command,
8
+ process_governed_by_link_detach_command
8
9
  )
9
10
 
10
11
 
@@ -16,6 +17,7 @@ from md_processing.md_commands.product_manager_commands import (process_digital_
16
17
  process_product_dependency_command,
17
18
  process_attach_collection_command,
18
19
  process_attach_subscriber_command,
20
+ process_csv_element_upsert_command,
19
21
  )
20
22
 
21
23
  from md_processing.md_commands.solution_architect_commands import (process_blueprint_upsert_command,
@@ -23,47 +25,52 @@ from md_processing.md_commands.solution_architect_commands import (process_bluep
23
25
  process_component_link_unlink_command,
24
26
  process_information_supply_chain_upsert_command,
25
27
  process_information_supply_chain_link_unlink_command,
26
- process_sol_arch_list_command)
28
+ )
27
29
 
28
30
  from md_processing.md_commands.data_designer_commands import (process_data_field_upsert_command,
29
31
  process_data_spec_upsert_command,
30
32
  process_data_dict_upsert_command,
31
- process_data_collection_list_command,
32
- process_data_structure_list_command,
33
- process_data_field_list_command,
34
- process_data_class_list_command,
35
33
  process_data_structure_upsert_command)
36
34
 
37
- from md_processing.md_commands.glossary_commands import (process_glossary_upsert_command, process_glossary_list_command,
38
- process_glossary_structure_command,
39
- process_category_upsert_command, update_category_parent,
40
- process_category_list_command, update_term_categories,
35
+ from md_processing.md_commands.feedback_commands import (process_add_comment_command, process_journal_entry_command,
36
+ process_upsert_note_command, process_attach_note_log_command,
37
+ process_upsert_informal_tag_command, process_tag_element_command)
38
+
39
+
40
+
41
+ from md_processing.md_commands.glossary_commands import (process_glossary_upsert_command,
41
42
  process_term_upsert_command,
42
- process_create_term_term_relationship_command,
43
- process_term_list_command, process_term_details_command,
44
- process_term_history_command,
45
- process_term_revision_history_command)
46
- from md_processing.md_commands.project_commands import (process_per_proj_upsert_command)
43
+ process_link_term_term_relationship_command,
44
+ )
45
+ from md_processing.md_commands.project_commands import (process_project_upsert_command, process_link_project_dependency_command,
46
+ process_link_project_hierarchy_command)
47
+
48
+ from md_processing.md_commands.ext_ref_commands import (process_external_reference_upsert_command,
49
+ process_link_to_media_reference_command,
50
+ process_link_to_external_reference_command,
51
+ process_link_to_cited_document_command,
52
+
53
+ )
54
+
47
55
  # Re-export all functions from the original md_processing_utils.py to maintain backward compatibility
48
56
  from md_processing.md_processing_utils.common_md_utils import (render_markdown, is_valid_iso_date, set_debug_level,
49
57
  get_current_datetime_string, print_msg, EGERIA_WIDTH,
50
- console, debug_level, get_element_dictionary,
58
+ debug_level, get_element_dictionary,
51
59
  update_element_dictionary, clear_element_dictionary,
52
60
  is_present, find_key_with_value,
53
61
  process_provenance_command, set_delete_request_body,
54
62
  set_rel_request_body, set_filter_request_body,
55
- set_update_body, set_peer_gov_def_request_body,
56
- set_gov_prop_body, set_prop_body, set_create_body,
57
- GOVERNANCE_POLICIES, GOVERNANCE_CONTROLS, GOVERNANCE_DRIVERS
63
+ set_update_body, set_peer_gov_def_request_body, set_rel_prop_body,
64
+ set_gov_prop_body, set_element_prop_body, set_create_body,
65
+ GOVERNANCE_POLICIES, GOVERNANCE_CONTROLS, GOVERNANCE_DRIVERS
58
66
  )
59
67
  from md_processing.md_processing_utils.extraction_utils import (extract_command_plus, extract_command,
60
68
  extract_attribute, process_simple_attribute,
61
69
  process_name_list, process_element_identifiers,
62
70
  get_element_by_name, update_a_command)
63
- from md_processing.md_processing_utils.md_processing_constants import (ALWAYS, ERROR, INFO, WARNING, pre_command,
71
+ from md_processing.md_processing_utils.md_processing_constants import ( pre_command,
64
72
  command_seperator, EXISTS_REQUIRED,
65
- GLOSSARY_NAME_LABELS, CATEGORY_NAME_LABELS,
66
- PARENT_CATEGORY_LABELS, CHILD_CATEGORY_LABELS,
73
+ GLOSSARY_NAME_LABELS,
67
74
  TERM_NAME_LABELS, PROJECT_NAME_LABELS,
68
75
  BLUEPRINT_NAME_LABELS, COMPONENT_NAME_LABELS,
69
76
  SOLUTION_ROLE_LABELS, SOLUTION_ACTOR_ROLE_LABELS,
@@ -71,11 +78,13 @@ from md_processing.md_processing_utils.md_processing_constants import (ALWAYS, E
71
78
  SEARCH_LABELS, GUID_LABELS,
72
79
  ELEMENT_OUTPUT_FORMATS, TERM_RELATIONSHPS,
73
80
  command_list, COMMAND_DEFINITIONS, GOV_COM_LIST,
74
- GOV_LINK_LIST, COLLECTIONS_LIST, SIMPLE_COLLECTIONS,)
81
+ GOV_LINK_LIST, COLLECTIONS_LIST, SIMPLE_COLLECTIONS,
82
+ LIST_COMMANDS, PROJECT_COMMANDS, EXT_REF_UPSERT,
83
+ LINK_EXT_REF, LINK_MEDIA, LINK_CITED_DOC)
75
84
  # Import functions from md_processing_constants
76
85
  from md_processing.md_processing_utils.md_processing_constants import (load_commands, get_command_spec, get_attribute,
77
86
  get_attribute_labels, get_alternate_names)
78
87
  # Import message constants
79
- from md_processing.md_processing_utils.message_constants import (message_types, ALWAYS, ERROR, INFO, WARNING)
80
88
 
81
- from md_processing.md_processing_utils.common_md_proc_utils import process_output_command
89
+ from md_processing.md_processing_utils.common_md_proc_utils import process_output_command
90
+ from md_processing.md_commands.view_commands import process_format_set_action, process_output_command
@@ -0,0 +1,33 @@
1
+ from typing import Callable, Dict, Any, Optional
2
+ from loguru import logger
3
+
4
+ class CommandDispatcher:
5
+ """
6
+ Registry and dispatcher for Dr.Egeria markdown commands.
7
+ """
8
+ def __init__(self):
9
+ self._registry: Dict[str, Callable] = {}
10
+
11
+ def register(self, command_name: str, handler: Callable):
12
+ """
13
+ Register a handler for a specific command name.
14
+ """
15
+ self._registry[command_name] = handler
16
+ logger.debug(f"Registered command handler for: {command_name}")
17
+
18
+ def get_handler(self, command_name: str) -> Optional[Callable]:
19
+ """
20
+ Retrieve the handler for a given command name.
21
+ """
22
+ return self._registry.get(command_name)
23
+
24
+ def dispatch(self, command_name: str, *args, **kwargs) -> Any:
25
+ """
26
+ Execute the handler for the given command.
27
+ """
28
+ handler = self.get_handler(command_name)
29
+ if handler:
30
+ return handler(*args, **kwargs)
31
+ else:
32
+ logger.warning(f"No handler registered for command: {command_name}")
33
+ return None
@@ -0,0 +1,221 @@
1
+ from md_processing.command_dispatcher import CommandDispatcher
2
+
3
+ # Import all command handlers
4
+ from md_processing.md_commands.project_commands import process_link_project_dependency_command
5
+ from md_processing.md_commands.product_manager_commands import process_csv_element_upsert_command
6
+ from md_processing import (
7
+ process_glossary_upsert_command, process_term_upsert_command,
8
+ process_provenance_command,
9
+ process_project_upsert_command, process_blueprint_upsert_command,
10
+ process_solution_component_upsert_command, process_component_link_unlink_command,
11
+ process_link_term_term_relationship_command,
12
+ process_information_supply_chain_upsert_command,
13
+ process_information_supply_chain_link_unlink_command,
14
+ process_digital_product_upsert_command, process_agreement_upsert_command,
15
+ process_collection_upsert_command, process_link_agreement_item_command,
16
+ process_gov_definition_upsert_command,
17
+ process_governed_by_link_detach_command,
18
+ process_gov_def_link_detach_command, process_product_dependency_command,
19
+ process_add_to_collection_command, process_attach_collection_command,
20
+ # process_gov_def_context_command,
21
+ process_supporting_gov_def_link_detach_command,
22
+ process_attach_subscriber_command, process_output_command,
23
+ process_link_project_hierarchy_command,
24
+ process_external_reference_upsert_command,
25
+ process_link_to_external_reference_command, process_link_to_media_reference_command,
26
+ process_link_to_cited_document_command,
27
+ EXT_REF_UPSERT, LINK_CITED_DOC, LINK_MEDIA, LINK_EXT_REF,
28
+ COLLECTIONS_LIST, SIMPLE_COLLECTIONS, GOV_COM_LIST, GOV_LINK_LIST,
29
+ LIST_COMMANDS, PROJECT_COMMANDS
30
+ )
31
+
32
+ from md_processing.md_commands.data_designer_commands import (
33
+ process_data_spec_upsert_command,
34
+ process_data_dict_upsert_command,
35
+ process_data_field_upsert_command,
36
+ process_data_structure_upsert_command,
37
+ process_data_class_upsert_command
38
+ )
39
+
40
+ from md_processing.md_commands.feedback_commands import (
41
+ process_add_comment_command, process_journal_entry_command,
42
+ process_upsert_note_command, process_attach_note_log_command,
43
+ process_upsert_informal_tag_command, process_tag_element_command
44
+ )
45
+
46
+ def setup_dispatcher() -> CommandDispatcher:
47
+ dispatcher = CommandDispatcher()
48
+
49
+ # Provenance
50
+ dispatcher.register("Provenance", lambda client, block, directive: process_provenance_command(client.input_file if hasattr(client, 'input_file') else "unknown", block))
51
+ # Note: process_provenance_command in dr_egeria takes (input_file, current_block).
52
+ # But dispatch calls with (client, current_block, directive).
53
+ # We might need to adjust the signature or use a wrapper.
54
+ # Actually, in dr_egeria.py: result = process_provenance_command(input_file, current_block)
55
+ # The dispatcher will likely be called as dispatch(command, client, block, directive)
56
+ # Use a lambda to adapt if necessary, or better yet, standardized handler signatures.
57
+ # For now, let's keep the mapping logic close to the original.
58
+
59
+ # Feedback Commands
60
+ for cmd in ["Create Comment", "Update Comment"]:
61
+ dispatcher.register(cmd, process_add_comment_command)
62
+
63
+ dispatcher.register("Create Journal Entry", process_journal_entry_command)
64
+
65
+ for cmd in ["Create Note", "Update Note"]:
66
+ dispatcher.register(cmd, process_upsert_informal_tag_command) # Wait, check original file.
67
+ # Original:
68
+ # elif potential_command in ["Create Note", "Update Note"]:
69
+ # result = process_upsert_note_command(client, current_block, directive)
70
+
71
+ # Correcting mapping based on review
72
+ for cmd in ["Create Note", "Update Note"]:
73
+ dispatcher.register(cmd, process_upsert_note_command)
74
+
75
+ for cmd in ["Link NoteLog", "Detach NoteLog"]:
76
+ dispatcher.register(cmd, process_attach_note_log_command)
77
+
78
+ for cmd in ["Create Informal Tag", "Update Informal Tag"]:
79
+ dispatcher.register(cmd, process_upsert_informal_tag_command)
80
+
81
+ for cmd in ["Link Tag", "Detach Tag", "Link Tag->Element"]:
82
+ dispatcher.register(cmd, process_tag_element_command)
83
+
84
+ # External References
85
+ for cmd in EXT_REF_UPSERT:
86
+ dispatcher.register(cmd, process_external_reference_upsert_command)
87
+
88
+ for cmd in LINK_EXT_REF:
89
+ dispatcher.register(cmd, process_link_to_external_reference_command)
90
+
91
+ for cmd in LINK_MEDIA:
92
+ dispatcher.register(cmd, process_link_to_media_reference_command)
93
+
94
+ for cmd in LINK_CITED_DOC:
95
+ dispatcher.register(cmd, process_link_to_cited_document_command)
96
+
97
+ # Glossary
98
+ for cmd in ["Create Glossary", "Update Glossary"]:
99
+ dispatcher.register(cmd, process_glossary_upsert_command)
100
+
101
+ for cmd in ["Create Term", "Update Term"]:
102
+ dispatcher.register(cmd, process_term_upsert_command)
103
+
104
+ for cmd in ["Create Term-Term Relationship", "Update Term-Term Relationship",
105
+ "Link Termss", "Detach Terms", "Link Term-Term Relationship", "Detach Term-Term Relationship"]:
106
+ dispatcher.register(cmd, process_link_term_term_relationship_command)
107
+
108
+ # Output / List / View
109
+ for cmd in LIST_COMMANDS:
110
+ dispatcher.register(cmd, process_output_command)
111
+
112
+ for cmd in ["List Glossaries", "List Terms", "List Glossary Terms", "View Glossaries",
113
+ "View Terms", "View Glossary Terms", "View Report"]:
114
+ dispatcher.register(cmd, process_output_command)
115
+
116
+ # Projects
117
+ for cmd in PROJECT_COMMANDS:
118
+ dispatcher.register(cmd, process_project_upsert_command)
119
+
120
+ for cmd in ["Link Parent Project", "Attach Parent Project", "Detach Parent Project"]:
121
+ dispatcher.register(cmd, process_link_project_hierarchy_command)
122
+
123
+ for cmd in ["Link Project Dependency", "Attach Project Dependency", "Detach Project Dependency"]:
124
+ dispatcher.register(cmd, process_link_project_dependency_command)
125
+
126
+ # Blueprints & Solution Components
127
+ for cmd in ["Create Blueprint", "Update Blueprint", "Create Solution Blueprint", "Update Solution Blueprint"]:
128
+ dispatcher.register(cmd, process_blueprint_upsert_command)
129
+
130
+ for cmd in ["Create Solution Component", "Update Solution Component"]:
131
+ dispatcher.register(cmd, process_solution_component_upsert_command)
132
+
133
+ for cmd in ["Link Solution Components", "Link Solution Component Peers", "Wire Solution Components",
134
+ "Unlink Solution Components", "Detach Solution Components", "Detach Solution Component Peers"]:
135
+ dispatcher.register(cmd, process_component_link_unlink_command)
136
+
137
+ # Information Supply Chain
138
+ for cmd in ["Create Information Supply Chain", "Update Information Supply Chain"]:
139
+ dispatcher.register(cmd, process_information_supply_chain_upsert_command)
140
+
141
+ for cmd in ["Link Information Supply Chain Peers", "Link Information Supply Chains",
142
+ "Link Supply Chains", "Unlink Information Supply Chain Peers",
143
+ "Unlink Information Supply Chains", "Unlink Supply Chains"]:
144
+ dispatcher.register(cmd, process_information_supply_chain_link_unlink_command)
145
+
146
+ # Data Designer
147
+ for cmd in ["Create Data Spec", "Create Data Specification", "Update Data Spec", "Update Data Specification"]:
148
+ dispatcher.register(cmd, process_data_spec_upsert_command)
149
+
150
+ for cmd in ["Create Data Dict", "Create Data Dictionary", "Update Data Spec", "Update Data Dictionary"]: # Note: Update Data Spec is repeated here in original
151
+ dispatcher.register(cmd, process_data_dict_upsert_command)
152
+
153
+ for cmd in ["Create Data Field", "Update Data Field"]:
154
+ dispatcher.register(cmd, process_data_field_upsert_command)
155
+
156
+ for cmd in ["Create Data Structure", "Update Data Structure"]:
157
+ dispatcher.register(cmd, process_data_structure_upsert_command)
158
+
159
+ for cmd in ["Create Data Class", "Update Data Class"]:
160
+ dispatcher.register(cmd, process_data_class_upsert_command)
161
+
162
+ for cmd in ["View Data Dictionaries", "View Data Dictionary", "View Data Specifications", "View Data Specs",
163
+ "View Data Structures", "View Data Structure", "View Data Fields", "View Data Field",
164
+ "View Data Classes", "View Data Class"]:
165
+ dispatcher.register(cmd, process_output_command)
166
+
167
+ # Collections
168
+ for cmd in ["Create Digital Product Catalog", "Create Collection","Create Folder", "Create Root Collection",
169
+ "Update Digital Product Catalog", "Update Collection","Update Folder", "Update Root Collection"]:
170
+ dispatcher.register(cmd, process_collection_upsert_command)
171
+
172
+ for cmd in SIMPLE_COLLECTIONS:
173
+ dispatcher.register(cmd, process_collection_upsert_command)
174
+
175
+ for cmd in ["Link Collection->Resource", "Detach Collection->Resource"]:
176
+ dispatcher.register(cmd, process_attach_collection_command)
177
+
178
+ for cmd in ["Add Member->Collection", "Detach Member->Collection", "Add Member", "Remove Member",
179
+ "Add to Folder", "Remove from Folder"]:
180
+ dispatcher.register(cmd, process_add_to_collection_command)
181
+
182
+
183
+ # Digital Products & Agreements
184
+ for cmd in ["Create Digital Product", "Create Data Product","Update Digital Product", "Update Data Product"]:
185
+ dispatcher.register(cmd, process_digital_product_upsert_command)
186
+
187
+ for cmd in ["Create Agreement", "Create Data Sharing Agreement", "Create Digital Subscription",
188
+ "Create Product Subscription", "Update Agreement", "Update Data Sharing Agreement",
189
+ "Update Digital Subscription", "Update Product Subscription"]:
190
+ dispatcher.register(cmd, process_agreement_upsert_command)
191
+
192
+ for cmd in ["Link Agreement->Item", "Detach Agreement->Item"]:
193
+ dispatcher.register(cmd, process_link_agreement_item_command)
194
+
195
+ for cmd in ["Link Subscriber->Subscription", "Detach Subscriber->Subscription"]:
196
+ dispatcher.register(cmd, process_attach_subscriber_command)
197
+
198
+ for cmd in ["Link Digital Products", "Detach Digital Products",
199
+ "Link Product-Product", "Detach Product-Product"]:
200
+ dispatcher.register(cmd, process_product_dependency_command)
201
+
202
+
203
+ # CSV
204
+ for cmd in ["Create CSV File"]:
205
+ dispatcher.register(cmd, process_csv_element_upsert_command)
206
+
207
+ # Governance
208
+ for cmd in GOV_COM_LIST:
209
+ dispatcher.register(cmd, process_gov_definition_upsert_command)
210
+
211
+ for cmd in GOV_LINK_LIST:
212
+ dispatcher.register(cmd, process_gov_def_link_detach_command)
213
+
214
+ for cmd in ["Link Governance Mechanism", "Detach Governance Mechanism",
215
+ "Link Governance Response", "Detach Governance Response"]:
216
+ dispatcher.register(cmd, process_supporting_gov_def_link_detach_command)
217
+
218
+ for cmd in ["Link Governed By", "Detach Governed By"]:
219
+ dispatcher.register(cmd, process_governed_by_link_detach_command)
220
+
221
+ return dispatcher