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
@@ -2,26 +2,51 @@
2
2
  SPDX-License-Identifier: Apache-2.0
3
3
  Copyright Contributors to the ODPi Egeria project.
4
4
 
5
- Runtime manager is a view service that supports user interaction with the running platforms.
6
-
5
+ The Tech Client is a facade that provides a unified interface to the most
6
+ commonly used technical OMVS modules.
7
7
  """
8
- from pyegeria.automated_curation_omvs import AutomatedCuration
9
- from pyegeria.classification_manager_omvs import ClassificationManager
10
- from pyegeria.data_designer import DataDesigner
11
- from pyegeria.egeria_cat_client import EgeriaCat
12
- from pyegeria.metadata_explorer_omvs import MetadataExplorer
13
- from pyegeria.registered_info import RegisteredInfo
14
- from pyegeria.runtime_manager_omvs import RuntimeManager
15
- from pyegeria.solution_architect_omvs import SolutionArchitect
16
- from pyegeria.template_manager_omvs import TemplateManager
17
- from pyegeria.valid_metadata_omvs import ValidMetadataManager
18
- from pyegeria.governance_officer import GovernanceOfficer
19
- from pyegeria.collection_manager import CollectionManager
20
-
8
+ from pyegeria.omvs.action_author import ActionAuthor
9
+ from pyegeria.omvs.actor_manager import ActorManager
10
+ from pyegeria.omvs.asset_catalog import AssetCatalog
11
+ from pyegeria.omvs.asset_maker import AssetMaker
12
+ from pyegeria.omvs.automated_curation import AutomatedCuration
13
+ from pyegeria.omvs.classification_manager import ClassificationManager
14
+ from pyegeria.omvs.collection_manager import CollectionManager
15
+ from pyegeria.omvs.community_matters_omvs import CommunityMatters
16
+ from pyegeria.omvs.data_designer import DataDesigner
17
+ from pyegeria.omvs.data_discovery import DataDiscovery
18
+ from pyegeria.omvs.data_engineer import DataEngineer
19
+ from pyegeria.omvs.digital_business import DigitalBusiness
20
+ from pyegeria.omvs.external_links import ExternalReferences
21
+ from pyegeria.omvs.feedback_manager import FeedbackManager
22
+ from pyegeria.omvs.glossary_manager import GlossaryManager
23
+ from pyegeria.omvs.governance_officer import GovernanceOfficer
24
+ from pyegeria.omvs.lineage_linker import LineageLinker
25
+ from pyegeria.omvs.location_arena import Location
26
+ from pyegeria.omvs.metadata_expert import MetadataExpert
27
+ from pyegeria.omvs.metadata_explorer_omvs import MetadataExplorer
28
+ from pyegeria.omvs.my_profile import MyProfile
29
+ from pyegeria.omvs.notification_manager import NotificationManager
30
+ from pyegeria.omvs.people_organizer import PeopleOrganizer
31
+ from pyegeria.omvs.product_manager import ProductManager
32
+ from pyegeria.omvs.project_manager import ProjectManager
33
+ from pyegeria.omvs.reference_data import ReferenceDataManager
34
+ from pyegeria.omvs.registered_info import RegisteredInfo
35
+ from pyegeria.omvs.runtime_manager import RuntimeManager
36
+ from pyegeria.omvs.schema_maker import SchemaMaker
37
+ from pyegeria.omvs.solution_architect import SolutionArchitect
38
+ from pyegeria.omvs.specification_properties import SpecificationProperties
39
+ from pyegeria.omvs.subject_area import SubjectArea
40
+ from pyegeria.omvs.template_manager_omvs import TemplateManager
41
+ from pyegeria.omvs.time_keeper import TimeKeeper
42
+ from pyegeria.omvs.valid_metadata import ValidMetadataManager
43
+ from pyegeria.omvs.valid_metadata_lists import ValidMetadataLists
44
+ from pyegeria.omvs.valid_type_lists import ValidTypeLists
45
+ from pyegeria.core._globals import NO_ELEMENTS_FOUND
21
46
 
22
47
  class EgeriaTech:
23
48
  """
24
- Client for technical Egeria users using composition.
49
+ Client for technical Egeria users using lazy-loading composition.
25
50
 
26
51
  Attributes:
27
52
  view_server: str
@@ -51,65 +76,127 @@ class EgeriaTech:
51
76
  self.platform_url = platform_url
52
77
  self.user_id = user_id
53
78
  self.user_pwd = user_pwd
79
+ self.token = token
54
80
 
55
- # Compose sub-clients
56
- self._auto_curate = AutomatedCuration(view_server, platform_url, user_id, user_pwd, token)
57
- self._cat = EgeriaCat(view_server, platform_url, user_id, user_pwd, token)
58
- self._class_mgr = ClassificationManager(view_server, platform_url, user_id, user_pwd, token)
59
- self._reg_info = RegisteredInfo(view_server, platform_url, user_id, user_pwd, token)
60
- self._runtime = RuntimeManager(view_server, platform_url, user_id, user_pwd, token)
61
- self._valid = ValidMetadataManager(view_server, platform_url, user_id, user_pwd, token)
62
- self._explorer = MetadataExplorer(view_server, platform_url, user_id, user_pwd, token)
63
- self._sol_arch = SolutionArchitect(view_server, platform_url, user_id, user_pwd, token)
64
- self._designer = DataDesigner(view_server, platform_url, user_id, user_pwd, token)
65
- self._templates = TemplateManager(view_server, platform_url, user_id, user_pwd, token)
66
- self._gov_officer = GovernanceOfficer(view_server, platform_url, user_id, user_pwd, token)
67
- self._collections = CollectionManager(view_server, platform_url, user_id, user_pwd, token)
68
-
69
- self._subclients = [
70
- self._auto_curate,
71
- self._cat,
72
- self._class_mgr,
73
- self._reg_info,
74
- self._runtime,
75
- self._valid,
76
- self._explorer,
77
- self._sol_arch,
78
- self._designer,
79
- self._templates,
80
- self._gov_officer,
81
- self._collections,
82
- ]
81
+ # Mapping of attribute names to their classes for lazy loading
82
+ self._subclient_map = {
83
+ "auto_curate": AutomatedCuration,
84
+ "class_mgr": ClassificationManager,
85
+ "reg_info": RegisteredInfo,
86
+ "runtime": RuntimeManager,
87
+ "valid": ValidMetadataManager,
88
+ "explorer": MetadataExplorer,
89
+ "expert": MetadataExpert,
90
+ "sol_arch": SolutionArchitect,
91
+ "designer": DataDesigner,
92
+ "data_designer": DataDesigner,
93
+ "glossary": GlossaryManager,
94
+ "templates": TemplateManager,
95
+ "template_manager": TemplateManager,
96
+ "gov_officer": GovernanceOfficer,
97
+ "collections": CollectionManager,
98
+ "external_references": ExternalReferences,
99
+ "actor_manager": ActorManager,
100
+ "time_keeper": TimeKeeper,
101
+ "product_manager": ProductManager,
102
+ "location_arena": Location,
103
+ "data_discovery": DataDiscovery,
104
+ "data_engineer": DataEngineer,
105
+ "digital_business": DigitalBusiness,
106
+ "lineage_linker": LineageLinker,
107
+ "schema_maker": SchemaMaker,
108
+ "valid_types": ValidTypeLists,
109
+ "valid_type_lists": ValidTypeLists,
110
+ "valid_metadata_lists": ValidMetadataLists,
111
+ "action_author": ActionAuthor,
112
+ "asset_catalog": AssetCatalog,
113
+ "asset_maker": AssetMaker,
114
+ "community": CommunityMatters,
115
+ "community_matters": CommunityMatters,
116
+ "feedback": FeedbackManager,
117
+ "feedback_manager": FeedbackManager,
118
+ "my_profile": MyProfile,
119
+ "notifications": NotificationManager,
120
+ "notification_manager": NotificationManager,
121
+ "people_organizer": PeopleOrganizer,
122
+ "projects": ProjectManager,
123
+ "project_manager": ProjectManager,
124
+ "reference_data": ReferenceDataManager,
125
+ "specification_properties": SpecificationProperties,
126
+ "subject_area": SubjectArea,
127
+ "valid": ValidMetadataManager,
128
+ "valid_metadata": ValidMetadataManager,
129
+ }
130
+ self._instantiated_clients = {}
131
+ self.NO_ELEMENTS_FOUND = NO_ELEMENTS_FOUND
132
+
133
+ def _get_subclient(self, attr_name: str):
134
+ """Lazy-load and cache sub-clients."""
135
+ if attr_name not in self._instantiated_clients:
136
+ client_cls = self._subclient_map[attr_name]
137
+ self._instantiated_clients[attr_name] = client_cls(
138
+ self.view_server,
139
+ self.platform_url,
140
+ self.user_id,
141
+ self.user_pwd,
142
+ self.token,
143
+ )
144
+ return self._instantiated_clients[attr_name]
83
145
 
84
146
  def __getattr__(self, name):
85
- for sub in self._subclients:
86
- if hasattr(sub, name):
87
- return getattr(sub, name)
88
- raise AttributeError(f"{self.__class__.__name__!s} object has no attribute {name!r}")
147
+ """Delegate method calls to sub-clients, instantiating them on-demand."""
148
+ # Allow direct access to sub-clients if the name matches a key in the map
149
+ if name in self._subclient_map:
150
+ return self._get_subclient(name)
151
+
152
+ # Check already instantiated clients first for speed
153
+ for inst in self._instantiated_clients.values():
154
+ if hasattr(inst, name):
155
+ return getattr(inst, name)
156
+
157
+ # Look through the map for a class that provides this method
158
+ for attr_name, client_cls in self._subclient_map.items():
159
+ if hasattr(client_cls, name):
160
+ client = self._get_subclient(attr_name)
161
+ return getattr(client, name)
162
+
163
+ raise AttributeError(
164
+ f"{self.__class__.__name__!s} object has no attribute {name!r}"
165
+ )
89
166
 
90
167
  def create_egeria_bearer_token(self, user_id: str = None, user_pwd: str = None):
91
- token_val = None
92
- for sub in self._subclients:
93
- token_val = sub.create_egeria_bearer_token(user_id, user_pwd)
168
+ """Create token and synchronize it across all instantiated sub-clients."""
169
+ # Use a reliable sub-client to generate the token (e.g., collections)
170
+ helper = self._get_subclient("collections")
171
+ token_val = helper.create_egeria_bearer_token(user_id, user_pwd)
172
+ self.set_bearer_token(token_val)
94
173
  return token_val
95
174
 
96
175
  def set_bearer_token(self, token: str) -> None:
97
- for sub in self._subclients:
176
+ """Update token for the tech client and all active sub-clients."""
177
+ self.token = token
178
+ for sub in self._instantiated_clients.values():
98
179
  sub.set_bearer_token(token)
99
180
 
100
181
  def get_token(self) -> str:
101
- for sub in self._subclients:
182
+ """Retrieve the current token from state or an active sub-client."""
183
+ if self.token:
184
+ return self.token
185
+ for sub in self._instantiated_clients.values():
102
186
  if hasattr(sub, "get_token"):
103
187
  return sub.get_token()
104
188
  return None
105
189
 
106
190
  def close_session(self) -> None:
107
- for sub in self._subclients:
191
+ """Close sessions for all sub-clients that were instantiated."""
192
+ for sub in self._instantiated_clients.values():
108
193
  if hasattr(sub, "close_session"):
109
194
  try:
110
195
  sub.close_session()
111
196
  except Exception:
112
197
  pass
198
+ self._instantiated_clients.clear()
199
+
113
200
 
114
201
  if __name__ == "__main__":
115
202
  print("Main-Tech Client")
@@ -0,0 +1,150 @@
1
+ # Model Imports
2
+ from pyegeria.models.models import (
3
+ MembershipStatus,
4
+ ValidStatusValues,
5
+ SequencingOrder,
6
+ DeleteMethod,
7
+ to_camel_case,
8
+ PyegeriaModel,
9
+ OpenMetadataRootProperties,
10
+ RelationshipBeanProperties,
11
+ ClassificationBeanProperties,
12
+ ReferenceableProperties,
13
+ RequestBody,
14
+ NewRelationshipRequestBody,
15
+ NewAttachmentRequestBody,
16
+ DeleteRequestBody,
17
+ DeleteElementRequestBody,
18
+ DeleteRelationshipRequestBody,
19
+ DeleteClassificationRequestBody,
20
+ InitialClassifications,
21
+ NewElementRequestBody,
22
+ NewClassificationRequestBody,
23
+ UpdateClassificationRequestBody,
24
+ UpdateRelationshipRequestBody,
25
+ TemplateRequestBody,
26
+ UpdateElementRequestBody,
27
+ UpdatePropertiesRequestBody,
28
+ MetadataSourceRequestBody,
29
+ UpdateEffectivityDatesRequestBody,
30
+ OpenMetadataDeleteRequestBody,
31
+ ArchiveRequestBody,
32
+ NewOpenMetadataElementRequestBody,
33
+ NewRelatedElementsRequestBody,
34
+ GetRequestBody,
35
+ ResultsRequestBody,
36
+ LevelIdentifierQueryBody,
37
+ FilterRequestBody,
38
+ SearchStringRequestBody,
39
+ FindRequestBody,
40
+ FindPropertyNamesRequestBody,
41
+ DeploymentStatusSearchString,
42
+ DeploymentStatusFilterRequestBody,
43
+ ContentStatusSearchString,
44
+ ContentStatusFilterRequestBody,
45
+ ActivityStatusSearchString,
46
+ ActivityStatusFilterRequestBody,
47
+ ActivityStatusRequestBody,
48
+ ActionRequestBody,
49
+ get_defined_fields,
50
+ get_defined_field_values,
51
+ TypeInfo,
52
+ OriginInfo,
53
+ VersionInfo,
54
+ AnchorClassificationProperties,
55
+ SubjectAreaClassificationProperties,
56
+ CanonicalVocabularyClassificationProperties,
57
+ ElementClassification,
58
+ CollectionProperties,
59
+ GlossaryProperties,
60
+ ElementHeader,
61
+ RelatedElement,
62
+ AssociatedGlossaryItem,
63
+ OpenMetadataRootElement,
64
+ )
65
+ from pyegeria.core._exceptions import (
66
+ PyegeriaException,
67
+ PyegeriaConnectionException,
68
+ PyegeriaInvalidParameterException,
69
+ PyegeriaClientException,
70
+ PyegeriaAPIException,
71
+ PyegeriaUnauthorizedException,
72
+ PyegeriaNotFoundException,
73
+ PyegeriaUnknownException,
74
+ )
75
+
76
+ __all__ = [
77
+ # Enums
78
+ "MembershipStatus",
79
+ "ValidStatusValues",
80
+ "SequencingOrder",
81
+ "DeleteMethod",
82
+ # Utilities
83
+ "to_camel_case",
84
+ "get_defined_fields",
85
+ "get_defined_field_values",
86
+ # Models
87
+ "PyegeriaModel",
88
+ "OpenMetadataRootProperties",
89
+ "RelationshipBeanProperties",
90
+ "ClassificationBeanProperties",
91
+ "ReferenceableProperties",
92
+ "RequestBody",
93
+ "NewRelationshipRequestBody",
94
+ "NewAttachmentRequestBody",
95
+ "DeleteRequestBody",
96
+ "DeleteElementRequestBody",
97
+ "DeleteRelationshipRequestBody",
98
+ "DeleteClassificationRequestBody",
99
+ "InitialClassifications",
100
+ "NewElementRequestBody",
101
+ "NewClassificationRequestBody",
102
+ "UpdateClassificationRequestBody",
103
+ "UpdateRelationshipRequestBody",
104
+ "TemplateRequestBody",
105
+ "UpdateElementRequestBody",
106
+ "UpdatePropertiesRequestBody",
107
+ "MetadataSourceRequestBody",
108
+ "UpdateEffectivityDatesRequestBody",
109
+ "OpenMetadataDeleteRequestBody",
110
+ "ArchiveRequestBody",
111
+ "NewOpenMetadataElementRequestBody",
112
+ "NewRelatedElementsRequestBody",
113
+ "GetRequestBody",
114
+ "ResultsRequestBody",
115
+ "LevelIdentifierQueryBody",
116
+ "FilterRequestBody",
117
+ "SearchStringRequestBody",
118
+ "FindRequestBody",
119
+ "FindPropertyNamesRequestBody",
120
+ "DeploymentStatusSearchString",
121
+ "DeploymentStatusFilterRequestBody",
122
+ "ContentStatusSearchString",
123
+ "ContentStatusFilterRequestBody",
124
+ "ActivityStatusSearchString",
125
+ "ActivityStatusFilterRequestBody",
126
+ "ActivityStatusRequestBody",
127
+ "ActionRequestBody",
128
+ "TypeInfo",
129
+ "OriginInfo",
130
+ "VersionInfo",
131
+ "AnchorClassificationProperties",
132
+ "SubjectAreaClassificationProperties",
133
+ "CanonicalVocabularyClassificationProperties",
134
+ "ElementClassification",
135
+ "CollectionProperties",
136
+ "GlossaryProperties",
137
+ "ElementHeader",
138
+ "RelatedElement",
139
+ "AssociatedGlossaryItem",
140
+ "OpenMetadataRootElement",
141
+ # Exceptions
142
+ "PyegeriaException",
143
+ "PyegeriaConnectionException",
144
+ "PyegeriaInvalidParameterException",
145
+ "PyegeriaClientException",
146
+ "PyegeriaAPIException",
147
+ "PyegeriaUnauthorizedException",
148
+ "PyegeriaNotFoundException",
149
+ "PyegeriaUnknownException",
150
+ ]
@@ -242,7 +242,8 @@ class NewRelationshipRequestBody(RequestBody):
242
242
  class_: Annotated[Literal["NewRelationshipRequestBody"], Field(alias="class")]
243
243
  make_anchor: bool | None = False
244
244
  anchor_scope_guid: str | None = None
245
- properties: dict | RelationshipBeanProperties | None = None
245
+ properties: dict | None = None
246
+ relationship_properties: dict | None = Field(default=None, alias="relationshipProperties")
246
247
 
247
248
 
248
249
  class DeleteRequestBody(RequestBody):
@@ -253,6 +254,17 @@ class DeleteRequestBody(RequestBody):
253
254
  archive_process: str | None = None
254
255
  archive_properties: dict | None = None
255
256
 
257
+ class DeleteElementRequestBody(RequestBody):
258
+ class_: Annotated[Literal["DeleteElementRequestBody"], Field(alias="class")]
259
+
260
+
261
+ class DeleteRelationshipRequestBody(RequestBody):
262
+ class_: Annotated[Literal["DeleteRelationshipRequestBody"], Field(alias="class")]
263
+
264
+
265
+ class DeleteClassificationRequestBody(RequestBody):
266
+ class_: Annotated[Literal["DeleteClassificationRequestBody"], Field(alias="class")]
267
+
256
268
 
257
269
  class InitialClassifications(PyegeriaModel):
258
270
  class_: str = Field(alias="class"),
@@ -271,17 +283,31 @@ class InitialClassifications(PyegeriaModel):
271
283
  }
272
284
 
273
285
 
286
+ class NewAttachmentRequestBody(RequestBody):
287
+ class_: Annotated[Literal["NewAttachmentRequestBody"], Field(alias="class")]
288
+ initial_classifications: Dict[str, InitialClassifications] | None = None
289
+ parent_relationship_properties: dict | None = None
290
+ properties: dict | None = None
291
+ external_source_guid: str | None = None
292
+ external_source_name: str | None = None
293
+ effective_time: datetime | None = None
294
+ for_lineage: bool | None = False
295
+ for_duplicate_processing: bool | None = False
296
+
297
+
274
298
  class NewElementRequestBody(RequestBody):
275
299
  class_: Annotated[Literal["NewElementRequestBody"], Field(alias="class")]
276
300
  anchor_guid: str | None = None
277
301
  is_own_anchor: bool | None = True
278
302
  anchor_scope_guid: str | None = None
279
303
  initial_classifications: Dict[str, InitialClassifications] | None = None
280
- initial_status: ValidStatusValues | str= ValidStatusValues.ACTIVE
304
+ # initial_status: ValidStatusValues | str= ValidStatusValues.ACTIVE
305
+ parent_relationship_properties: dict | None = None
306
+ properties: dict | None = None
281
307
  parent_guid: str | None = None
282
308
  parent_relationship_type_name: str | None = None
283
309
  parent_at_end_1: bool | None = True
284
- properties: dict | None = None
310
+ properties: dict | None =None
285
311
 
286
312
 
287
313
  class NewClassificationRequestBody(RequestBody):
@@ -312,7 +338,7 @@ class TemplateRequestBody(PyegeriaModel):
312
338
  parent_at_end_1: bool | None = True
313
339
  template_guid: str
314
340
  replacement_properties: dict[str, Any] = {}
315
- placeholder_properties: dict[str, Any] = {}
341
+ placeholder_property_values: dict[str, Any] = {}
316
342
  deep_copy: bool | None = False
317
343
  effective_from: datetime | None = None
318
344
  effective_to: datetime | None = None
@@ -324,21 +350,64 @@ class UpdateElementRequestBody(PyegeriaModel):
324
350
  class_: Annotated[Literal["UpdateElementRequestBody"], Field(alias="class")]
325
351
  properties: dict[str, Any] = {}
326
352
  merge_update: bool | None = True
327
- external_source_guid: str | None = None
328
- external_source_name: str | None = None
329
- effective_time: datetime | None = None
330
- for_lineage: bool | None = False
331
- for_duplicate_processing: bool | None = False
332
353
 
333
354
 
334
- class UpdateStatusRequestBody(PyegeriaModel):
335
- class_: Annotated[Literal["UpdateStatusRequestBody"], Field(alias="class")]
336
- new_status: str
337
- external_source_guid: str | None = None
338
- external_source_name: str | None = None
339
- effective_time: datetime | None = None
340
- for_lineage: bool | None = False
341
- for_duplicate_processing: bool | None = False
355
+ class UpdatePropertiesRequestBody(RequestBody):
356
+ class_: Annotated[Literal["UpdatePropertiesRequestBody"], Field(alias="class")]
357
+ properties: dict | None = None
358
+ replace_properties: bool | None = False
359
+
360
+
361
+ class MetadataSourceRequestBody(RequestBody):
362
+ class_: Annotated[Literal["MetadataSourceRequestBody"], Field(alias="class")]
363
+
364
+
365
+ class UpdateEffectivityDatesRequestBody(RequestBody):
366
+ class_: Annotated[Literal["UpdateEffectivityDatesRequestBody"], Field(alias="class")]
367
+ effective_from: datetime | None = None
368
+ effective_to: datetime | None = None
369
+
370
+
371
+ class OpenMetadataDeleteRequestBody(RequestBody):
372
+ class_: Annotated[Literal["OpenMetadataDeleteRequestBody"], Field(alias="class")]
373
+
374
+
375
+ class ArchiveRequestBody(RequestBody):
376
+ class_: Annotated[Literal["ArchiveRequestBody"], Field(alias="class")]
377
+ archive_properties: dict | None = None
378
+
379
+
380
+ class NewOpenMetadataElementRequestBody(RequestBody):
381
+ class_: Annotated[Literal["NewOpenMetadataElementRequestBody"], Field(alias="class")]
382
+ type_name: str | None = None
383
+ initial_classifications: Dict[str, InitialClassifications] | None = None
384
+ anchor_guid: str | None = None
385
+ is_own_anchor: bool | None = False
386
+ effective_from: datetime | None = None
387
+ effective_to: datetime | None = None
388
+ properties: dict | None = None
389
+ parent_guid: str | None = None
390
+ parent_relationship_type_name: str | None = None
391
+ parent_relationship_properties: dict | None = None
392
+ parent_at_end_1: bool | None = True
393
+
394
+
395
+ class NewRelatedElementsRequestBody(RequestBody):
396
+ class_: Annotated[Literal["NewRelatedElementsRequestBody"], Field(alias="class")]
397
+ relationship_type_name: str | None = None
398
+ end_1_guid: str | None = None
399
+ end_2_guid: str | None = None
400
+ properties: dict | None = None
401
+
402
+
403
+ # class UpdateStatusRequestBody(PyegeriaModel):
404
+ # class_: Annotated[Literal["UpdateStatusRequestBody"], Field(alias="class")]
405
+ # new_status: str
406
+ # external_source_guid: str | None = None
407
+ # external_source_name: str | None = None
408
+ # effective_time: datetime | None = None
409
+ # for_lineage: bool | None = False
410
+ # for_duplicate_processing: bool | None = False
342
411
 
343
412
 
344
413
  class GetRequestBody(PyegeriaModel):
@@ -355,21 +424,27 @@ class GetRequestBody(PyegeriaModel):
355
424
  effective_time: datetime | None = None
356
425
  for_lineage: bool | None = False
357
426
  for_duplicate_processing: bool | None = False
358
- relationship_page_size: int | None = None
427
+ relationship_page_size: int = 0
359
428
 
360
429
 
361
430
  class ResultsRequestBody(GetRequestBody):
362
431
  class_: Annotated[Literal["ResultsRequestBody"], Field(alias="class")]
363
- limit_results_by_status: list[ValidStatusValues] | None= None
432
+ limit_results_by_status: list[ValidStatusValues] | None= None # header status
433
+ relationships_page_size: int = 0
364
434
  anchor_guid: str | None = None
365
435
  sequencing_order: SequencingOrder | None = None
366
436
  sequencing_property: str | None = None
367
437
  start_from: int = 0
368
438
  page_size: int = 0
369
439
 
440
+ class LevelIdentifierQueryBody(ResultsRequestBody):
441
+ class_: Annotated[Literal["LevelIdentifierQueryProperties"], Field(alias="class")]
442
+ return_specific_level: bool = True
443
+ level_identifier: int
444
+
370
445
  class FilterRequestBody(ResultsRequestBody):
371
446
  class_: Annotated[Literal["FilterRequestBody"], Field(alias="class")]
372
- filter: str
447
+ filter_string: Annotated[str, Field(alias="filter")]
373
448
 
374
449
 
375
450
  class SearchStringRequestBody(ResultsRequestBody):
@@ -380,6 +455,67 @@ class SearchStringRequestBody(ResultsRequestBody):
380
455
  ignore_case: bool = False
381
456
 
382
457
 
458
+ class FindRequestBody(ResultsRequestBody):
459
+ class_: Annotated[Literal["FindRequestBody"], Field(alias="class")]
460
+ metadata_element_type_name: str | None = Field(None, alias="metadataElementTypeName")
461
+ metadata_element_subtype_names: list[str] | None = Field(
462
+ None, alias="metadataElementSubtypeNames"
463
+ )
464
+ search_properties: dict | None = Field(None, alias="searchProperties")
465
+ match_classifications: dict | None = Field(None, alias="matchClassifications")
466
+ as_of_time: datetime | None = Field(None, alias="asOfTime")
467
+ effective_time: datetime | None = Field(None, alias="effectiveTime")
468
+
469
+
470
+ class FindPropertyNamesRequestBody(ResultsRequestBody):
471
+ class_: Annotated[Literal["FindPropertyNamesProperties"], Field(alias="class")]
472
+ property_value: str | None = None
473
+ property_names: list[str] | None = None
474
+
475
+
476
+ class DeploymentStatusSearchString(SearchStringRequestBody):
477
+ class_: Annotated[Literal["DeploymentStatusSearchString"], Field(alias="class")]
478
+ deployment_status: Optional[str] = Field(None, alias="deploymentStatus")
479
+
480
+
481
+ class DeploymentStatusFilterRequestBody(FilterRequestBody):
482
+ class_: Annotated[Literal["DeploymentStatusFilterRequestBody"], Field(alias="class")]
483
+ deployment_status: Optional[str] = Field(None, alias="deploymentStatus")
484
+
485
+
486
+ class ContentStatusSearchString(SearchStringRequestBody):
487
+ class_: Annotated[Literal["ContentStatusSearchString"], Field(alias="class")]
488
+ content_status: Optional[str] = Field(None, alias="contentStatus")
489
+
490
+
491
+ class ContentStatusFilterRequestBody(FilterRequestBody):
492
+ class_: Annotated[Literal["ContentStatusFilterRequestBody"], Field(alias="class")]
493
+ content_status: Optional[str] = Field(None, alias="contentStatus")
494
+
495
+
496
+ class ActivityStatusSearchString(SearchStringRequestBody):
497
+ class_: Annotated[Literal["ActivityStatusSearchString"], Field(alias="class")]
498
+ activity_status: Optional[str] = Field(None, alias="activityStatus")
499
+
500
+
501
+ class ActivityStatusFilterRequestBody(FilterRequestBody):
502
+ class_: Annotated[Literal["ActivityStatusFilterRequestBody"], Field(alias="class")]
503
+ activity_status: Optional[str] = Field(None, alias="activityStatus")
504
+
505
+
506
+ class ActivityStatusRequestBody(ResultsRequestBody):
507
+ class_: Annotated[Literal["ActivityStatusRequestBody"], Field(alias="class")]
508
+ activity_status: Optional[str] = Field(None, alias="activityStatus")
509
+
510
+
511
+ class ActionRequestBody(RequestBody):
512
+ class_: Annotated[Literal["ActionRequestBody"], Field(alias="class")]
513
+ properties: Optional[dict] = None
514
+ action_sponsor_guid: Optional[str] = Field(None, alias="actionSponsorGUID")
515
+ action_executor_guid: Optional[str] = Field(None, alias="actionExecutorGUID")
516
+ action_target_guids: Optional[list[str]] = Field(None, alias="actionTargetGUIDs")
517
+
518
+
383
519
 
384
520
  #######
385
521
  # This gets only the fields in the most specific model