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.
- commands/__init__.py +24 -0
- commands/cat/Dr-Egeria_md-orig.py +2 -2
- commands/cat/collection_actions.py +197 -0
- commands/cat/dr_egeria_command_help.py +137 -38
- commands/cat/dr_egeria_jupyter.py +7 -7
- commands/cat/dr_egeria_md.py +10 -267
- commands/cat/exp_list_glossaries.py +11 -14
- commands/cat/get_asset_graph.py +37 -267
- commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
- commands/cat/get_project_dependencies.py +14 -14
- commands/cat/get_project_structure.py +15 -14
- commands/cat/get_tech_type_elements.py +16 -116
- commands/cat/glossary_actions.py +145 -298
- commands/cat/list_assets.py +3 -11
- commands/cat/list_cert_types.py +17 -63
- commands/cat/list_collections.py +17 -139
- commands/cat/list_deployed_catalogs.py +15 -27
- commands/cat/list_deployed_database_schemas.py +27 -43
- commands/cat/list_deployed_databases.py +16 -31
- commands/cat/list_deployed_servers.py +35 -54
- commands/cat/list_glossaries.py +18 -17
- commands/cat/list_projects.py +10 -12
- commands/cat/list_tech_type_elements.py +21 -37
- commands/cat/list_tech_types.py +13 -25
- commands/cat/list_terms.py +38 -79
- commands/cat/list_todos.py +4 -11
- commands/cat/list_user_ids.py +3 -10
- commands/cat/my_reports.py +559 -0
- commands/cat/run_report.py +394 -0
- commands/cat/{list_format_set.py → run_report_orig.py} +136 -44
- commands/cli/egeria.py +182 -219
- commands/cli/egeria_cat.py +32 -59
- commands/cli/egeria_my.py +13 -0
- commands/cli/egeria_ops.py +69 -74
- commands/cli/egeria_tech.py +17 -93
- commands/{cat → deprecated}/list_data_designer.py +2 -4
- commands/{cat → deprecated}/list_data_structures_full.py +3 -6
- commands/deprecated/old_get_asset_graph.py +315 -0
- commands/my/__init__.py +0 -2
- commands/my/list_my_profile.py +27 -34
- commands/my/list_my_roles.py +1 -7
- commands/my/monitor_my_todos.py +1 -7
- commands/my/monitor_open_todos.py +6 -7
- commands/my/todo_actions.py +4 -5
- commands/ops/__init__.py +0 -2
- commands/ops/gov_server_actions.py +17 -21
- commands/ops/list_archives.py +17 -38
- commands/ops/list_catalog_targets.py +33 -40
- commands/ops/load_archive.py +14 -11
- commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
- commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
- commands/ops/monitor_engine_activity.py +79 -77
- commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
- commands/ops/monitor_platform_status.py +38 -50
- commands/ops/monitor_server_startup.py +6 -11
- commands/ops/monitor_server_status.py +7 -11
- commands/ops/orig_monitor_server_list.py +8 -8
- commands/ops/orig_monitor_server_status.py +1 -5
- commands/ops/refresh_integration_daemon.py +5 -5
- commands/ops/restart_integration_daemon.py +5 -5
- commands/ops/table_integ_daemon_status.py +6 -6
- commands/ops/x_engine_actions.py +7 -7
- commands/tech/__init__.py +0 -2
- commands/tech/{generic_actions.py → element_actions.py} +6 -11
- commands/tech/get_element_info.py +20 -29
- commands/tech/get_guid_info.py +23 -42
- commands/tech/get_tech_details.py +20 -35
- commands/tech/get_tech_type_template.py +28 -39
- commands/tech/list_all_om_type_elements.py +24 -30
- commands/tech/list_all_om_type_elements_x.py +22 -28
- commands/tech/list_all_related_elements.py +19 -28
- commands/tech/list_anchored_elements.py +22 -30
- commands/tech/list_asset_types.py +19 -24
- commands/tech/list_elements_by_classification_by_property_value.py +26 -32
- commands/tech/list_elements_by_property_value.py +19 -25
- commands/tech/list_elements_by_property_value_x.py +20 -28
- commands/tech/list_elements_for_classification.py +28 -41
- commands/tech/list_gov_action_processes.py +16 -27
- commands/tech/list_information_supply_chains.py +22 -30
- commands/tech/list_registered_services.py +14 -26
- commands/tech/list_related_elements_with_prop_value.py +15 -25
- commands/tech/list_related_specification.py +1 -4
- commands/tech/list_relationship_types.py +15 -25
- commands/tech/list_relationships.py +20 -36
- commands/tech/list_solution_blueprints.py +28 -33
- commands/tech/list_solution_components.py +23 -29
- commands/tech/list_solution_roles.py +21 -32
- commands/tech/list_tech_templates.py +51 -54
- commands/tech/list_valid_metadata_values.py +5 -9
- commands/tech/table_tech_templates.py +2 -6
- commands/tech/x_list_related_elements.py +1 -4
- examples/GeoSpatial Products Example.py +524 -0
- examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
- examples/Jupyter Notebooks/README.md +2 -0
- examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
- examples/Jupyter Notebooks/common/__init__.py +14 -0
- examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
- examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
- examples/Jupyter Notebooks/common/globals.ipynb +184 -0
- examples/Jupyter Notebooks/common/globals.py +154 -0
- examples/Jupyter Notebooks/common/orig_globals.py +152 -0
- examples/format_sets/all_format_sets.json +910 -0
- examples/format_sets/custom_format_sets.json +268 -0
- examples/format_sets/subset_format_sets.json +187 -0
- examples/format_sets_save_load_example.py +291 -0
- examples/jacquard_data_sets.py +129 -0
- examples/output_formats_example.py +193 -0
- examples/test_jacquard_data_sets.py +54 -0
- examples/test_jacquard_data_sets_scenarios.py +94 -0
- md_processing/__init__.py +33 -24
- md_processing/command_dispatcher.py +33 -0
- md_processing/command_mapping.py +221 -0
- md_processing/data/commands/commands_data_designer.json +537 -0
- md_processing/data/commands/commands_external_reference.json +733 -0
- md_processing/data/commands/commands_feedback.json +155 -0
- md_processing/data/commands/commands_general.json +204 -0
- md_processing/data/commands/commands_glossary.json +218 -0
- md_processing/data/commands/commands_governance.json +3678 -0
- md_processing/data/commands/commands_product_manager.json +865 -0
- md_processing/data/commands/commands_project.json +642 -0
- md_processing/data/commands/commands_solution_architect.json +366 -0
- md_processing/data/commands.json +6489 -30060
- md_processing/data/{commands-working.json → commands_working.json} +9304 -13513
- md_processing/data/gened_report_specs.py +6584 -0
- md_processing/data/generated_format_sets.json +6533 -0
- md_processing/data/generated_format_sets_old.json +4137 -0
- md_processing/data/generated_format_sets_old.py +45 -0
- md_processing/dr_egeria.py +182 -0
- md_processing/md_commands/data_designer_commands.py +195 -583
- md_processing/md_commands/ext_ref_commands.py +530 -0
- md_processing/md_commands/feedback_commands.py +726 -0
- md_processing/md_commands/glossary_commands.py +106 -490
- md_processing/md_commands/governance_officer_commands.py +129 -18
- md_processing/md_commands/product_manager_commands.py +362 -115
- md_processing/md_commands/project_commands.py +351 -134
- md_processing/md_commands/solution_architect_commands.py +276 -232
- md_processing/md_commands/view_commands.py +295 -0
- md_processing/md_processing_utils/common_md_proc_utils.py +258 -166
- md_processing/md_processing_utils/common_md_utils.py +138 -43
- md_processing/md_processing_utils/determine_width.py +103 -0
- md_processing/md_processing_utils/extraction_utils.py +100 -39
- md_processing/md_processing_utils/gen_report_specs.py +643 -0
- md_processing/md_processing_utils/generate_dr_help.py +61 -33
- md_processing/md_processing_utils/generate_md_cmd_templates.py +20 -19
- md_processing/md_processing_utils/generate_md_templates.py +3 -12
- md_processing/md_processing_utils/md_processing_constants.py +1053 -72
- pyegeria/__init__.py +203 -158
- pyegeria/core/__init__.py +40 -0
- pyegeria/core/_base_platform_client.py +574 -0
- pyegeria/core/_base_server_client.py +573 -0
- pyegeria/{_exceptions_new.py → core/_exceptions.py} +62 -30
- pyegeria/{_globals.py → core/_globals.py} +14 -3
- pyegeria/core/_server_client.py +6073 -0
- pyegeria/{_validators.py → core/_validators.py} +7 -8
- pyegeria/core/config.py +654 -0
- pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
- pyegeria/core/load_config.py +37 -0
- pyegeria/{logging_configuration.py → core/logging_configuration.py} +1 -1
- pyegeria/core/mcp_adapter.py +144 -0
- pyegeria/core/mcp_server.py +212 -0
- pyegeria/core/utils.py +405 -0
- pyegeria/{_client.py → deprecated/_client.py} +24 -25
- pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
- pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1987 -1877
- pyegeria/{output_formatter.py → deprecated/output_formatter_with_machine_keys.py} +298 -45
- pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +155 -171
- pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
- pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
- pyegeria/egeria_cat_client.py +26 -70
- pyegeria/egeria_client.py +130 -93
- pyegeria/egeria_config_client.py +40 -46
- pyegeria/egeria_tech_client.py +141 -54
- pyegeria/models/__init__.py +150 -0
- pyegeria/{models.py → models/models.py} +156 -20
- pyegeria/omvs/__init__.py +84 -0
- pyegeria/omvs/action_author.py +342 -0
- pyegeria/omvs/actor_manager.py +5980 -0
- pyegeria/omvs/asset_catalog.py +842 -0
- pyegeria/omvs/asset_maker.py +2736 -0
- pyegeria/omvs/automated_curation.py +4403 -0
- pyegeria/omvs/classification_manager.py +11213 -0
- pyegeria/{collection_manager.py → omvs/collection_manager.py} +1334 -1160
- pyegeria/omvs/community_matters_omvs.py +468 -0
- pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
- pyegeria/{data_designer.py → omvs/data_designer.py} +1115 -660
- pyegeria/omvs/data_discovery.py +869 -0
- pyegeria/omvs/data_engineer.py +372 -0
- pyegeria/omvs/digital_business.py +1133 -0
- pyegeria/omvs/external_links.py +1752 -0
- pyegeria/omvs/feedback_manager.py +834 -0
- pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
- pyegeria/{glossary_manager.py → omvs/glossary_manager.py} +857 -519
- pyegeria/{governance_officer.py → omvs/governance_officer.py} +964 -468
- pyegeria/omvs/lineage_linker.py +314 -0
- pyegeria/omvs/location_arena.py +1525 -0
- pyegeria/omvs/metadata_expert.py +668 -0
- pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
- pyegeria/omvs/my_profile.py +1042 -0
- pyegeria/omvs/notification_manager.py +358 -0
- pyegeria/omvs/people_organizer.py +394 -0
- pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
- pyegeria/omvs/product_manager.py +1825 -0
- pyegeria/omvs/project_manager.py +1907 -0
- pyegeria/omvs/reference_data.py +1140 -0
- pyegeria/omvs/registered_info.py +334 -0
- pyegeria/omvs/runtime_manager.py +2817 -0
- pyegeria/omvs/schema_maker.py +446 -0
- pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
- pyegeria/{solution_architect_omvs.py → omvs/solution_architect.py} +1886 -1505
- pyegeria/omvs/specification_properties.py +37 -0
- pyegeria/omvs/subject_area.py +1042 -0
- pyegeria/omvs/template_manager_omvs.py +236 -0
- pyegeria/omvs/time_keeper.py +1761 -0
- pyegeria/omvs/valid_metadata.py +3221 -0
- pyegeria/omvs/valid_metadata_lists.py +37 -0
- pyegeria/omvs/valid_type_lists.py +37 -0
- pyegeria/view/__init__.py +28 -0
- pyegeria/{_output_format_models.py → view/_output_format_models.py} +160 -24
- pyegeria/view/_output_formats.py +14 -0
- pyegeria/view/base_report_formats.py +2719 -0
- pyegeria/view/dr_egeria_reports.py +56 -0
- pyegeria/view/format_set_executor.py +397 -0
- pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
- pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
- pyegeria/view/output_formatter.py +1297 -0
- pyegeria-5.5.3.3.dist-info/METADATA +218 -0
- pyegeria-5.5.3.3.dist-info/RECORD +241 -0
- {pyegeria-5.4.0.28.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
- pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
- pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
- commands/cat/.DS_Store +0 -0
- commands/cat/.env +0 -8
- commands/cat/README.md +0 -16
- commands/cat/debug_log +0 -1126
- commands/cat/debug_log.2025-08-18_11-34-38_088636.zip +0 -0
- commands/cat/list_categories.py +0 -192
- commands/cat/logs/pyegeria.log +0 -4
- commands/cli/debug_log +0 -0
- commands/cli/debug_log.log +0 -0
- commands/cli/txt_custom_v2.tcss +0 -19
- commands/my/README.md +0 -17
- commands/ops/README.md +0 -24
- commands/ops/logs/pyegeria.log +0 -0
- commands/ops/monitor_asset_events.py +0 -108
- commands/tech/README.md +0 -24
- md_processing/.DS_Store +0 -0
- md_processing/dr-egeria-outbox/Collections-2025-08-12-13-30-37.md +0 -163
- md_processing/dr-egeria-outbox/Collections-2025-08-12-13-35-58.md +0 -474
- md_processing/dr_egeria_inbox/Derive-Dr-Gov-Defs.md +0 -8
- md_processing/dr_egeria_inbox/Dr.Egeria Templates.md +0 -873
- md_processing/dr_egeria_inbox/arch_test.md +0 -57
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +0 -254
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +0 -696
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +0 -254
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +0 -298
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +0 -608
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +0 -94
- md_processing/dr_egeria_inbox/archive/freddie_intro.md +0 -284
- md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +0 -275
- md_processing/dr_egeria_inbox/archive/test-term.md +0 -110
- md_processing/dr_egeria_inbox/cat_test.md +0 -100
- md_processing/dr_egeria_inbox/collections.md +0 -39
- md_processing/dr_egeria_inbox/data_designer_debug.log +0 -6
- md_processing/dr_egeria_inbox/data_designer_out.md +0 -60
- md_processing/dr_egeria_inbox/data_designer_search_test.md +0 -11
- md_processing/dr_egeria_inbox/data_field.md +0 -54
- md_processing/dr_egeria_inbox/data_spec.md +0 -77
- md_processing/dr_egeria_inbox/data_spec_test.md +0 -2406
- md_processing/dr_egeria_inbox/data_test.md +0 -179
- md_processing/dr_egeria_inbox/data_test2.md +0 -429
- md_processing/dr_egeria_inbox/data_test3.md +0 -462
- md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md +0 -124
- md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +0 -168
- md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +0 -280
- md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +0 -318
- md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +0 -1073
- md_processing/dr_egeria_inbox/dr_egeria_isc1.md +0 -44
- md_processing/dr_egeria_inbox/generated_help_report.md +0 -9
- md_processing/dr_egeria_inbox/glossary_creation_experiment.ipynb +0 -341
- md_processing/dr_egeria_inbox/glossary_list.md +0 -5
- md_processing/dr_egeria_inbox/glossary_search_test.md +0 -40
- md_processing/dr_egeria_inbox/glossary_test1.md +0 -324
- md_processing/dr_egeria_inbox/gov_def.md +0 -482
- md_processing/dr_egeria_inbox/gov_def2.md +0 -447
- md_processing/dr_egeria_inbox/img.png +0 -0
- md_processing/dr_egeria_inbox/product.md +0 -211
- md_processing/dr_egeria_inbox/rel.md +0 -8
- md_processing/dr_egeria_inbox/sb.md +0 -119
- md_processing/dr_egeria_inbox/solution-components.md +0 -136
- md_processing/dr_egeria_inbox/solution_blueprints.md +0 -118
- md_processing/dr_egeria_inbox/synonym_test.md +0 -42
- md_processing/dr_egeria_inbox/t2.md +0 -268
- md_processing/dr_egeria_outbox/.obsidian/app.json +0 -1
- md_processing/dr_egeria_outbox/.obsidian/appearance.json +0 -1
- md_processing/dr_egeria_outbox/.obsidian/community-plugins.json +0 -6
- md_processing/dr_egeria_outbox/.obsidian/core-plugins.json +0 -31
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/data.json +0 -10
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/main.js +0 -4459
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/manifest.json +0 -10
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/data.json +0 -3
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/main.js +0 -153
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/manifest.json +0 -11
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/styles.css +0 -1
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/main.js +0 -500
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +0 -12
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/styles.css +0 -1
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/main.js +0 -37
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/manifest.json +0 -11
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/styles.css +0 -220
- md_processing/dr_egeria_outbox/.obsidian/types.json +0 -28
- md_processing/dr_egeria_outbox/.obsidian/workspace.json +0 -220
- md_processing/dr_egeria_outbox/Untitled.canvas +0 -1
- md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:22-dr_egeria_intro_part1.md +0 -312
- md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:23-dr_egeria_intro_part1.md +0 -265
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:06-dr_egeria_intro_part1.md +0 -230
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:30-dr_egeria_intro_part1.md +0 -296
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:31-dr_egeria_intro_part1.md +0 -253
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:08-dr_egeria_intro_part2.md +0 -343
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:12-dr_egeria_intro_part2.md +0 -343
- md_processing/dr_egeria_outbox/monday/processed-2025-08-19 07:05-product.md +0 -426
- md_processing/dr_egeria_outbox/monday/processed-2025-08-19 07:56-product.md +0 -212
- md_processing/dr_egeria_outbox/monday/processed-2025-08-19 09:43-product.md +0 -201
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 14:55-product.md +0 -77
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:05-product.md +0 -75
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:11-product.md +0 -74
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 20:40-collections.md +0 -49
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 15:00-Derive-Dr-Gov-Defs.md +0 -719
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:13-Derive-Dr-Gov-Defs.md +0 -41
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:14-Derive-Dr-Gov-Defs.md +0 -33
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:50-Derive-Dr-Gov-Defs.md +0 -192
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:08-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:10-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:53-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:54-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:03-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:06-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:10-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/tuesday/processed-2025-07-16 19:15-gov_def2.md +0 -527
- md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 12:08-gov_def2.md +0 -527
- md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 14:27-gov_def2.md +0 -485
- md_processing/dr_egeria_outbox/tuesday/processed-2025-08-19 10:55-product.md +0 -209
- md_processing/family_docs/Data Designer/Create_Data_Class.md +0 -164
- md_processing/family_docs/Data Designer/Create_Data_Dictionary.md +0 -30
- md_processing/family_docs/Data Designer/Create_Data_Field.md +0 -162
- md_processing/family_docs/Data Designer/Create_Data_Specification.md +0 -36
- md_processing/family_docs/Data Designer/Create_Data_Structure.md +0 -38
- md_processing/family_docs/Data Designer/View_Data_Classes.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Dictionaries.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Fields.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Specifications.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Structures.md +0 -78
- md_processing/family_docs/Data Designer.md +0 -842
- md_processing/family_docs/Digital Product Manager/Add_Member->Collection.md +0 -42
- md_processing/family_docs/Digital Product Manager/Attach_Collection->Resource.md +0 -36
- md_processing/family_docs/Digital Product Manager/Create_Agreement.md +0 -96
- md_processing/family_docs/Digital Product Manager/Create_Data_Sharing_Agreement.md +0 -72
- md_processing/family_docs/Digital Product Manager/Create_DigitalSubscription.md +0 -102
- md_processing/family_docs/Digital Product Manager/Create_Digital_Product.md +0 -134
- md_processing/family_docs/Digital Product Manager/Link_Agreement_Items.md +0 -60
- md_processing/family_docs/Digital Product Manager/Link_Contracts.md +0 -26
- md_processing/family_docs/Digital Product Manager/Link_Digital_Product_-_Digital_Product.md +0 -30
- md_processing/family_docs/Digital Product Manager/Link_Subscribers.md +0 -48
- md_processing/family_docs/Digital Product Manager.md +0 -668
- md_processing/family_docs/Glossary/Attach_Category_Parent.md +0 -18
- md_processing/family_docs/Glossary/Attach_Term-Term_Relationship.md +0 -26
- md_processing/family_docs/Glossary/Create_Category.md +0 -38
- md_processing/family_docs/Glossary/Create_Glossary.md +0 -42
- md_processing/family_docs/Glossary/Create_Term.md +0 -70
- md_processing/family_docs/Glossary.md +0 -206
- md_processing/family_docs/Governance Officer/Create_Business_Imperative.md +0 -106
- md_processing/family_docs/Governance Officer/Create_Certification_Type.md +0 -112
- md_processing/family_docs/Governance Officer/Create_Governance_Approach.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Governance_Obligation.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Governance_Principle.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Governance_Procedure.md +0 -128
- md_processing/family_docs/Governance Officer/Create_Governance_Process.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Governance_Processing_Purpose.md +0 -106
- md_processing/family_docs/Governance Officer/Create_Governance_Responsibility.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Governance_Rule.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Governance_Strategy.md +0 -106
- md_processing/family_docs/Governance Officer/Create_License_Type.md +0 -112
- md_processing/family_docs/Governance Officer/Create_Naming_Standard_Rule.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Regulation_Article.md +0 -106
- md_processing/family_docs/Governance Officer/Create_Regulation_Definition.md +0 -118
- md_processing/family_docs/Governance Officer/Create_Security_Access_Control.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Security_Group.md +0 -120
- md_processing/family_docs/Governance Officer/Create_Service_Level_Objectives.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Threat_Definition.md +0 -106
- md_processing/family_docs/Governance Officer/Link_Governance_Controls.md +0 -32
- md_processing/family_docs/Governance Officer/Link_Governance_Drivers.md +0 -32
- md_processing/family_docs/Governance Officer/Link_Governance_Policies.md +0 -32
- md_processing/family_docs/Governance Officer/View_Governance_Definitions.md +0 -82
- md_processing/family_docs/Governance Officer.md +0 -2412
- md_processing/family_docs/Solution Architect/Create_Information_Supply_Chain.md +0 -70
- md_processing/family_docs/Solution Architect/Create_Solution_Blueprint.md +0 -44
- md_processing/family_docs/Solution Architect/Create_Solution_Component.md +0 -96
- md_processing/family_docs/Solution Architect/Create_Solution_Role.md +0 -66
- md_processing/family_docs/Solution Architect/Link_Information_Supply_Chain_Peers.md +0 -32
- md_processing/family_docs/Solution Architect/Link_Solution_Component_Peers.md +0 -32
- md_processing/family_docs/Solution Architect/View_Information_Supply_Chains.md +0 -32
- md_processing/family_docs/Solution Architect/View_Solution_Blueprints.md +0 -32
- md_processing/family_docs/Solution Architect/View_Solution_Components.md +0 -32
- md_processing/family_docs/Solution Architect/View_Solution_Roles.md +0 -32
- md_processing/family_docs/Solution Architect.md +0 -490
- md_processing/md_processing_utils/debug_log +0 -574
- md_processing/md_processing_utils/debug_log.log +0 -0
- md_processing/md_processing_utils/dr-egeria-help-2025-07-17T17:22:09.md +0 -2065
- md_processing/md_processing_utils/generated_help_terms.md +0 -842
- pyegeria/.DS_Store +0 -0
- pyegeria/README.md +0 -35
- pyegeria/_client_new.py +0 -1102
- pyegeria/_output_formats.py +0 -730
- pyegeria/asset_catalog_omvs.py +0 -864
- pyegeria/automated_curation_omvs.py +0 -3765
- pyegeria/config.py +0 -523
- pyegeria/egeria_my_client.py +0 -91
- pyegeria/feedback_manager_omvs.py +0 -4573
- pyegeria/load_config_orig.py +0 -218
- pyegeria/md_processing_helpers.py +0 -58
- pyegeria/md_processing_utils_orig.py +0 -1103
- pyegeria/metadata_explorer_omvs.py +0 -2326
- pyegeria/my_profile_omvs.py +0 -1022
- pyegeria/project_manager.py +0 -1591
- pyegeria/registered_info.py +0 -167
- pyegeria/template_manager_omvs.py +0 -1414
- pyegeria/utils.py +0 -256
- pyegeria-5.4.0.28.dist-info/METADATA +0 -77
- pyegeria-5.4.0.28.dist-info/RECORD +0 -343
- pyegeria-5.4.0.28.dist-info/entry_points.txt +0 -105
- /commands/cat/debug_log.log → /pyegeria/deprecated/__init__.py +0 -0
- /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
- /pyegeria/{collection_models.py → models/collection_models.py} +0 -0
- {pyegeria-5.4.0.28.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
commands/cat/list_cert_types.py
CHANGED
|
@@ -9,66 +9,43 @@ List certification types
|
|
|
9
9
|
A simple display for certification types
|
|
10
10
|
"""
|
|
11
11
|
import argparse
|
|
12
|
-
import json
|
|
13
12
|
import os
|
|
14
13
|
import sys
|
|
15
14
|
import time
|
|
16
15
|
|
|
17
16
|
from rich import box
|
|
18
17
|
from rich.console import Console
|
|
19
|
-
from rich.markdown import Markdown
|
|
20
|
-
from rich.prompt import Prompt
|
|
21
18
|
from rich.table import Table
|
|
22
19
|
|
|
23
20
|
from pyegeria import (
|
|
24
|
-
AssetCatalog,
|
|
25
21
|
ClassificationManager,
|
|
26
|
-
|
|
27
|
-
PropertyServerException,
|
|
28
|
-
UserNotAuthorizedException,
|
|
29
|
-
print_exception_response,
|
|
22
|
+
PyegeriaException, settings
|
|
30
23
|
)
|
|
24
|
+
app_config = settings.Environment
|
|
31
25
|
|
|
32
|
-
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
|
33
|
-
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
|
34
|
-
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
|
35
|
-
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
|
36
|
-
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
|
37
|
-
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
|
38
|
-
)
|
|
39
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
|
40
|
-
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
|
41
|
-
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
|
42
26
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
|
43
27
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
|
44
|
-
EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
|
|
45
|
-
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
|
|
46
|
-
|
|
47
28
|
|
|
48
29
|
disable_ssl_warnings = True
|
|
49
30
|
|
|
50
31
|
|
|
51
32
|
def display_certifications(
|
|
52
|
-
search_string: str,
|
|
53
33
|
server: str,
|
|
54
34
|
url: str,
|
|
55
35
|
username: str,
|
|
56
36
|
user_password: str,
|
|
57
37
|
time_out: int = 60,
|
|
58
|
-
jupyter: bool =
|
|
59
|
-
width: int =
|
|
38
|
+
jupyter: bool = app_config.egeria_jupyter,
|
|
39
|
+
width: int = app_config.console_width,
|
|
60
40
|
):
|
|
61
41
|
console = Console(width=width, force_terminal=not jupyter, soft_wrap=True)
|
|
62
|
-
|
|
63
|
-
raise ValueError(
|
|
64
|
-
"Invalid Search String - must be greater than four characters long"
|
|
65
|
-
)
|
|
42
|
+
|
|
66
43
|
g_client = ClassificationManager(
|
|
67
44
|
server, url, user_id=username, user_pwd=user_password
|
|
68
45
|
)
|
|
69
46
|
token = g_client.create_egeria_bearer_token(username, user_password)
|
|
70
47
|
|
|
71
|
-
def generate_table(search_string: str =
|
|
48
|
+
def generate_table(search_string: str = "CertificationType") -> Table:
|
|
72
49
|
"""Make a new table."""
|
|
73
50
|
table = Table(
|
|
74
51
|
title=f"Certifications Types @ {time.asctime()}",
|
|
@@ -82,7 +59,7 @@ def display_certifications(
|
|
|
82
59
|
caption=f"View Server '{server}' @ Platform - {url}",
|
|
83
60
|
expand=True,
|
|
84
61
|
)
|
|
85
|
-
table.add_column("
|
|
62
|
+
table.add_column("Name", max_width=15)
|
|
86
63
|
table.add_column("summary")
|
|
87
64
|
table.add_column("domainID")
|
|
88
65
|
table.add_column("Unique Name")
|
|
@@ -99,20 +76,20 @@ def display_certifications(
|
|
|
99
76
|
for element in certs:
|
|
100
77
|
properties = element["properties"]
|
|
101
78
|
summary = properties.get("summary", "---")
|
|
102
|
-
domain = properties.get("domainIdentifier", "---")
|
|
79
|
+
domain = str(properties.get("domainIdentifier", "---"))
|
|
103
80
|
unique_name = properties.get("qualifiedName", "---")
|
|
104
81
|
scope = properties.get("scope", "---")
|
|
105
82
|
description = properties.get("description", "---")
|
|
106
83
|
details = properties.get("details", "---")
|
|
107
|
-
|
|
84
|
+
name = properties.get("displayName", "---")
|
|
108
85
|
cert_guid = element["elementHeader"]["guid"]
|
|
109
86
|
|
|
110
87
|
related = g_client.get_related_elements(cert_guid)
|
|
111
88
|
if (len(related) > 0) and (type(related) is list):
|
|
112
89
|
rel_md = ""
|
|
113
90
|
for rel in related:
|
|
114
|
-
rel_type = rel["
|
|
115
|
-
rel_element_props = rel["
|
|
91
|
+
rel_type = rel["elementHeader"]["type"]["typeName"]
|
|
92
|
+
rel_element_props = rel["properties"]
|
|
116
93
|
rel_el_md = f"* Rel Type: {rel_type}\n"
|
|
117
94
|
for key in rel_element_props.keys():
|
|
118
95
|
rel_el_md += f"* {key}: {rel_element_props[key]}\n"
|
|
@@ -120,23 +97,8 @@ def display_certifications(
|
|
|
120
97
|
else:
|
|
121
98
|
rel_md = "---"
|
|
122
99
|
|
|
123
|
-
# match_tab = Table(expand=True)
|
|
124
|
-
# match_tab.add_column("Type Name")
|
|
125
|
-
# match_tab.add_column("GUID", no_wrap=True, width=36)
|
|
126
|
-
# match_tab.add_column("Properties")
|
|
127
|
-
#
|
|
128
|
-
# for match in nested:
|
|
129
|
-
# match_type_name = match['type']['typeName']
|
|
130
|
-
# matching_guid = match['guid']
|
|
131
|
-
# match_props = match['properties']
|
|
132
|
-
# match_details_md = ""
|
|
133
|
-
# for key in match_props.keys():
|
|
134
|
-
# match_details_md += f"* {key}: {match_props[key]}\n"
|
|
135
|
-
# match_details_out = Markdown(match_details_md)
|
|
136
|
-
# match_tab.add_row(match_type_name, matching_guid, match_details_out)
|
|
137
|
-
|
|
138
100
|
table.add_row(
|
|
139
|
-
|
|
101
|
+
name, summary, domain, unique_name, scope, description, details, rel_md
|
|
140
102
|
)
|
|
141
103
|
|
|
142
104
|
g_client.close_session()
|
|
@@ -144,18 +106,12 @@ def display_certifications(
|
|
|
144
106
|
return table
|
|
145
107
|
|
|
146
108
|
try:
|
|
147
|
-
# with Live(generate_table(), refresh_per_second=4, screen=True) as live:
|
|
148
|
-
# while True:
|
|
149
|
-
# time.sleep(2)
|
|
150
|
-
# live.update(generate_table())
|
|
151
109
|
|
|
152
110
|
with console.pager(styles=True):
|
|
153
|
-
console.print(generate_table(
|
|
111
|
+
console.print(generate_table("CertificationType"), soft_wrap=True)
|
|
154
112
|
|
|
155
113
|
except (
|
|
156
|
-
|
|
157
|
-
PropertyServerException,
|
|
158
|
-
UserNotAuthorizedException,
|
|
114
|
+
PyegeriaException
|
|
159
115
|
) as e:
|
|
160
116
|
console.print_exception()
|
|
161
117
|
sys.exit(1)
|
|
@@ -177,15 +133,13 @@ def main():
|
|
|
177
133
|
|
|
178
134
|
args = parser.parse_args()
|
|
179
135
|
|
|
180
|
-
server = args.server if args.server is not None else
|
|
181
|
-
url = args.url if args.url is not None else
|
|
136
|
+
server = args.server if args.server is not None else app_config.egeria_view_server
|
|
137
|
+
url = args.url if args.url is not None else app_config.egeria_view_server_url
|
|
182
138
|
userid = args.userid if args.userid is not None else EGERIA_USER
|
|
183
139
|
user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
|
184
140
|
time_out = args.time_out if args.time_out is not None else 60
|
|
185
141
|
try:
|
|
186
|
-
|
|
187
|
-
search_string = "CertificationType"
|
|
188
|
-
display_certifications(search_string, server, url, userid, user_pass, time_out)
|
|
142
|
+
display_certifications(server, url, userid, user_pass, time_out)
|
|
189
143
|
except KeyboardInterrupt:
|
|
190
144
|
pass
|
|
191
145
|
|
commands/cat/list_collections.py
CHANGED
|
@@ -6,48 +6,25 @@ Copyright Contributors to the ODPi Egeria project.
|
|
|
6
6
|
A simple display for collections
|
|
7
7
|
"""
|
|
8
8
|
import argparse
|
|
9
|
-
import json
|
|
10
9
|
import os
|
|
11
|
-
import time
|
|
12
10
|
|
|
13
11
|
from jsonschema import ValidationError
|
|
14
|
-
from rich import box
|
|
15
12
|
from rich.console import Console
|
|
16
|
-
from rich.markdown import Markdown
|
|
17
13
|
from rich.prompt import Prompt
|
|
18
|
-
from rich.table import Table
|
|
19
|
-
from rich.text import Text
|
|
20
|
-
from loguru import logger
|
|
21
14
|
from pyegeria import (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
from pyegeria.
|
|
26
|
-
|
|
27
|
-
# from pyegeria._exceptions_new import PyegeriaException, print_exception_response
|
|
15
|
+
settings,
|
|
16
|
+
get_app_config, config_logging, print_basic_exception, PyegeriaAPIException, PyegeriaClientException, )
|
|
17
|
+
from commands.cat.run_report import list_generic
|
|
18
|
+
from pyegeria.core._exceptions import print_validation_error
|
|
19
|
+
app_config = settings.Environment
|
|
28
20
|
|
|
29
21
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
|
30
22
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
app_config = app_settings.Environment
|
|
23
|
+
app_settings = get_app_config(app_config.pyegeria_root+"/.env")
|
|
24
|
+
|
|
34
25
|
config_logging()
|
|
35
26
|
|
|
36
|
-
|
|
37
|
-
"formats": {
|
|
38
|
-
"types": ["ALL"],
|
|
39
|
-
"columns": [
|
|
40
|
-
{'name': 'display_name', 'key': 'display_name'},
|
|
41
|
-
{'name': 'qualified_name', 'key': 'qualified_name', 'format': True},
|
|
42
|
-
{'name': 'description', 'key': 'description', 'format': True},
|
|
43
|
-
{'name': "classifications", 'key': 'classifications'},
|
|
44
|
-
{'name': 'members', 'key': 'members', 'format': True},
|
|
45
|
-
{'name': 'category', 'key': 'category', 'format': True},
|
|
46
|
-
{'name': 'GUID', 'key': 'GUID'},
|
|
47
|
-
],
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
}
|
|
27
|
+
console = Console(width=app_config.console_width, force_terminal=(not app_config.egeria_jupyter))
|
|
51
28
|
|
|
52
29
|
def display_collections(
|
|
53
30
|
search_string: str = "*",
|
|
@@ -79,118 +56,21 @@ def display_collections(
|
|
|
79
56
|
output_format : str, optional
|
|
80
57
|
Format of the output. Default is TABLE.
|
|
81
58
|
"""
|
|
82
|
-
|
|
83
|
-
m_client.create_egeria_bearer_token()
|
|
59
|
+
|
|
84
60
|
try:
|
|
61
|
+
table_caption = "Basic Collection List"
|
|
62
|
+
list_generic(report_spec="BasicCollections", output_format=output_format, view_server=view_server,
|
|
63
|
+
view_url=view_url, user=user, user_pass=user_pass, params={"search_string": search_string},
|
|
64
|
+
render_table=True, write_file=True, table_caption=table_caption, use_pager=True,
|
|
65
|
+
width=width, jupyter=jupyter, prompt_missing=True)
|
|
66
|
+
|
|
85
67
|
|
|
86
|
-
|
|
87
|
-
action = "Update-Form"
|
|
88
|
-
elif output_format == "REPORT":
|
|
89
|
-
action = "Report"
|
|
90
|
-
elif output_format == "DICT":
|
|
91
|
-
action = "Dict"
|
|
92
|
-
elif output_format == "HTML":
|
|
93
|
-
action = "html"
|
|
94
|
-
elif output_format == "LIST":
|
|
95
|
-
action = "List"
|
|
96
|
-
|
|
97
|
-
if output_format != "TABLE":
|
|
98
|
-
file_path = os.path.join(app_config['Pyegeria Root'], app_config['Dr.Egeria Outbox'])
|
|
99
|
-
if output_format == "HTML":
|
|
100
|
-
file_name = f"Collections-{time.strftime('%Y-%m-%d-%H-%M-%S')}-{action}.html"
|
|
101
|
-
else:
|
|
102
|
-
file_name = f"Collections-{time.strftime('%Y-%m-%d-%H-%M-%S')}-{action}.md"
|
|
103
|
-
full_file_path = os.path.join(file_path, file_name)
|
|
104
|
-
os.makedirs(os.path.dirname(full_file_path), exist_ok=True)
|
|
105
|
-
output = m_client.find_collections(
|
|
106
|
-
search_string.strip(), None, True, False, ignore_case=True,
|
|
107
|
-
output_format=output_format
|
|
108
|
-
)
|
|
109
|
-
if output == NO_ELEMENTS_FOUND:
|
|
110
|
-
print(f"\n==> No collections found for search string '{search_string}'")
|
|
111
|
-
return
|
|
112
|
-
elif isinstance(output, str | list) and output_format == "DICT":
|
|
113
|
-
output = json.dumps(output, indent=4)
|
|
114
|
-
|
|
115
|
-
with open(full_file_path, 'w') as f:
|
|
116
|
-
f.write(output)
|
|
117
|
-
print(f"\n==> Collections output written to {full_file_path}")
|
|
118
|
-
return
|
|
119
|
-
|
|
120
|
-
table = Table(
|
|
121
|
-
title=f"Collection List @ {time.asctime()}",
|
|
122
|
-
style="bright_white on black",
|
|
123
|
-
header_style="bright_white on dark_blue",
|
|
124
|
-
title_style="bold white on black",
|
|
125
|
-
caption_style="white on black",
|
|
126
|
-
show_lines=True,
|
|
127
|
-
box=box.ROUNDED,
|
|
128
|
-
caption=f"View Server '{view_server}' @ Platform - {view_url}",
|
|
129
|
-
expand=True,
|
|
130
|
-
)
|
|
131
|
-
table.add_column("Collection Name")
|
|
132
|
-
table.add_column(
|
|
133
|
-
"Qualified Name & GUID", width=38, no_wrap=True, justify="center"
|
|
134
|
-
)
|
|
135
|
-
table.add_column("Description")
|
|
136
|
-
table.add_column("Collection Type")
|
|
137
|
-
table.add_column("Classifications")
|
|
138
|
-
table.add_column("Members")
|
|
139
|
-
|
|
140
|
-
collections = m_client.find_collections(
|
|
141
|
-
search_string.strip(), None, ["Collection"],True, False, ignore_case=True,
|
|
142
|
-
output_format = "DICT", output_format_set=out_struct
|
|
143
|
-
)
|
|
144
|
-
if type(collections) is list:
|
|
145
|
-
|
|
146
|
-
sorted_collection_list = sorted(
|
|
147
|
-
collections, key=lambda k: k["display_name"]
|
|
148
|
-
)
|
|
149
|
-
for collection in sorted_collection_list:
|
|
150
|
-
|
|
151
|
-
display_name = collection["display_name"]
|
|
152
|
-
qualified_name = collection["qualified_name"]
|
|
153
|
-
guid = collection["GUID"]
|
|
154
|
-
q_name = Text(f"{qualified_name}\n&\n{guid}", justify="center")
|
|
155
|
-
description = collection.get("description",'---')
|
|
156
|
-
collection_type = collection.get("collectionType", "---")
|
|
157
|
-
classifications = collection.get("classifications", "---")
|
|
158
|
-
|
|
159
|
-
classifications_md = Markdown(classifications) if classifications else ""
|
|
160
|
-
members_struct = m_client.get_member_list(collection_guid=guid)
|
|
161
|
-
member_list = ""
|
|
162
|
-
if isinstance(members_struct, list):
|
|
163
|
-
for member in members_struct:
|
|
164
|
-
member_list = member_list + f"- {member.get('qualifiedName','---')}\n"
|
|
165
|
-
|
|
166
|
-
# members = "\n* ".join(collection.get("members", []))
|
|
167
|
-
members_md = Markdown(member_list) if member_list else ""
|
|
168
|
-
|
|
169
|
-
table.add_row(
|
|
170
|
-
display_name,
|
|
171
|
-
q_name,
|
|
172
|
-
description,
|
|
173
|
-
collection_type,
|
|
174
|
-
classifications_md,
|
|
175
|
-
members_md,
|
|
176
|
-
)
|
|
177
|
-
console = Console(
|
|
178
|
-
style="bold bright_white on black",
|
|
179
|
-
width=width,
|
|
180
|
-
force_terminal=not jupyter,
|
|
181
|
-
)
|
|
182
|
-
console.print(table)
|
|
183
|
-
else:
|
|
184
|
-
print("==> No collections with that name found")
|
|
185
|
-
|
|
186
|
-
except (PyegeriaException) as e:
|
|
68
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
187
69
|
print_basic_exception(e)
|
|
188
70
|
except ValidationError as e:
|
|
189
71
|
print_validation_error(e)
|
|
190
72
|
except Exception as e:
|
|
191
73
|
print(f"An unexpected error occurred: {e}")
|
|
192
|
-
finally:
|
|
193
|
-
m_client.close_session()
|
|
194
74
|
|
|
195
75
|
|
|
196
76
|
def main():
|
|
@@ -201,8 +81,6 @@ def main():
|
|
|
201
81
|
parser.add_argument("--password", help="User Password")
|
|
202
82
|
|
|
203
83
|
args = parser.parse_args()
|
|
204
|
-
# app_settings = get_app_config(PYEGERIA_ROOT_PATH + "/.env")
|
|
205
|
-
# app_config = app_settings.Environment
|
|
206
84
|
|
|
207
85
|
server = args.server if args.server is not None else app_config.egeria_view_server
|
|
208
86
|
url = args.url if args.url is not None else app_config.egeria_view_server_url
|
|
@@ -220,7 +98,7 @@ def main():
|
|
|
220
98
|
except KeyboardInterrupt:
|
|
221
99
|
pass
|
|
222
100
|
|
|
223
|
-
except
|
|
101
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
224
102
|
print_basic_exception(e)
|
|
225
103
|
except ValidationError as e:
|
|
226
104
|
print_validation_error(e)
|
|
@@ -13,28 +13,18 @@ from rich.table import Table
|
|
|
13
13
|
|
|
14
14
|
from pyegeria import (
|
|
15
15
|
EgeriaTech,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
PyegeriaAPIException, PyegeriaClientException,
|
|
17
|
+
print_basic_exception,
|
|
18
|
+
settings,
|
|
19
|
+
config_logging, PyegeriaException
|
|
20
20
|
)
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
|
24
|
-
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
|
25
|
-
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
|
26
|
-
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
|
27
|
-
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
|
28
|
-
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
|
29
|
-
)
|
|
30
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
|
31
|
-
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
|
32
|
-
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
|
22
|
+
|
|
33
23
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
|
34
24
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
|
35
|
-
EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
|
|
36
|
-
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
|
|
37
25
|
|
|
26
|
+
app_config = settings.Environment
|
|
27
|
+
console = Console(width = app_config.console_width)
|
|
38
28
|
|
|
39
29
|
def check_if_template(header: dict) -> bool:
|
|
40
30
|
"""Check if the the template classification is set"""
|
|
@@ -49,12 +39,12 @@ def check_if_template(header: dict) -> bool:
|
|
|
49
39
|
|
|
50
40
|
def list_deployed_catalogs(
|
|
51
41
|
catalog_server: str = "*",
|
|
52
|
-
view_server: str =
|
|
53
|
-
view_url: str =
|
|
42
|
+
view_server: str = app_config.egeria_view_server,
|
|
43
|
+
view_url: str = app_config.egeria_view_server_url,
|
|
54
44
|
user: str = EGERIA_USER,
|
|
55
45
|
user_pass: str = EGERIA_USER_PASSWORD,
|
|
56
|
-
jupyter: bool =
|
|
57
|
-
width: int =
|
|
46
|
+
jupyter: bool = app_config.egeria_jupyter,
|
|
47
|
+
width: int = app_config.console_width,
|
|
58
48
|
):
|
|
59
49
|
"""
|
|
60
50
|
Display the list of deployed catalogs. These could be metadata catalogs or other catalogs such as database catalogs..
|
|
@@ -181,11 +171,9 @@ def list_deployed_catalogs(
|
|
|
181
171
|
console.print(generate_table())
|
|
182
172
|
|
|
183
173
|
except (
|
|
184
|
-
|
|
185
|
-
PropertyServerException,
|
|
186
|
-
UserNotAuthorizedException,
|
|
174
|
+
PyegeriaException
|
|
187
175
|
) as e:
|
|
188
|
-
|
|
176
|
+
print_basic_exception(e)
|
|
189
177
|
print("\n\nPerhaps the type name isn't known")
|
|
190
178
|
finally:
|
|
191
179
|
c_client.close_session()
|
|
@@ -200,8 +188,8 @@ def main():
|
|
|
200
188
|
|
|
201
189
|
args = parser.parse_args()
|
|
202
190
|
|
|
203
|
-
server = args.server if args.server is not None else
|
|
204
|
-
url = args.url if args.url is not None else
|
|
191
|
+
server = args.server if args.server is not None else app_config.egeria_view_server
|
|
192
|
+
url = args.url if args.url is not None else app_config.egeria_view_server_url
|
|
205
193
|
userid = args.userid if args.userid is not None else EGERIA_USER
|
|
206
194
|
password = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
|
207
195
|
|
|
@@ -13,37 +13,27 @@ from rich.table import Table
|
|
|
13
13
|
|
|
14
14
|
from pyegeria import (
|
|
15
15
|
EgeriaTech,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
PyegeriaAPIException, PyegeriaClientException,
|
|
17
|
+
print_basic_exception,
|
|
18
|
+
settings,
|
|
19
|
+
config_logging, PyegeriaException
|
|
20
20
|
)
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
|
24
|
-
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
|
25
|
-
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
|
26
|
-
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
|
27
|
-
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
|
28
|
-
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
|
29
|
-
)
|
|
30
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
|
31
|
-
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
|
32
|
-
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
|
22
|
+
|
|
33
23
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
|
34
24
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
|
35
|
-
EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
|
|
36
|
-
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
|
|
37
25
|
|
|
26
|
+
app_config = settings.Environment
|
|
27
|
+
config_logging()
|
|
28
|
+
console = Console(width = app_config.console_width)
|
|
38
29
|
|
|
39
30
|
def check_if_template(header: dict) -> bool:
|
|
40
31
|
"""Check if the the template classification is set"""
|
|
41
|
-
|
|
42
|
-
if
|
|
32
|
+
template = header.get("template", None)
|
|
33
|
+
if template is None:
|
|
43
34
|
return False
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return True
|
|
35
|
+
if template["type"]["typeName"] == "Template":
|
|
36
|
+
return True
|
|
47
37
|
return False
|
|
48
38
|
|
|
49
39
|
|
|
@@ -57,12 +47,12 @@ def make_prop_md(props: dict) -> str:
|
|
|
57
47
|
|
|
58
48
|
def list_deployed_database_schemas(
|
|
59
49
|
db_name: str = "*",
|
|
60
|
-
view_server: str =
|
|
61
|
-
view_url: str =
|
|
50
|
+
view_server: str = app_config.egeria_view_server,
|
|
51
|
+
view_url: str = app_config.egeria_view_server_url,
|
|
62
52
|
user: str = EGERIA_USER,
|
|
63
53
|
user_pass: str = EGERIA_USER_PASSWORD,
|
|
64
|
-
jupyter: bool =
|
|
65
|
-
width: int =
|
|
54
|
+
jupyter: bool = app_config.egeria_jupyter,
|
|
55
|
+
width: int = app_config.console_width,
|
|
66
56
|
):
|
|
67
57
|
"""List schemas that have been deployed in database catalogs or databases.
|
|
68
58
|
Parameters
|
|
@@ -133,17 +123,13 @@ def list_deployed_database_schemas(
|
|
|
133
123
|
el_guid = header["guid"]
|
|
134
124
|
|
|
135
125
|
# get the information about the catalog we are part of
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
if
|
|
140
|
-
el_anchor_guid =
|
|
141
|
-
el_anchor_type_name =
|
|
142
|
-
|
|
143
|
-
]
|
|
144
|
-
el_anchor_domain_name = c["classificationProperties"][
|
|
145
|
-
"anchorDomainName"
|
|
146
|
-
]
|
|
126
|
+
el_anchor = header["anchor"]
|
|
127
|
+
el_cat_guid = "---"
|
|
128
|
+
if el_anchor:
|
|
129
|
+
if el_anchor["type"]["typeName"] == "Anchors":
|
|
130
|
+
el_anchor_guid = el_anchor["classificationProperties"].get("anchorGUID",'---')
|
|
131
|
+
el_anchor_type_name = el_anchor["classificationProperties"]["anchorTypeName"]
|
|
132
|
+
el_anchor_domain_name = el_anchor["classificationProperties"]["anchorDomainName"]
|
|
147
133
|
el_cat_name = "---"
|
|
148
134
|
if el_anchor_domain_name == "SoftwareCapability":
|
|
149
135
|
el_cat = c_client.get_element_by_guid(el_anchor_guid)
|
|
@@ -215,11 +201,9 @@ def list_deployed_database_schemas(
|
|
|
215
201
|
console.print(generate_table())
|
|
216
202
|
|
|
217
203
|
except (
|
|
218
|
-
|
|
219
|
-
PropertyServerException,
|
|
220
|
-
UserNotAuthorizedException,
|
|
204
|
+
PyegeriaException
|
|
221
205
|
) as e:
|
|
222
|
-
|
|
206
|
+
print_basic_exception(e)
|
|
223
207
|
print("\n\nPerhaps the type name isn't known")
|
|
224
208
|
finally:
|
|
225
209
|
c_client.close_session()
|
|
@@ -234,8 +218,8 @@ def main():
|
|
|
234
218
|
|
|
235
219
|
args = parser.parse_args()
|
|
236
220
|
|
|
237
|
-
server = args.server if args.server is not None else
|
|
238
|
-
url = args.url if args.url is not None else
|
|
221
|
+
server = args.server if args.server is not None else app_config.egeria_view_server
|
|
222
|
+
url = args.url if args.url is not None else app_config.egeria_view_server_url
|
|
239
223
|
userid = args.userid if args.userid is not None else EGERIA_USER
|
|
240
224
|
password = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
|
241
225
|
|
|
@@ -8,33 +8,22 @@ import time
|
|
|
8
8
|
from rich import box
|
|
9
9
|
from rich.console import Console
|
|
10
10
|
from rich.markdown import Markdown
|
|
11
|
-
from rich.prompt import Prompt
|
|
12
11
|
from rich.table import Table
|
|
13
12
|
|
|
14
13
|
from pyegeria import (
|
|
15
14
|
EgeriaTech,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
PyegeriaAPIException, PyegeriaClientException,
|
|
16
|
+
print_basic_exception,
|
|
17
|
+
settings,
|
|
18
|
+
config_logging, PyegeriaException
|
|
20
19
|
)
|
|
21
20
|
|
|
22
|
-
console = Console()
|
|
23
|
-
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
|
24
|
-
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
|
25
|
-
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
|
26
|
-
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
|
27
|
-
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
|
28
|
-
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
|
29
|
-
)
|
|
30
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
|
31
|
-
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
|
32
|
-
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
|
33
21
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
|
34
22
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
|
35
|
-
EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
|
|
36
|
-
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "300"))
|
|
37
23
|
|
|
24
|
+
app_config = settings.Environment
|
|
25
|
+
console = Console(width = app_config.console_width)
|
|
26
|
+
config_logging()
|
|
38
27
|
|
|
39
28
|
def check_if_template(header: dict) -> bool:
|
|
40
29
|
"""Check if the the template classification is set"""
|
|
@@ -48,12 +37,12 @@ def check_if_template(header: dict) -> bool:
|
|
|
48
37
|
|
|
49
38
|
|
|
50
39
|
def list_deployed_databases(
|
|
51
|
-
view_server: str =
|
|
52
|
-
view_url: str =
|
|
40
|
+
view_server: str = app_config.egeria_view_server,
|
|
41
|
+
view_url: str = app_config.egeria_view_server_url,
|
|
53
42
|
user: str = EGERIA_USER,
|
|
54
43
|
user_pass: str = EGERIA_USER_PASSWORD,
|
|
55
|
-
jupyter: bool =
|
|
56
|
-
width: int =
|
|
44
|
+
jupyter: bool = app_config.egeria_jupyter,
|
|
45
|
+
width: int = app_config.console_width,
|
|
57
46
|
):
|
|
58
47
|
"""
|
|
59
48
|
Parameters
|
|
@@ -133,9 +122,7 @@ def list_deployed_databases(
|
|
|
133
122
|
if type(rel_elements) is list:
|
|
134
123
|
for rel_element in rel_elements:
|
|
135
124
|
count += 1
|
|
136
|
-
rel_type = rel_element["
|
|
137
|
-
"type"
|
|
138
|
-
]["typeName"]
|
|
125
|
+
rel_type = rel_element["elementHeader"]["type"]["typeName"]
|
|
139
126
|
rel_guid = rel_element["relatedElement"]["elementHeader"][
|
|
140
127
|
"guid"
|
|
141
128
|
]
|
|
@@ -169,11 +156,9 @@ def list_deployed_databases(
|
|
|
169
156
|
console.print(generate_table())
|
|
170
157
|
|
|
171
158
|
except (
|
|
172
|
-
|
|
173
|
-
PropertyServerException,
|
|
174
|
-
UserNotAuthorizedException,
|
|
159
|
+
PyegeriaException
|
|
175
160
|
) as e:
|
|
176
|
-
|
|
161
|
+
print_basic_exception(e)
|
|
177
162
|
print("\n\nPerhaps the type name isn't known")
|
|
178
163
|
finally:
|
|
179
164
|
c_client.close_session()
|
|
@@ -188,8 +173,8 @@ def main():
|
|
|
188
173
|
|
|
189
174
|
args = parser.parse_args()
|
|
190
175
|
|
|
191
|
-
server = args.server if args.server is not None else
|
|
192
|
-
url = args.url if args.url is not None else
|
|
176
|
+
server = args.server if args.server is not None else app_config.egeria_view_server
|
|
177
|
+
url = args.url if args.url is not None else app_config.egeria_view_server_url
|
|
193
178
|
userid = args.userid if args.userid is not None else EGERIA_USER
|
|
194
179
|
password = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
|
195
180
|
|