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
pyegeria/asset_catalog_omvs.py
DELETED
|
@@ -1,864 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
Copyright Contributors to the ODPi Egeria project.
|
|
4
|
-
|
|
5
|
-
Asset Catalog View Service Methods - Search for assets, retrieve their properties, lineage and related glossary
|
|
6
|
-
information.
|
|
7
|
-
|
|
8
|
-
This file is in active development...
|
|
9
|
-
|
|
10
|
-
"""
|
|
11
|
-
|
|
12
|
-
import asyncio
|
|
13
|
-
import json
|
|
14
|
-
|
|
15
|
-
from httpx import Response
|
|
16
|
-
from pyegeria.utils import body_slimmer
|
|
17
|
-
from pyegeria._client import Client
|
|
18
|
-
from pyegeria import TEMPLATE_GUIDS, max_paging_size
|
|
19
|
-
from pyegeria._exceptions import InvalidParameterException
|
|
20
|
-
from pyegeria._globals import NO_ELEMENTS_FOUND, NO_ASSETS_FOUND
|
|
21
|
-
from ._validators import validate_search_string
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class AssetCatalog(Client):
|
|
25
|
-
"""Set up and maintain automation services in Egeria.
|
|
26
|
-
|
|
27
|
-
Attributes:
|
|
28
|
-
view_server : str
|
|
29
|
-
The name of the View Server to use.
|
|
30
|
-
platform_url : str
|
|
31
|
-
URL of the server platform to connect to
|
|
32
|
-
user_id : str
|
|
33
|
-
The identity of the user calling the method - this sets a default optionally used by the methods
|
|
34
|
-
when the user doesn't pass the user_id on a method call.
|
|
35
|
-
user_pwd: str
|
|
36
|
-
The password associated with the user_id. Defaults to None
|
|
37
|
-
|
|
38
|
-
"""
|
|
39
|
-
|
|
40
|
-
def __init__(
|
|
41
|
-
self,
|
|
42
|
-
view_server: str,
|
|
43
|
-
platform_url: str,
|
|
44
|
-
user_id: str,
|
|
45
|
-
user_pwd: str = None,
|
|
46
|
-
token: str = None,
|
|
47
|
-
):
|
|
48
|
-
self.view_server = view_server
|
|
49
|
-
self.platform_url = platform_url
|
|
50
|
-
self.user_id = user_id
|
|
51
|
-
self.user_pwd = user_pwd
|
|
52
|
-
Client.__init__(self, view_server, platform_url, user_id, user_pwd, token=token)
|
|
53
|
-
|
|
54
|
-
async def _async_create_element_from_template(self, body: dict) -> str:
|
|
55
|
-
"""Create a new metadata element from a template. Async version.
|
|
56
|
-
Parameters
|
|
57
|
-
----------
|
|
58
|
-
body : str
|
|
59
|
-
The json body used to instantiate the template.
|
|
60
|
-
|
|
61
|
-
Returns
|
|
62
|
-
-------
|
|
63
|
-
Response
|
|
64
|
-
The guid of the resulting element
|
|
65
|
-
|
|
66
|
-
Raises
|
|
67
|
-
------
|
|
68
|
-
InvalidParameterException
|
|
69
|
-
PropertyServerException
|
|
70
|
-
UserNotAuthorizedException
|
|
71
|
-
|
|
72
|
-
Notes
|
|
73
|
-
-----
|
|
74
|
-
See also: https://egeria-project.org/features/templated-cataloguing/overview/
|
|
75
|
-
The full description of the body is shown below:
|
|
76
|
-
{
|
|
77
|
-
"typeName" : "",
|
|
78
|
-
"initialStatus" : "",
|
|
79
|
-
"initialClassifications" : "",
|
|
80
|
-
"anchorGUID" : "",
|
|
81
|
-
"isOwnAnchor" : "",
|
|
82
|
-
"effectiveFrom" : "",
|
|
83
|
-
"effectiveTo" : "",
|
|
84
|
-
"templateGUID" : "",
|
|
85
|
-
"templateProperties" : {},
|
|
86
|
-
"placeholderPropertyValues" : {
|
|
87
|
-
"placeholderPropertyName1" : "placeholderPropertyValue1",
|
|
88
|
-
"placeholderPropertyName2" : "placeholderPropertyValue2"
|
|
89
|
-
},
|
|
90
|
-
"parentGUID" : "",
|
|
91
|
-
"parentRelationshipTypeName" : "",
|
|
92
|
-
"parentRelationshipProperties" : "",
|
|
93
|
-
"parentAtEnd1" : "",
|
|
94
|
-
"effectiveTime" : ""
|
|
95
|
-
}
|
|
96
|
-
"""
|
|
97
|
-
|
|
98
|
-
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/automated-curation/catalog-templates/new-element"
|
|
99
|
-
response = await self._async_make_request("POST", url, body)
|
|
100
|
-
return response.json().get("guid", "GUID failed to be returned")
|
|
101
|
-
|
|
102
|
-
def create_element_from_template(self, body: dict) -> str:
|
|
103
|
-
"""Create a new metadata element from a template. Async version.
|
|
104
|
-
Parameters
|
|
105
|
-
----------
|
|
106
|
-
body : str
|
|
107
|
-
The json body used to instantiate the template.
|
|
108
|
-
server : str, optional
|
|
109
|
-
The name of the view server to use. If not provided, the default server name will be used.
|
|
110
|
-
|
|
111
|
-
Returns
|
|
112
|
-
-------
|
|
113
|
-
Response
|
|
114
|
-
The guid of the resulting element
|
|
115
|
-
|
|
116
|
-
Raises
|
|
117
|
-
------
|
|
118
|
-
InvalidParameterException
|
|
119
|
-
PropertyServerException
|
|
120
|
-
UserNotAuthorizedException
|
|
121
|
-
|
|
122
|
-
Notes
|
|
123
|
-
-----
|
|
124
|
-
See also: https://egeria-project.org/features/templated-cataloguing/overview/
|
|
125
|
-
The full description of the body is shown below:
|
|
126
|
-
{
|
|
127
|
-
"typeName" : "",
|
|
128
|
-
"initialStatus" : "",
|
|
129
|
-
"initialClassifications" : "",
|
|
130
|
-
"anchorGUID" : "",
|
|
131
|
-
"isOwnAnchor" : "",
|
|
132
|
-
"effectiveFrom" : "",
|
|
133
|
-
"effectiveTo" : "",
|
|
134
|
-
"templateGUID" : "",
|
|
135
|
-
"templateProperties" : {},
|
|
136
|
-
"placeholderPropertyValues" : {
|
|
137
|
-
"placeholderPropertyName1" : "placeholderPropertyValue1",
|
|
138
|
-
"placeholderPropertyName2" : "placeholderPropertyValue2"
|
|
139
|
-
},
|
|
140
|
-
"parentGUID" : "",
|
|
141
|
-
"parentRelationshipTypeName" : "",
|
|
142
|
-
"parentRelationshipProperties" : "",
|
|
143
|
-
"parentAtEnd1" : "",
|
|
144
|
-
"effectiveTime" : ""
|
|
145
|
-
}
|
|
146
|
-
"""
|
|
147
|
-
loop = asyncio.get_event_loop()
|
|
148
|
-
response = loop.run_until_complete(
|
|
149
|
-
self._async_create_element_from_template(body)
|
|
150
|
-
)
|
|
151
|
-
return response
|
|
152
|
-
|
|
153
|
-
async def _async_create_kafka_server_element_from_template(
|
|
154
|
-
self, kafka_server: str, host_name: str, port: str
|
|
155
|
-
) -> str:
|
|
156
|
-
"""Create a Kafka server element from a template. Async version.
|
|
157
|
-
|
|
158
|
-
Parameters
|
|
159
|
-
----------
|
|
160
|
-
kafka_server : str
|
|
161
|
-
The name of the Kafka server.
|
|
162
|
-
|
|
163
|
-
host_name : str
|
|
164
|
-
The host name of the Kafka server.
|
|
165
|
-
|
|
166
|
-
port : str
|
|
167
|
-
The port number of the Kafka server.
|
|
168
|
-
|
|
169
|
-
Returns
|
|
170
|
-
-------
|
|
171
|
-
str
|
|
172
|
-
The GUID of the Kafka server element.
|
|
173
|
-
"""
|
|
174
|
-
|
|
175
|
-
body = {
|
|
176
|
-
"templateGUID": TEMPLATE_GUIDS["Apache Kafka Server"],
|
|
177
|
-
"isOwnAnchor": "true",
|
|
178
|
-
"placeholderPropertyValues": {
|
|
179
|
-
"serverName": kafka_server,
|
|
180
|
-
"hostIdentifier": host_name,
|
|
181
|
-
"portNumber": port,
|
|
182
|
-
},
|
|
183
|
-
}
|
|
184
|
-
response = await self._async_create_element_from_template(body)
|
|
185
|
-
return response
|
|
186
|
-
|
|
187
|
-
def create_kafka_server_element_from_template(
|
|
188
|
-
self, kafka_server: str, host_name: str, port: str
|
|
189
|
-
) -> str:
|
|
190
|
-
"""Create a Kafka server element from a template.
|
|
191
|
-
|
|
192
|
-
Parameters
|
|
193
|
-
----------
|
|
194
|
-
kafka_server : str
|
|
195
|
-
The name of the Kafka server.
|
|
196
|
-
|
|
197
|
-
host_name : str
|
|
198
|
-
The host name of the Kafka server.
|
|
199
|
-
|
|
200
|
-
port : str
|
|
201
|
-
The port number of the Kafka server.
|
|
202
|
-
|
|
203
|
-
Returns
|
|
204
|
-
-------
|
|
205
|
-
str
|
|
206
|
-
The GUID of the Kafka server element.
|
|
207
|
-
"""
|
|
208
|
-
loop = asyncio.get_event_loop()
|
|
209
|
-
response = loop.run_until_complete(
|
|
210
|
-
self._async_create_kafka_server_element_from_template(
|
|
211
|
-
kafka_server, host_name, port
|
|
212
|
-
)
|
|
213
|
-
)
|
|
214
|
-
return response
|
|
215
|
-
|
|
216
|
-
async def _async_create_postgres_server_element_from_template(
|
|
217
|
-
self,
|
|
218
|
-
postgres_server: str,
|
|
219
|
-
host_name: str,
|
|
220
|
-
port: str,
|
|
221
|
-
db_user: str,
|
|
222
|
-
db_pwd: str,
|
|
223
|
-
) -> str:
|
|
224
|
-
"""Create a Postgres server element from a template. Async version.
|
|
225
|
-
|
|
226
|
-
Parameters
|
|
227
|
-
----------
|
|
228
|
-
postgres_server : str
|
|
229
|
-
The name of the Postgres server.
|
|
230
|
-
|
|
231
|
-
host_name : str
|
|
232
|
-
The host name of the Postgres server.
|
|
233
|
-
|
|
234
|
-
port : str
|
|
235
|
-
The port number of the Postgres server.
|
|
236
|
-
|
|
237
|
-
db_user: str
|
|
238
|
-
User name to connect to the database
|
|
239
|
-
|
|
240
|
-
db_pwd: str
|
|
241
|
-
User password to connect to the database
|
|
242
|
-
|
|
243
|
-
Returns
|
|
244
|
-
-------
|
|
245
|
-
str
|
|
246
|
-
The GUID of the Kafka server element.
|
|
247
|
-
"""
|
|
248
|
-
body = {
|
|
249
|
-
"templateGUID": TEMPLATE_GUIDS["PostgreSQL Server"],
|
|
250
|
-
"isOwnAnchor": "true",
|
|
251
|
-
"placeholderPropertyValues": {
|
|
252
|
-
"serverName": postgres_server,
|
|
253
|
-
"hostIdentifier": host_name,
|
|
254
|
-
"portNumber": port,
|
|
255
|
-
"databaseUserId": db_user,
|
|
256
|
-
"databasePassword": db_pwd,
|
|
257
|
-
},
|
|
258
|
-
}
|
|
259
|
-
response = await self._async_create_element_from_template(body)
|
|
260
|
-
return response
|
|
261
|
-
|
|
262
|
-
def create_postgres_server_element_from_template(
|
|
263
|
-
self,
|
|
264
|
-
postgres_server: str,
|
|
265
|
-
host_name: str,
|
|
266
|
-
port: str,
|
|
267
|
-
db_user: str,
|
|
268
|
-
db_pwd: str,
|
|
269
|
-
) -> str:
|
|
270
|
-
"""Create a Postgres server element from a template.
|
|
271
|
-
|
|
272
|
-
Parameters
|
|
273
|
-
----------
|
|
274
|
-
postgres_server : str
|
|
275
|
-
The name of the Postgres server.
|
|
276
|
-
|
|
277
|
-
host_name : str
|
|
278
|
-
The host name of the Postgres server.
|
|
279
|
-
|
|
280
|
-
port : str
|
|
281
|
-
The port number of the Postgres server.
|
|
282
|
-
|
|
283
|
-
db_user: str
|
|
284
|
-
User name to connect to the database
|
|
285
|
-
|
|
286
|
-
db_pwd: str
|
|
287
|
-
User password to connect to the database
|
|
288
|
-
|
|
289
|
-
Returns
|
|
290
|
-
-------
|
|
291
|
-
str
|
|
292
|
-
The GUID of the Postgres server element.
|
|
293
|
-
"""
|
|
294
|
-
loop = asyncio.get_event_loop()
|
|
295
|
-
response = loop.run_until_complete(
|
|
296
|
-
self._async_create_postgres_server_element_from_template(
|
|
297
|
-
postgres_server, host_name, port, db_user, db_pwd
|
|
298
|
-
)
|
|
299
|
-
)
|
|
300
|
-
return response
|
|
301
|
-
|
|
302
|
-
#
|
|
303
|
-
# Engine Actions
|
|
304
|
-
#
|
|
305
|
-
|
|
306
|
-
async def _async_find_in_asset_domain(
|
|
307
|
-
self,
|
|
308
|
-
search_string: str,
|
|
309
|
-
start_from: int = 0,
|
|
310
|
-
page_size: int = max_paging_size,
|
|
311
|
-
starts_with: bool = True,
|
|
312
|
-
ends_with: bool = False,
|
|
313
|
-
ignore_case: bool = True,
|
|
314
|
-
time_out: int = 60,
|
|
315
|
-
) -> list | str:
|
|
316
|
-
"""Locate string value in elements that are anchored to assets. Async Version.
|
|
317
|
-
Asset: https: // egeria - project.org / concepts / asset /
|
|
318
|
-
|
|
319
|
-
Parameters
|
|
320
|
-
----------
|
|
321
|
-
search_string : str
|
|
322
|
-
The string used for searching engine actions by name.
|
|
323
|
-
|
|
324
|
-
starts_with : bool, optional
|
|
325
|
-
Whether to search engine actions that start with the given search string. Default is False.
|
|
326
|
-
|
|
327
|
-
ends_with : bool, optional
|
|
328
|
-
Whether to search engine actions that end with the given search string. Default is False.
|
|
329
|
-
|
|
330
|
-
ignore_case : bool, optional
|
|
331
|
-
Whether to ignore case while searching engine actions. Default is False.
|
|
332
|
-
|
|
333
|
-
start_from : int, optional
|
|
334
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
335
|
-
|
|
336
|
-
page_size : int, optional
|
|
337
|
-
The maximum number of engine actions to fetch in a single request. Default is `max_paging_size`.
|
|
338
|
-
|
|
339
|
-
Returns
|
|
340
|
-
-------
|
|
341
|
-
List[dict] or str
|
|
342
|
-
A list of dictionaries representing the engine actions found based on the search query.
|
|
343
|
-
If no actions are found, returns the string "no actions".
|
|
344
|
-
|
|
345
|
-
Raises:
|
|
346
|
-
------
|
|
347
|
-
InvalidParameterException
|
|
348
|
-
PropertyServerException
|
|
349
|
-
UserNotAuthorizedException
|
|
350
|
-
|
|
351
|
-
Notes
|
|
352
|
-
-----
|
|
353
|
-
For more information see: https://egeria-project.org/concepts/engine-action
|
|
354
|
-
"""
|
|
355
|
-
|
|
356
|
-
validate_search_string(search_string)
|
|
357
|
-
|
|
358
|
-
starts_with_s = str(starts_with).lower()
|
|
359
|
-
ends_with_s = str(ends_with).lower()
|
|
360
|
-
ignore_case_s = str(ignore_case).lower()
|
|
361
|
-
|
|
362
|
-
url = (
|
|
363
|
-
f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/in-domain/"
|
|
364
|
-
f"by-search-string?startFrom={start_from}&pageSize={page_size}&startsWith={starts_with_s}&"
|
|
365
|
-
f"endWith={ends_with_s}&ignoreCase={ignore_case_s}"
|
|
366
|
-
)
|
|
367
|
-
body = {"filter": search_string}
|
|
368
|
-
response = await self._async_make_request("POST", url, body, time_out=time_out)
|
|
369
|
-
return response.json().get("searchMatches", "NO_ASSETS_FOUND")
|
|
370
|
-
|
|
371
|
-
def find_in_asset_domain(
|
|
372
|
-
self,
|
|
373
|
-
search_string: str,
|
|
374
|
-
start_from: int = 0,
|
|
375
|
-
page_size: int = max_paging_size,
|
|
376
|
-
starts_with: bool = True,
|
|
377
|
-
ends_with: bool = False,
|
|
378
|
-
ignore_case: bool = True,
|
|
379
|
-
time_out: int = 60,
|
|
380
|
-
) -> list | str:
|
|
381
|
-
"""Retrieve the list of engine action metadata elements that contain the search string. Async Version.
|
|
382
|
-
Parameters
|
|
383
|
-
----------
|
|
384
|
-
search_string : str
|
|
385
|
-
The string used for searching engine actions by name.
|
|
386
|
-
|
|
387
|
-
starts_with : bool, optional
|
|
388
|
-
Whether to search engine actions that start with the given search string. Default is False.
|
|
389
|
-
|
|
390
|
-
ends_with : bool, optional
|
|
391
|
-
Whether to search engine actions that end with the given search string. Default is False.
|
|
392
|
-
|
|
393
|
-
ignore_case : bool, optional
|
|
394
|
-
Whether to ignore case while searching engine actions. Default is False.
|
|
395
|
-
|
|
396
|
-
start_from : int, optional
|
|
397
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
398
|
-
|
|
399
|
-
page_size : int, optional
|
|
400
|
-
The maximum number of engine actions to fetch in a single request. Default is `max_paging_size`.
|
|
401
|
-
|
|
402
|
-
Returns
|
|
403
|
-
-------
|
|
404
|
-
List[dict] or str
|
|
405
|
-
A list of dictionaries representing the engine actions found based on the search query.
|
|
406
|
-
If no actions are found, returns the string "no actions".
|
|
407
|
-
|
|
408
|
-
Raises:
|
|
409
|
-
------
|
|
410
|
-
InvalidParameterException
|
|
411
|
-
PropertyServerException
|
|
412
|
-
UserNotAuthorizedException
|
|
413
|
-
|
|
414
|
-
Notes
|
|
415
|
-
-----
|
|
416
|
-
For more information see: https://egeria-project.org/concepts/engine-action
|
|
417
|
-
"""
|
|
418
|
-
loop = asyncio.get_event_loop()
|
|
419
|
-
response = loop.run_until_complete(
|
|
420
|
-
self._async_find_in_asset_domain(
|
|
421
|
-
search_string,
|
|
422
|
-
start_from,
|
|
423
|
-
page_size,
|
|
424
|
-
starts_with,
|
|
425
|
-
ends_with,
|
|
426
|
-
ignore_case,
|
|
427
|
-
time_out,
|
|
428
|
-
)
|
|
429
|
-
)
|
|
430
|
-
return response
|
|
431
|
-
|
|
432
|
-
async def _async_get_asset_graph(
|
|
433
|
-
self,
|
|
434
|
-
asset_guid: str,
|
|
435
|
-
start_from: int = 0,
|
|
436
|
-
page_size: int = max_paging_size,
|
|
437
|
-
) -> str | dict:
|
|
438
|
-
"""Return all the elements that are anchored to an asset plus relationships between these elements and to
|
|
439
|
-
other elements. Async Version.
|
|
440
|
-
Parameters
|
|
441
|
-
----------
|
|
442
|
-
asset_guid : str
|
|
443
|
-
The unique identity of the asset to get the graph for.
|
|
444
|
-
|
|
445
|
-
start_from : int, optional
|
|
446
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
447
|
-
|
|
448
|
-
page_size : int, optional
|
|
449
|
-
The maximum number of engine actions to fetch in a single request. Default is `max_paging_size`.
|
|
450
|
-
|
|
451
|
-
Returns
|
|
452
|
-
-------
|
|
453
|
-
dict or str
|
|
454
|
-
A dictionary of the asset graph.
|
|
455
|
-
|
|
456
|
-
Raises:
|
|
457
|
-
------
|
|
458
|
-
InvalidParameterException
|
|
459
|
-
PropertyServerException
|
|
460
|
-
UserNotAuthorizedException
|
|
461
|
-
|
|
462
|
-
"""
|
|
463
|
-
|
|
464
|
-
url = (
|
|
465
|
-
f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/{asset_guid}/"
|
|
466
|
-
f"as-graph?startFrom={start_from}&pageSize={page_size}"
|
|
467
|
-
)
|
|
468
|
-
|
|
469
|
-
response = await self._async_make_request("GET", url)
|
|
470
|
-
return response.json().get("assetGraph", NO_ASSETS_FOUND)
|
|
471
|
-
|
|
472
|
-
def get_asset_graph(
|
|
473
|
-
self,
|
|
474
|
-
asset_guid: str,
|
|
475
|
-
start_from: int = 0,
|
|
476
|
-
page_size: int = max_paging_size,
|
|
477
|
-
) -> str | dict:
|
|
478
|
-
"""Return all the elements that are anchored to an asset plus relationships between these elements and to
|
|
479
|
-
other elements.
|
|
480
|
-
Parameters
|
|
481
|
-
----------
|
|
482
|
-
asset_guid : str
|
|
483
|
-
The unique identity of the asset to get the graph for.
|
|
484
|
-
|
|
485
|
-
start_from : int, optional
|
|
486
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
487
|
-
|
|
488
|
-
page_size : int, optional
|
|
489
|
-
The maximum number of engine actions to fetch in a single request. Default is `max_paging_size`.
|
|
490
|
-
|
|
491
|
-
Returns
|
|
492
|
-
-------
|
|
493
|
-
dict or str
|
|
494
|
-
A dictionary of the asset graph.
|
|
495
|
-
|
|
496
|
-
Raises:
|
|
497
|
-
------
|
|
498
|
-
InvalidParameterException
|
|
499
|
-
PropertyServerException
|
|
500
|
-
UserNotAuthorizedException
|
|
501
|
-
|
|
502
|
-
"""
|
|
503
|
-
|
|
504
|
-
loop = asyncio.get_event_loop()
|
|
505
|
-
response = loop.run_until_complete(
|
|
506
|
-
self._async_get_asset_graph(asset_guid, start_from, page_size)
|
|
507
|
-
)
|
|
508
|
-
return response
|
|
509
|
-
|
|
510
|
-
def get_asset_mermaid_graph(
|
|
511
|
-
self,
|
|
512
|
-
asset_guid: str,
|
|
513
|
-
start_from: int = 0,
|
|
514
|
-
page_size: int = max_paging_size,
|
|
515
|
-
) -> str:
|
|
516
|
-
"""Return the asset graph as mermaid markdown string.
|
|
517
|
-
Parameters
|
|
518
|
-
----------
|
|
519
|
-
asset_guid : str
|
|
520
|
-
The unique identity of the asset to get the graph for.
|
|
521
|
-
|
|
522
|
-
start_from : int, optional
|
|
523
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
524
|
-
|
|
525
|
-
page_size : int, optional
|
|
526
|
-
The maximum number of engine actions to fetch in a single request. Default is `max_paging_size`.
|
|
527
|
-
|
|
528
|
-
Returns
|
|
529
|
-
-------
|
|
530
|
-
str
|
|
531
|
-
A mermaid string representing the asset graph.
|
|
532
|
-
|
|
533
|
-
Raises:
|
|
534
|
-
------
|
|
535
|
-
InvalidParameterException
|
|
536
|
-
PropertyServerException
|
|
537
|
-
UserNotAuthorizedException
|
|
538
|
-
|
|
539
|
-
"""
|
|
540
|
-
|
|
541
|
-
asset_graph = self.get_asset_graph(asset_guid, start_from, page_size)
|
|
542
|
-
return asset_graph.get("mermaidGraph")
|
|
543
|
-
|
|
544
|
-
async def _async_get_asset_lineage_graph(
|
|
545
|
-
self,
|
|
546
|
-
asset_guid: str,
|
|
547
|
-
effective_time: str = None,
|
|
548
|
-
as_of_time: str = None,
|
|
549
|
-
relationship_types: [str] = None,
|
|
550
|
-
limit_to_isc_q_name: str = None,
|
|
551
|
-
hilight_isc_q_name: str = None,
|
|
552
|
-
start_from: int = 0,
|
|
553
|
-
page_size: int = max_paging_size,
|
|
554
|
-
) -> str | dict:
|
|
555
|
-
"""Return the asset lineage including a mermaid markdown string. Async Version.
|
|
556
|
-
Parameters
|
|
557
|
-
----------
|
|
558
|
-
asset_guid : str
|
|
559
|
-
The unique identity of the asset to get the graph for.
|
|
560
|
-
effective_time: str, default is None
|
|
561
|
-
Effective time to query on. If not specified, the current time is used.
|
|
562
|
-
as_of_time: str = None
|
|
563
|
-
as_of_time to query on. If not specified, the current time is used.
|
|
564
|
-
relationship_types: [str], default is None,
|
|
565
|
-
relationship types to include in the lineage graph. If not specified, all relationship types are included.
|
|
566
|
-
limit_to_isc_q_name: str = None,
|
|
567
|
-
if specified, filters results to only include information supply chains with the given name.
|
|
568
|
-
hilight_isc_q_name: str = None,
|
|
569
|
-
if specified, highlights the information supply chain with the given name.
|
|
570
|
-
|
|
571
|
-
start_from : int, optional
|
|
572
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
573
|
-
|
|
574
|
-
page_size : int, optional
|
|
575
|
-
The maximum number of engine actions to fetch in a single request. Default is `max_paging_size`.
|
|
576
|
-
|
|
577
|
-
Returns
|
|
578
|
-
-------
|
|
579
|
-
str | dict
|
|
580
|
-
A dictionary of the asset graph that includes a mermaid markdown string.
|
|
581
|
-
|
|
582
|
-
Raises:
|
|
583
|
-
------
|
|
584
|
-
InvalidParameterException
|
|
585
|
-
PropertyServerException
|
|
586
|
-
UserNotAuthorizedException
|
|
587
|
-
|
|
588
|
-
"""
|
|
589
|
-
|
|
590
|
-
url = (
|
|
591
|
-
f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/{asset_guid}/"
|
|
592
|
-
f"as-lineage-graph?startFrom={start_from}&pageSize={page_size}"
|
|
593
|
-
)
|
|
594
|
-
body = {
|
|
595
|
-
"effectiveTime": effective_time,
|
|
596
|
-
"asOfTime": as_of_time,
|
|
597
|
-
"relationshipTypes": relationship_types,
|
|
598
|
-
"limitToISCQualifiedName": limit_to_isc_q_name,
|
|
599
|
-
"highlightISCQualifiedName": hilight_isc_q_name,
|
|
600
|
-
}
|
|
601
|
-
response = await self._async_make_request("POST", url, body_slimmer(body))
|
|
602
|
-
return response.json().get("assetLineageGraph", NO_ASSETS_FOUND)
|
|
603
|
-
|
|
604
|
-
def get_asset_lineage_graph(
|
|
605
|
-
self,
|
|
606
|
-
asset_guid: str,
|
|
607
|
-
effective_time: str = None,
|
|
608
|
-
as_of_time: str = None,
|
|
609
|
-
relationship_types: [str] = None,
|
|
610
|
-
limit_to_isc_q_name: str = None,
|
|
611
|
-
hilight_isc_q_name: str = None,
|
|
612
|
-
start_from: int = 0,
|
|
613
|
-
page_size: int = max_paging_size,
|
|
614
|
-
) -> str | dict:
|
|
615
|
-
"""Return the asset lineage including a mermaid markdown string. Async Version.
|
|
616
|
-
Parameters
|
|
617
|
-
----------
|
|
618
|
-
asset_guid : str
|
|
619
|
-
The unique identity of the asset to get the graph for.
|
|
620
|
-
effective_time: str, default is None
|
|
621
|
-
Effective time to query on. If not specified, the current time is used.
|
|
622
|
-
as_of_time: str = None
|
|
623
|
-
as_of_time to query on. If not specified, the current time is used.
|
|
624
|
-
relationship_types: [str], default is None,
|
|
625
|
-
relationship types to include in the lineage graph. If not specified, all relationship types are included.
|
|
626
|
-
limit_to_isc_q_name: str = None,
|
|
627
|
-
if specified, filters results to only include information supply chains with the given name.
|
|
628
|
-
hilight_isc_q_name: str = None,
|
|
629
|
-
if speficied, highlights the information supply chain with the given name.
|
|
630
|
-
|
|
631
|
-
start_from : int, optional
|
|
632
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
633
|
-
|
|
634
|
-
page_size : int, optional
|
|
635
|
-
The maximum number of elements to fetch in a single request. Default is `max_paging_size`.
|
|
636
|
-
|
|
637
|
-
Returns
|
|
638
|
-
-------
|
|
639
|
-
dict or str
|
|
640
|
-
A dictionary of the asset graph.
|
|
641
|
-
|
|
642
|
-
Raises:
|
|
643
|
-
------
|
|
644
|
-
InvalidParameterException
|
|
645
|
-
PropertyServerException
|
|
646
|
-
UserNotAuthorizedException
|
|
647
|
-
|
|
648
|
-
"""
|
|
649
|
-
|
|
650
|
-
loop = asyncio.get_event_loop()
|
|
651
|
-
response = loop.run_until_complete(
|
|
652
|
-
self._async_get_asset_lineage_graph(asset_guid, effective_time, as_of_time, relationship_types,
|
|
653
|
-
limit_to_isc_q_name, hilight_isc_q_name, start_from, page_size)
|
|
654
|
-
)
|
|
655
|
-
return response
|
|
656
|
-
|
|
657
|
-
def get_asset_lineage_mermaid_graph(
|
|
658
|
-
self,
|
|
659
|
-
asset_guid: str,
|
|
660
|
-
effective_time: str = None,
|
|
661
|
-
as_of_time: str = None,
|
|
662
|
-
relationship_types: [str] = None,
|
|
663
|
-
limit_to_isc_q_name: str = None,
|
|
664
|
-
hilight_isc_q_name: str = None,
|
|
665
|
-
start_from: int = 0,
|
|
666
|
-
page_size: int = max_paging_size,
|
|
667
|
-
) -> str:
|
|
668
|
-
"""Return the asset lineage including a mermaid markdown string. Async Version.
|
|
669
|
-
Parameters
|
|
670
|
-
----------
|
|
671
|
-
asset_guid : str
|
|
672
|
-
The unique identity of the asset to get the graph for.
|
|
673
|
-
effective_time: str, default is None
|
|
674
|
-
Effective time to query on. If not specified, the current time is used.
|
|
675
|
-
as_of_time: str = None
|
|
676
|
-
as_of_time to query on. If not specified, the current time is used.
|
|
677
|
-
relationship_types: [str], default is None,
|
|
678
|
-
relationship types to include in the lineage graph. If not specified, all relationship types are included.
|
|
679
|
-
limit_to_isc_q_name: str = None,
|
|
680
|
-
if specified, filters results to only include information supply chains with the given name.
|
|
681
|
-
hilight_isc_q_name: str = None,
|
|
682
|
-
if specified, highlights the information supply chain with the given name.
|
|
683
|
-
|
|
684
|
-
start_from : int, optional
|
|
685
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
686
|
-
|
|
687
|
-
page_size : int, optional
|
|
688
|
-
The maximum number of elements to fetch in a single request.
|
|
689
|
-
Default is `max_paging_size`.
|
|
690
|
-
|
|
691
|
-
Returns
|
|
692
|
-
-------
|
|
693
|
-
str
|
|
694
|
-
A mermaid string representing the lineage.
|
|
695
|
-
|
|
696
|
-
Raises:
|
|
697
|
-
------
|
|
698
|
-
InvalidParameterException
|
|
699
|
-
PropertyServerException
|
|
700
|
-
UserNotAuthorizedException
|
|
701
|
-
|
|
702
|
-
"""
|
|
703
|
-
|
|
704
|
-
asset_graph = self.get_asset_lineage_graph(asset_guid, effective_time,
|
|
705
|
-
as_of_time, relationship_types,
|
|
706
|
-
limit_to_isc_q_name, hilight_isc_q_name,
|
|
707
|
-
start_from, page_size)
|
|
708
|
-
return asset_graph.get("mermaidGraph")
|
|
709
|
-
|
|
710
|
-
async def _async_get_assets_by_metadata_collection_id(
|
|
711
|
-
self,
|
|
712
|
-
metadata_collection_id: str,
|
|
713
|
-
type_name: str = None,
|
|
714
|
-
effective_time: str = None,
|
|
715
|
-
start_from: int = 0,
|
|
716
|
-
page_size: int = max_paging_size,
|
|
717
|
-
) -> str | list:
|
|
718
|
-
"""Return a list of assets that come from the requested metadata collection. Can optionally
|
|
719
|
-
specify an type name as a filter and an effective time. Async Version.
|
|
720
|
-
|
|
721
|
-
Parameters
|
|
722
|
-
----------
|
|
723
|
-
metadata_collection_id : str
|
|
724
|
-
The unique identity of the metadata collection to return assets from.
|
|
725
|
-
|
|
726
|
-
type_name: str, optional
|
|
727
|
-
An asset type to optionally filter on. If not specified, all assets in the collection will be returned.
|
|
728
|
-
|
|
729
|
-
effective_time: str, optional
|
|
730
|
-
The effective time to filter on. If not specified, the current time is used.
|
|
731
|
-
|
|
732
|
-
start_from : int, optional
|
|
733
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
734
|
-
|
|
735
|
-
page_size : int, optional
|
|
736
|
-
The maximum number of engine actions to fetch in a single request. Default is `max_paging_size`.
|
|
737
|
-
|
|
738
|
-
Returns
|
|
739
|
-
-------
|
|
740
|
-
list or str
|
|
741
|
-
A list of assets in a [dict].
|
|
742
|
-
|
|
743
|
-
Raises:
|
|
744
|
-
------
|
|
745
|
-
InvalidParameterException
|
|
746
|
-
PropertyServerException
|
|
747
|
-
UserNotAuthorizedException
|
|
748
|
-
|
|
749
|
-
"""
|
|
750
|
-
|
|
751
|
-
url = (
|
|
752
|
-
f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/by-metadata-collection-id/"
|
|
753
|
-
f"{metadata_collection_id}?startFrom={start_from}&pageSize={page_size}"
|
|
754
|
-
)
|
|
755
|
-
|
|
756
|
-
body = {"filter": type_name, "effectiveTime": effective_time}
|
|
757
|
-
body_s = body_slimmer(body)
|
|
758
|
-
response = await self._async_make_request("POST", url, body_s)
|
|
759
|
-
return response.json().get("assets", "NO_ASSETS_FOUND")
|
|
760
|
-
|
|
761
|
-
def get_assets_by_metadata_collection_id(
|
|
762
|
-
self,
|
|
763
|
-
metadata_collection_id: str,
|
|
764
|
-
type_name: str = None,
|
|
765
|
-
effective_time: str = None,
|
|
766
|
-
start_from: int = 0,
|
|
767
|
-
page_size: int = max_paging_size,
|
|
768
|
-
) -> str | list:
|
|
769
|
-
"""Return a list of assets that come from the requested metadata collection. Can optionally
|
|
770
|
-
specify an type name as a filter and an effective time. Async Version.
|
|
771
|
-
|
|
772
|
-
Parameters
|
|
773
|
-
----------
|
|
774
|
-
metadata_collection_id : str
|
|
775
|
-
The unique identity of the metadata collection to return assets from.
|
|
776
|
-
|
|
777
|
-
type_name: str, optional
|
|
778
|
-
An asset type to optionally filter on. If not specified, all assets in the collection will be returned.
|
|
779
|
-
|
|
780
|
-
effective_time: str, optional
|
|
781
|
-
The effective time to filter on. If not specified, the current time is used.
|
|
782
|
-
|
|
783
|
-
start_from : int, optional
|
|
784
|
-
The index from which to start fetching the engine actions. Default is 0.
|
|
785
|
-
|
|
786
|
-
page_size : int, optional
|
|
787
|
-
The maximum number of engine actions to fetch in a single request. Default is `max_paging_size`.
|
|
788
|
-
|
|
789
|
-
Returns
|
|
790
|
-
-------
|
|
791
|
-
list or str
|
|
792
|
-
A list of assets in a [dict].
|
|
793
|
-
|
|
794
|
-
Raises:
|
|
795
|
-
------
|
|
796
|
-
InvalidParameterException
|
|
797
|
-
PropertyServerException
|
|
798
|
-
UserNotAuthorizedException
|
|
799
|
-
|
|
800
|
-
"""
|
|
801
|
-
|
|
802
|
-
loop = asyncio.get_event_loop()
|
|
803
|
-
response = loop.run_until_complete(
|
|
804
|
-
self._async_get_assets_by_metadata_collection_id(
|
|
805
|
-
metadata_collection_id,
|
|
806
|
-
type_name,
|
|
807
|
-
effective_time,
|
|
808
|
-
start_from,
|
|
809
|
-
page_size,
|
|
810
|
-
)
|
|
811
|
-
)
|
|
812
|
-
return response
|
|
813
|
-
|
|
814
|
-
async def _async_get_asset_types(self) -> str | dict:
|
|
815
|
-
"""Return all the elements that are anchored to an asset plus relationships between these elements and to
|
|
816
|
-
other elements. Async Version.
|
|
817
|
-
Parameters
|
|
818
|
-
----------
|
|
819
|
-
|
|
820
|
-
Returns
|
|
821
|
-
-------
|
|
822
|
-
dict or str
|
|
823
|
-
A dictionary of the asset graph.
|
|
824
|
-
|
|
825
|
-
Raises:
|
|
826
|
-
------
|
|
827
|
-
InvalidParameterException
|
|
828
|
-
PropertyServerException
|
|
829
|
-
UserNotAuthorizedException
|
|
830
|
-
|
|
831
|
-
"""
|
|
832
|
-
|
|
833
|
-
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/types"
|
|
834
|
-
|
|
835
|
-
response = await self._async_make_request("GET", url)
|
|
836
|
-
|
|
837
|
-
return response.json().get("types", "NO_ASSETS_FOUND")
|
|
838
|
-
|
|
839
|
-
def get_asset_catalog_types(self) -> str | dict:
|
|
840
|
-
"""Return all the elements that are anchored to an asset plus relationships between these elements and to
|
|
841
|
-
other elements.
|
|
842
|
-
Parameters
|
|
843
|
-
----------
|
|
844
|
-
|
|
845
|
-
Returns
|
|
846
|
-
-------
|
|
847
|
-
dict or str
|
|
848
|
-
A dictionary of the asset graph.
|
|
849
|
-
|
|
850
|
-
Raises:
|
|
851
|
-
------
|
|
852
|
-
InvalidParameterException
|
|
853
|
-
PropertyServerException
|
|
854
|
-
UserNotAuthorizedException
|
|
855
|
-
|
|
856
|
-
"""
|
|
857
|
-
|
|
858
|
-
loop = asyncio.get_event_loop()
|
|
859
|
-
response = loop.run_until_complete(self._async_get_asset_types())
|
|
860
|
-
return response
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
if __name__ == "__main__":
|
|
864
|
-
print("Main-asset-catalog")
|