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
@@ -23,41 +23,24 @@ from rich.table import Table
23
23
  from rich.text import Text
24
24
 
25
25
  from pyegeria import (
26
- InvalidParameterException,
27
- PropertyServerException,
26
+ PyegeriaAPIException, PyegeriaClientException,
28
27
  RuntimeManager,
29
- UserNotAuthorizedException,
30
- print_exception_response,
28
+ print_basic_exception,
29
+ settings,
30
+ config_logging, PyegeriaException
31
31
  )
32
32
 
33
- EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
34
- EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
35
- EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
36
- EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
37
- EGERIA_VIEW_SERVER_URL = os.environ.get(
38
- "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
39
- )
40
- EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
41
- EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
42
- "EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
43
- )
44
- EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
45
- EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
33
+
46
34
  EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
47
35
  EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
48
- EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
49
- EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
50
-
51
-
52
- def display_servers_by_dep_imp(
53
- filter: str = "*",
54
- view_server: str = EGERIA_VIEW_SERVER,
55
- view_url: str = EGERIA_VIEW_SERVER_URL,
56
- user: str = EGERIA_USER,
57
- user_pass: str = EGERIA_USER_PASSWORD,
58
- jupyter: bool = EGERIA_JUPYTER,
59
- width: int = EGERIA_WIDTH,
60
- ):
36
+ app_config = settings.Environment
37
+ # config_logging()
38
+
39
+
40
+ def display_servers_by_dep_imp(search_string: str = "*", view_server: str = app_config.egeria_view_server,
41
+ view_url: str = app_config.egeria_view_server_url, user: str = EGERIA_USER,
42
+ user_pass: str = EGERIA_USER_PASSWORD, jupyter: bool = app_config.egeria_jupyter,
43
+ width: int = app_config.console_width):
61
44
  p_client = RuntimeManager(view_server, view_url, user, user_pass)
62
45
  token = p_client.create_egeria_bearer_token()
63
46
 
@@ -81,7 +64,7 @@ def display_servers_by_dep_imp(
81
64
  table.add_column("Description")
82
65
  table.add_column("Qualified Name & GUID", no_wrap=True)
83
66
 
84
- unsorted_server_list = p_client.get_servers_by_dep_impl_type(filter)
67
+ unsorted_server_list = p_client.get_servers_by_dep_impl_type(search_string)
85
68
  if type(unsorted_server_list) is str:
86
69
  print("No matching Software Servers found?")
87
70
  sys.exit(1)
@@ -95,21 +78,21 @@ def display_servers_by_dep_imp(
95
78
  qualified_name = server["properties"].get("qualifiedName", "---")
96
79
  classifications = server["elementHeader"].get("classifications", None)
97
80
  zones = ""
98
- if classifications:
99
- for clas in classifications:
100
- if clas["classificationName"] == "AssetZoneMembership":
101
- classification_props = clas["classificationProperties"]
102
- zone_membership = classification_props.get(
103
- "zoneMembership", None
104
- )
105
- if zone_membership:
106
- for z in zone_membership.keys():
107
- zones += f"{zone_membership[z]}, "
108
- zones = zones[:-2]
81
+ # if classifications:
82
+ # for clas in classifications:
83
+ # if clas["classificationName"] == "AssetZoneMembership":
84
+ # classification_props = clas["classificationProperties"]
85
+ # zone_membership = classification_props.get(
86
+ # "zoneMembership", None
87
+ # )
88
+ # if zone_membership:
89
+ # for z in zone_membership.keys():
90
+ # zones += f"{zone_membership[z]}, "
91
+ # zones = zones[:-2]
109
92
 
110
93
  impl_type = server["properties"].get("deployedImplementationType", "---")
111
94
  server_guid = server["elementHeader"]["guid"]
112
- server_desc = server["properties"].get("resourceDescription", "---")
95
+ server_desc = server["properties"].get("description", "---")
113
96
 
114
97
  server_id = Text(f"{qualified_name}\n&\n{server_guid}", justify="center")
115
98
 
@@ -124,11 +107,9 @@ def display_servers_by_dep_imp(
124
107
  console.print(generate_table())
125
108
 
126
109
  except (
127
- InvalidParameterException,
128
- PropertyServerException,
129
- UserNotAuthorizedException,
110
+ PyegeriaException
130
111
  ) as e:
131
- print_exception_response(e)
112
+ print_basic_exception(e)
132
113
  except KeyboardInterrupt:
133
114
  pass
134
115
  finally:
@@ -138,20 +119,20 @@ def display_servers_by_dep_imp(
138
119
  def main():
139
120
  parser = argparse.ArgumentParser()
140
121
 
141
- parser.add_argument("--server", help="Name of the server to display status for")
122
+ parser.add_argument("--server", help="Name of the view server")
142
123
  parser.add_argument("--url", help="URL Platform to connect to")
143
124
  parser.add_argument("--userid", help="User Id")
144
125
  parser.add_argument("--password", help="User Password")
145
126
  args = parser.parse_args()
146
127
 
147
- server = args.server if args.server is not None else EGERIA_VIEW_SERVER
148
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
149
- userid = args.userid if args.userid is not None else EGERIA_ADMIN_USER
128
+ server = args.server if args.server is not None else app_config.egeria_view_server
129
+ url = args.url if args.url is not None else app_config.egeria_view_server_url
130
+ userid = args.userid if args.userid is not None else EGERIA_USER
150
131
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
151
- filter = Prompt.ask(
152
- "Filter deployed for deployed implementation type by search string", default="*"
132
+ filter_string = Prompt.ask(
133
+ "Name of deployed server type", default="View Server"
153
134
  )
154
- display_servers_by_dep_imp(filter, server, url, userid, user_pass)
135
+ display_servers_by_dep_imp(filter_string, server, url, userid, user_pass)
155
136
 
156
137
 
157
138
  if __name__ == "__main__":
@@ -10,7 +10,6 @@ A simple display for glossary terms
10
10
  """
11
11
  import argparse
12
12
  import os
13
- import sys
14
13
  import time
15
14
 
16
15
  from rich import box
@@ -22,10 +21,7 @@ from rich.text import Text
22
21
 
23
22
  from pyegeria import (
24
23
  EgeriaTech,
25
- InvalidParameterException,
26
- PropertyServerException,
27
- UserNotAuthorizedException,
28
- print_exception_response,
24
+ PyegeriaAPIException, PyegeriaClientException, print_basic_exception, print_exception_table
29
25
  )
30
26
 
31
27
  disable_ssl_warnings = True
@@ -134,30 +130,35 @@ def display_glossaries(
134
130
  glossaries = m_client.find_glossaries(search_string)
135
131
  if type(glossaries) is list:
136
132
  sorted_glossary_list = sorted(
137
- glossaries, key=lambda k: k["glossaryProperties"]["displayName"]
133
+ glossaries,
134
+ key=lambda k: k.get("properties", {}).get("displayName",
135
+ k.get("properties", {}).get("qualifiedName", ""))
136
+
138
137
  )
139
138
  for glossary in sorted_glossary_list:
140
- display_name = glossary["glossaryProperties"].get("displayName",'---')
141
- qualified_name = glossary["glossaryProperties"]["qualifiedName"]
139
+ display_name = glossary["properties"].get("displayName",'---')
140
+ qualified_name = glossary["properties"]["qualifiedName"]
142
141
  guid = glossary["elementHeader"]["guid"]
143
142
  q_name = Text(f"{qualified_name}\n&\n{guid}", justify="center")
144
- language = glossary["glossaryProperties"].get("language",'---')
145
- description = glossary["glossaryProperties"].get("description",'---')
146
- usage = glossary["glossaryProperties"].get("usage",'---')
143
+ language = glossary["properties"].get("language",'---')
144
+ description = glossary["properties"].get("description",'---')
145
+ usage = glossary["properties"].get("usage",'---')
147
146
 
148
- categories = m_client.get_categories_for_glossary(guid)
147
+ members = glossary.get("collectionMembers", [])
149
148
  cat_md = ''
150
- if type(categories) is list:
151
- for category in categories:
152
- cat_md += f"* {category['glossaryCategoryProperties'][('displayName')]}\n"
149
+ if type(members) is list:
150
+ for member in members:
151
+ if member['relatedElement'
152
+ ]["elementHeader"]["type"]['typeName'] == "CollectionFolder":
153
+ cat_md += f'* {member.get("relatedElement",{}).get("properties",{}).get("qualifiedName","")}\n'
153
154
  cat_md = cat_md.strip()
154
155
 
155
156
  table.add_row(display_name, q_name, language, description, usage, Markdown(cat_md))
156
157
 
157
158
  console.print(table)
158
159
 
159
- except (InvalidParameterException, PropertyServerException) as e:
160
- print_exception_response(e)
160
+ except (PyegeriaAPIException, PyegeriaClientException) as e:
161
+ print_basic_exception(e)
161
162
  finally:
162
163
  m_client.close_session()
163
164
 
@@ -21,11 +21,9 @@ from rich.table import Table
21
21
 
22
22
  from pyegeria import (
23
23
  ClassificationManager,
24
- InvalidParameterException,
25
24
  ProjectManager,
26
- PropertyServerException,
27
- UserNotAuthorizedException,
28
- print_exception_response,
25
+ PyegeriaAPIException, PyegeriaClientException,
26
+ print_basic_exception, print_validation_error,
29
27
  )
30
28
 
31
29
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
@@ -100,7 +98,8 @@ def display_project_list(
100
98
  end = " "
101
99
  description = " "
102
100
  elif type(projects) == str:
103
- raise ValueError("-->This is not a known project")
101
+ print("-->This is not a known project")
102
+ exit(0)
104
103
  else:
105
104
  sorted_projects = sorted(
106
105
  projects, key=lambda k: k["properties"].get("name", "---")
@@ -110,7 +109,7 @@ def display_project_list(
110
109
  classification = ""
111
110
  guid = project["elementHeader"]["guid"]
112
111
  props = project["properties"]
113
- name = props.get("name", "None")
112
+ name = props.get("displayName", "---")
114
113
  p_class = project["elementHeader"].get("classifications")
115
114
  if p_class:
116
115
  for classif in p_class:
@@ -141,9 +140,10 @@ def display_project_list(
141
140
  if type(certified) is list:
142
141
  for rel_elem in certified:
143
142
  p_name = rel_elem["relatedElement"]["properties"][
144
- "name"
143
+ "displayName"
145
144
  ]
146
145
  certified_partner += f"* {p_name}\n"
146
+
147
147
  else:
148
148
  certified_partner = "---"
149
149
 
@@ -178,15 +178,13 @@ def display_project_list(
178
178
  console.save_html("projects.html")
179
179
 
180
180
  except (
181
- InvalidParameterException,
182
- PropertyServerException,
183
- UserNotAuthorizedException,
184
- ValueError,
181
+ PyegeriaException,
185
182
  ) as e:
186
183
  if type(e) is str:
187
184
  print(e)
188
185
  else:
189
- print_exception_response(e)
186
+ print_basic_exception(e)
187
+
190
188
  except KeyboardInterrupt:
191
189
  pass
192
190
  finally:
@@ -20,33 +20,17 @@ from rich.table import Table
20
20
 
21
21
  from pyegeria import (
22
22
  AutomatedCuration,
23
- InvalidParameterException,
24
- PropertyServerException,
25
- UserNotAuthorizedException,
26
- print_exception_response,
23
+ PyegeriaAPIException, PyegeriaClientException,
24
+ print_basic_exception,
25
+ settings,
26
+ config_logging
27
27
  )
28
28
 
29
- EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
30
- EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
31
- EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
32
- EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
33
- EGERIA_VIEW_SERVER_URL = os.environ.get(
34
- "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
35
- )
36
- EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
37
- EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
38
- EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
39
29
  EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
40
30
  EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
41
- EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
42
- EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
43
-
44
-
45
- disable_ssl_warnings = True
46
- console = Console(width=200)
47
-
48
- guid_list = []
49
31
 
32
+ app_config = settings.Environment
33
+ config_logging()
50
34
 
51
35
  def list_tech_elements(
52
36
  tech_name: str,
@@ -54,8 +38,8 @@ def list_tech_elements(
54
38
  platform_url: str,
55
39
  user: str,
56
40
  user_pass: str,
57
- jupyter: bool = EGERIA_JUPYTER,
58
- width: int = EGERIA_WIDTH,
41
+ jupyter: bool = app_config.egeria_jupyter,
42
+ width: int = app_config.console_width,
59
43
  ):
60
44
  console = Console(width=width, force_terminal=not jupyter)
61
45
 
@@ -99,9 +83,8 @@ def list_tech_elements(
99
83
  table.add_column("Properties", width=40)
100
84
  table.add_column("Classifications", width=50)
101
85
 
102
- tech_elements = a_client.get_technology_type_elements(
103
- tech_name, get_templates=False
104
- )
86
+ tech_elements = a_client.get_technology_type_elements(tech_name, get_templates=False, output_format="JSON",
87
+ report_spec="Tech-Type-Elements")
105
88
  if type(tech_elements) is str:
106
89
  console.print(f"No elements found for {tech_name}")
107
90
  sys.exit(1)
@@ -114,10 +97,10 @@ def list_tech_elements(
114
97
  tech_created_by = header["versions"]["createdBy"]
115
98
  tech_created_at = header["versions"]["createTime"]
116
99
  tech_guid = header["guid"]
117
- tech_classifications = header["classifications"]
100
+ tech_classifications = header["otherClassifications"]
118
101
  class_md = build_classifications(tech_classifications)
119
102
 
120
- referenceables = element["referenceableProperties"]
103
+ referenceables = element["properties"]
121
104
  tech_qualified_name = referenceables["qualifiedName"]
122
105
  extended = referenceables["extendedProperties"]
123
106
  ex_md: str = ""
@@ -153,13 +136,12 @@ def list_tech_elements(
153
136
  with console.pager(styles=True):
154
137
  console.print(generate_table())
155
138
 
156
- except (
157
- InvalidParameterException,
158
- PropertyServerException,
159
- UserNotAuthorizedException,
160
- ) as e:
161
- print_exception_response(e)
139
+ except (PyegeriaAPIException, PyegeriaClientException) as e:
140
+ print_basic_exception(e)
162
141
  print("\n\nPerhaps the type name isn't known")
142
+ except Exception as e:
143
+ console.print(e)
144
+
163
145
  finally:
164
146
  a_client.close_session()
165
147
 
@@ -173,8 +155,8 @@ def main():
173
155
  parser.add_argument("--password", help="User Password")
174
156
  args = parser.parse_args()
175
157
 
176
- server = args.server if args.server is not None else EGERIA_VIEW_SERVER
177
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
158
+ server = args.server if args.server is not None else app_config.egeria_view_server
159
+ url = args.url if args.url is not None else app_config.egeria_view_server_url
178
160
  userid = args.userid if args.userid is not None else EGERIA_USER
179
161
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
180
162
  try:
@@ -184,6 +166,8 @@ def main():
184
166
  list_tech_elements(tech_name, server, url, userid, user_pass)
185
167
  except KeyboardInterrupt:
186
168
  pass
169
+ except Exception as e:
170
+ print(f"An error occurred: {e}")
187
171
 
188
172
 
189
173
  if __name__ == "__main__":
@@ -20,26 +20,16 @@ from rich.table import Table
20
20
 
21
21
  from pyegeria import (
22
22
  AutomatedCuration,
23
- InvalidParameterException,
24
- PropertyServerException,
25
- UserNotAuthorizedException,
26
- print_exception_response,
23
+ settings,
24
+ PyegeriaAPIException, PyegeriaClientException,
25
+ print_basic_exception
27
26
  )
28
27
 
29
- EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
30
- EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
31
- EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
32
- EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
33
- EGERIA_VIEW_SERVER_URL = os.environ.get(
34
- "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
35
- )
36
- EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
37
- EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
38
- EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
28
+
39
29
  EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
40
30
  EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
41
- EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
42
- EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
31
+ app_config = settings.Environment
32
+ # config_logging()
43
33
 
44
34
 
45
35
  disable_ssl_warnings = True
@@ -51,8 +41,8 @@ def display_tech_types(
51
41
  url: str,
52
42
  username: str,
53
43
  user_pass: str,
54
- jupyter: bool = EGERIA_JUPYTER,
55
- width: int = EGERIA_WIDTH,
44
+ jupyter: bool = app_config.egeria_jupyter,
45
+ width: int = app_config.console_width,
56
46
  ):
57
47
  a_client = AutomatedCuration(server, url, username)
58
48
  token = a_client.create_egeria_bearer_token(username, user_pass)
@@ -87,7 +77,7 @@ def display_tech_types(
87
77
  if "deployedImplementationType" not in item["qualifiedName"]:
88
78
  continue
89
79
  qualified_name = item.get("qualifiedName", " ")
90
- name = item.get("name", "none")
80
+ name = item.get("displayName", "none")
91
81
  category = item.get("category", "none")
92
82
  description = item.get("description", "none")
93
83
 
@@ -103,11 +93,9 @@ def display_tech_types(
103
93
  console.print(generate_table())
104
94
 
105
95
  except (
106
- InvalidParameterException,
107
- PropertyServerException,
108
- UserNotAuthorizedException,
96
+ PyegeriaException,
109
97
  ) as e:
110
- print_exception_response(e)
98
+ print_basic_exception(e)
111
99
  assert e.related_http_code != "200", "Invalid parameters"
112
100
  finally:
113
101
  a_client.close_session()
@@ -122,8 +110,8 @@ def main():
122
110
 
123
111
  args = parser.parse_args()
124
112
 
125
- server = args.server if args.server is not None else EGERIA_VIEW_SERVER
126
- url = args.url if args.url is not None else EGERIA_PLATFORM_URL
113
+ server = args.server if args.server is not None else app_config.egeria_view_server
114
+ url = args.url if args.url is not None else app_config.egeria_view_server_url
127
115
  userid = args.userid if args.userid is not None else EGERIA_USER
128
116
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
129
117