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
|
@@ -0,0 +1,842 @@
|
|
|
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
|
+
|
|
14
|
+
from loguru import logger
|
|
15
|
+
|
|
16
|
+
from pyegeria.core._server_client import ServerClient
|
|
17
|
+
from pyegeria.view.base_report_formats import select_report_format, get_report_spec_match
|
|
18
|
+
from pyegeria.models import SearchStringRequestBody, ResultsRequestBody
|
|
19
|
+
from pyegeria.view.output_formatter import populate_columns_from_properties, _extract_referenceable_properties, \
|
|
20
|
+
get_required_relationships, generate_output
|
|
21
|
+
from pyegeria.core.utils import body_slimmer, dynamic_catch
|
|
22
|
+
from pyegeria.core._globals import max_paging_size
|
|
23
|
+
from pyegeria.core._globals import NO_ELEMENTS_FOUND, NO_ASSETS_FOUND
|
|
24
|
+
from typing import Any, Optional
|
|
25
|
+
|
|
26
|
+
class AssetCatalog(ServerClient):
|
|
27
|
+
"""
|
|
28
|
+
Client for the Asset Catalog View Service.
|
|
29
|
+
|
|
30
|
+
The Asset Catalog View Service provides methods to search for assets,
|
|
31
|
+
retrieve their properties, lineage, and related glossary information.
|
|
32
|
+
|
|
33
|
+
Attributes
|
|
34
|
+
----------
|
|
35
|
+
view_server : str
|
|
36
|
+
The name of the View Server to use.
|
|
37
|
+
platform_url : str
|
|
38
|
+
URL of the server platform to connect to.
|
|
39
|
+
user_id : str
|
|
40
|
+
The identity of the user calling the method.
|
|
41
|
+
user_pwd : str
|
|
42
|
+
The password associated with the user_id. Defaults to None.
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
def __init__(self, view_server: str, platform_url: str, user_id: str, user_pwd: Optional[str] = None,
|
|
46
|
+
token: str = None):
|
|
47
|
+
super().__init__(view_server, platform_url, user_id, user_pwd, token)
|
|
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
|
+
|
|
53
|
+
#
|
|
54
|
+
# Output helpers
|
|
55
|
+
#
|
|
56
|
+
|
|
57
|
+
def _extract_asset_properties(self, element: dict, columns_struct: dict) -> dict:
|
|
58
|
+
col_data = populate_columns_from_properties(element, columns_struct)
|
|
59
|
+
columns_list = col_data.get("formats", {}).get("attributes", [])
|
|
60
|
+
header_props = _extract_referenceable_properties(element)
|
|
61
|
+
for col in columns_list:
|
|
62
|
+
key = col.get("key")
|
|
63
|
+
if key in header_props:
|
|
64
|
+
col["value"] = header_props.get(key)
|
|
65
|
+
elif isinstance(key, str) and key.lower() == "guid":
|
|
66
|
+
col["value"] = header_props.get("GUID")
|
|
67
|
+
# GAP specifics: processStatus, elementTypeName, stepCount
|
|
68
|
+
proc_status = (
|
|
69
|
+
element.get("properties", {}).get("processStatus")
|
|
70
|
+
or element.get("elementProperties", {}).get("processStatus")
|
|
71
|
+
or element.get("processStatus")
|
|
72
|
+
)
|
|
73
|
+
step_count = (
|
|
74
|
+
element.get("properties", {}).get("stepCount")
|
|
75
|
+
or element.get("elementProperties", {}).get("stepCount")
|
|
76
|
+
or element.get("stepCount")
|
|
77
|
+
)
|
|
78
|
+
for col in columns_list:
|
|
79
|
+
key = col.get("key")
|
|
80
|
+
if key in ("process_status", "processStatus"):
|
|
81
|
+
col["value"] = proc_status
|
|
82
|
+
elif key == "stepCount":
|
|
83
|
+
col["value"] = step_count
|
|
84
|
+
col_data = get_required_relationships(element, col_data)
|
|
85
|
+
mermaid_val = element.get("mermaidGraph", "") or ""
|
|
86
|
+
for col in columns_list:
|
|
87
|
+
if col.get("key") == "mermaid":
|
|
88
|
+
col["value"] = mermaid_val
|
|
89
|
+
break
|
|
90
|
+
return col_data
|
|
91
|
+
|
|
92
|
+
def _generate_asset_output(self, elements: dict | list[dict], filter_string: str | None,
|
|
93
|
+
element_type_name: str | None, output_format: str = "DICT",
|
|
94
|
+
report_spec: dict | str | None = None) -> str | list[dict]:
|
|
95
|
+
entity_type = element_type_name
|
|
96
|
+
get_additional_props_func = None
|
|
97
|
+
if report_spec:
|
|
98
|
+
if isinstance(report_spec, str):
|
|
99
|
+
output_formats = select_report_format(report_spec, output_format)
|
|
100
|
+
else:
|
|
101
|
+
output_formats = get_report_spec_match(report_spec, output_format)
|
|
102
|
+
elif element_type_name:
|
|
103
|
+
output_formats = select_report_format(element_type_name, output_format)
|
|
104
|
+
else:
|
|
105
|
+
output_formats = select_report_format(entity_type, output_format)
|
|
106
|
+
if output_formats is None:
|
|
107
|
+
output_formats = select_report_format("Default", output_format)
|
|
108
|
+
return generate_output(
|
|
109
|
+
elements,
|
|
110
|
+
filter,
|
|
111
|
+
entity_type,
|
|
112
|
+
output_format,
|
|
113
|
+
self._extract_asset_properties,
|
|
114
|
+
None,
|
|
115
|
+
output_formats,
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
@dynamic_catch
|
|
119
|
+
async def _async_find_in_asset_domain(self, search_string: str = "*",
|
|
120
|
+
starts_with: bool = True, ends_with: bool = False,
|
|
121
|
+
ignore_case: bool = False,
|
|
122
|
+
anchor_domain: Optional[str] = None,
|
|
123
|
+
metadata_element_type: Optional[str] = None,
|
|
124
|
+
metadata_element_subtypes: Optional[list[str]] = None,
|
|
125
|
+
skip_relationships: Optional[list[str]] = None,
|
|
126
|
+
include_only_relationships: Optional[list[str]] = None,
|
|
127
|
+
skip_classified_elements: Optional[list[str]] = None,
|
|
128
|
+
include_only_classified_elements: Optional[list[str]] = None,
|
|
129
|
+
graph_query_depth: int = 3,
|
|
130
|
+
governance_zone_filter: Optional[list[str]] = None, as_of_time: Optional[str] = None,
|
|
131
|
+
effective_time: Optional[str] = None, relationship_page_size: int = 0,
|
|
132
|
+
limit_results_by_status: Optional[list[str]] = None, sequencing_order: Optional[str] = None,
|
|
133
|
+
sequencing_property: Optional[str] = None,
|
|
134
|
+
output_format: str = "JSON",
|
|
135
|
+
report_spec: str | dict = "Referenceable",
|
|
136
|
+
start_from: int = 0, page_size: int = 100,
|
|
137
|
+
property_names: Optional[list[str]] = None,
|
|
138
|
+
body: Optional[dict | SearchStringRequestBody] = None) -> list | str:
|
|
139
|
+
""" Retrieve the list of asset metadata elements that contain the search string. Async Version.
|
|
140
|
+
|
|
141
|
+
Parameters
|
|
142
|
+
----------
|
|
143
|
+
search_string: str
|
|
144
|
+
Search string to match against - None or '*' indicate match against all assets.
|
|
145
|
+
starts_with : bool, [default=True], optional
|
|
146
|
+
Starts with the supplied string.
|
|
147
|
+
ends_with : bool, [default=False], optional
|
|
148
|
+
Ends with the supplied string
|
|
149
|
+
ignore_case : bool, [default=False], optional
|
|
150
|
+
Ignore case when searching
|
|
151
|
+
anchor_domain: str, optional
|
|
152
|
+
The anchor domain to search in.
|
|
153
|
+
metadata_element_type: str, optional
|
|
154
|
+
The type of metadata element to search for.
|
|
155
|
+
metadata_element_subtypes: list[str], optional
|
|
156
|
+
The subtypes of metadata element to search for.
|
|
157
|
+
skip_relationships: list[str], optional
|
|
158
|
+
The types of relationships to skip.
|
|
159
|
+
include_only_relationships: list[str], optional
|
|
160
|
+
The types of relationships to include.
|
|
161
|
+
skip_classified_elements: list[str], optional
|
|
162
|
+
The types of classified elements to skip.
|
|
163
|
+
include_only_classified_elements: list[str], optional
|
|
164
|
+
The types of classified elements to include.
|
|
165
|
+
graph_query_depth: int, [default=3], optional
|
|
166
|
+
The depth of the graph query.
|
|
167
|
+
governance_zone_filter: list[str], optional
|
|
168
|
+
The governance zones to search in.
|
|
169
|
+
as_of_time: str, optional
|
|
170
|
+
The time to search as of.
|
|
171
|
+
effective_time: str, optional
|
|
172
|
+
The effective time to search at.
|
|
173
|
+
relationship_page_size: int, [default=0], optional
|
|
174
|
+
The page size for relationships.
|
|
175
|
+
limit_results_by_status: list[str], optional
|
|
176
|
+
The statuses to limit results by.
|
|
177
|
+
sequencing_order: str, optional
|
|
178
|
+
The order to sequence results by.
|
|
179
|
+
sequencing_property: str, optional
|
|
180
|
+
The property to sequence results by.
|
|
181
|
+
output_format: str, default = "JSON"
|
|
182
|
+
- one of "MD", "LIST", "FORM", "REPORT", "DICT", "MERMAID" or "JSON"
|
|
183
|
+
report_spec: str | dict , optional, default = "Referenceable"
|
|
184
|
+
- The desired output columns/fields to include.
|
|
185
|
+
start_from: int, [default=0], optional
|
|
186
|
+
When multiple pages of results are available, the page number to start from.
|
|
187
|
+
page_size: int, [default=100]
|
|
188
|
+
The number of items to return in a single page.
|
|
189
|
+
property_names: list[str], optional
|
|
190
|
+
The names of properties to search for.
|
|
191
|
+
body: dict | SearchStringRequestBody, optional, default = None
|
|
192
|
+
- if provided, the search parameters in the body will supercede other attributes, such as "search_string"
|
|
193
|
+
|
|
194
|
+
Returns
|
|
195
|
+
-------
|
|
196
|
+
List | str
|
|
197
|
+
|
|
198
|
+
Output depends on the output format specified.
|
|
199
|
+
|
|
200
|
+
Raises
|
|
201
|
+
-------
|
|
202
|
+
|
|
203
|
+
ValidationError
|
|
204
|
+
If the client passes incorrect parameters on the request that don't conform to the data model.
|
|
205
|
+
PyegeriaException
|
|
206
|
+
Issues raised in communicating or server side processing.
|
|
207
|
+
NotAuthorizedException
|
|
208
|
+
The principle specified by the user_id does not have authorization for the requested action
|
|
209
|
+
|
|
210
|
+
"""
|
|
211
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/in-domain/by-search-string"
|
|
212
|
+
response = await self._async_find_request(url, _type="Asset", _gen_output=self._generate_asset_output,
|
|
213
|
+
search_string=search_string, starts_with=starts_with,
|
|
214
|
+
ends_with=ends_with, ignore_case=ignore_case,
|
|
215
|
+
anchor_domain=anchor_domain,
|
|
216
|
+
metadata_element_type=metadata_element_type,
|
|
217
|
+
metadata_element_subtypes=metadata_element_subtypes,
|
|
218
|
+
skip_relationships=skip_relationships,
|
|
219
|
+
include_only_relationships=include_only_relationships,
|
|
220
|
+
skip_classified_elements=skip_classified_elements,
|
|
221
|
+
include_only_classified_elements=include_only_classified_elements,
|
|
222
|
+
graph_query_depth=graph_query_depth,
|
|
223
|
+
governance_zone_filter=governance_zone_filter,
|
|
224
|
+
as_of_time=as_of_time, effective_time=effective_time,
|
|
225
|
+
relationship_page_size=relationship_page_size,
|
|
226
|
+
limit_results_by_status=limit_results_by_status,
|
|
227
|
+
sequencing_order=sequencing_order,
|
|
228
|
+
sequencing_property=sequencing_property,
|
|
229
|
+
output_format=output_format, report_spec=report_spec,
|
|
230
|
+
start_from=start_from, page_size=page_size,
|
|
231
|
+
property_names=property_names, body=body)
|
|
232
|
+
|
|
233
|
+
return response
|
|
234
|
+
|
|
235
|
+
@dynamic_catch
|
|
236
|
+
def find_in_asset_domain(self, search_string: str = "*",
|
|
237
|
+
starts_with: bool = True, ends_with: bool = False,
|
|
238
|
+
ignore_case: bool = False,
|
|
239
|
+
anchor_domain: Optional[str] = None,
|
|
240
|
+
metadata_element_type: Optional[str] = None,
|
|
241
|
+
metadata_element_subtypes: Optional[list[str]] = None,
|
|
242
|
+
skip_relationships: Optional[list[str]] = None,
|
|
243
|
+
include_only_relationships: Optional[list[str]] = None,
|
|
244
|
+
skip_classified_elements: Optional[list[str]] = None,
|
|
245
|
+
include_only_classified_elements: Optional[list[str]] = None,
|
|
246
|
+
graph_query_depth: int = 3,
|
|
247
|
+
governance_zone_filter: Optional[list[str]] = None, as_of_time: Optional[str] = None,
|
|
248
|
+
effective_time: Optional[str] = None, relationship_page_size: int = 0,
|
|
249
|
+
limit_results_by_status: Optional[list[str]] = None, sequencing_order: Optional[str] = None,
|
|
250
|
+
sequencing_property: Optional[str] = None,
|
|
251
|
+
output_format: str = "JSON",
|
|
252
|
+
report_spec: str | dict = "Referenceable",
|
|
253
|
+
start_from: int = 0, page_size: int = 100,
|
|
254
|
+
property_names: Optional[list[str]] = None,
|
|
255
|
+
body: Optional[dict | SearchStringRequestBody] = None) -> list | str:
|
|
256
|
+
""" Retrieve the list of asset metadata elements that contain the search string.
|
|
257
|
+
|
|
258
|
+
Parameters
|
|
259
|
+
----------
|
|
260
|
+
search_string: str
|
|
261
|
+
Search string to match against - None or '*' indicate match against all assets.
|
|
262
|
+
starts_with : bool, [default=True], optional
|
|
263
|
+
Starts with the supplied string.
|
|
264
|
+
ends_with : bool, [default=False], optional
|
|
265
|
+
Ends with the supplied string
|
|
266
|
+
ignore_case : bool, [default=False], optional
|
|
267
|
+
Ignore case when searching
|
|
268
|
+
anchor_domain: str, optional
|
|
269
|
+
The anchor domain to search in.
|
|
270
|
+
metadata_element_type: str, optional
|
|
271
|
+
The type of metadata element to search for.
|
|
272
|
+
metadata_element_subtypes: list[str], optional
|
|
273
|
+
The subtypes of metadata element to search for.
|
|
274
|
+
skip_relationships: list[str], optional
|
|
275
|
+
The types of relationships to skip.
|
|
276
|
+
include_only_relationships: list[str], optional
|
|
277
|
+
The types of relationships to include.
|
|
278
|
+
skip_classified_elements: list[str], optional
|
|
279
|
+
The types of classified elements to skip.
|
|
280
|
+
include_only_classified_elements: list[str], optional
|
|
281
|
+
The types of classified elements to include.
|
|
282
|
+
graph_query_depth: int, [default=3], optional
|
|
283
|
+
The depth of the graph query.
|
|
284
|
+
governance_zone_filter: list[str], optional
|
|
285
|
+
The governance zones to search in.
|
|
286
|
+
as_of_time: str, optional
|
|
287
|
+
The time to search as of.
|
|
288
|
+
effective_time: str, optional
|
|
289
|
+
The effective time to search at.
|
|
290
|
+
relationship_page_size: int, [default=0], optional
|
|
291
|
+
The page size for relationships.
|
|
292
|
+
limit_results_by_status: list[str], optional
|
|
293
|
+
The statuses to limit results by.
|
|
294
|
+
sequencing_order: str, optional
|
|
295
|
+
The order to sequence results by.
|
|
296
|
+
sequencing_property: str, optional
|
|
297
|
+
The property to sequence results by.
|
|
298
|
+
output_format: str, default = "JSON"
|
|
299
|
+
- one of "MD", "LIST", "FORM", "REPORT", "DICT", "MERMAID" or "JSON"
|
|
300
|
+
report_spec: str | dict , optional, default = "Referenceable"
|
|
301
|
+
- The desired output columns/fields to include.
|
|
302
|
+
start_from: int, [default=0], optional
|
|
303
|
+
When multiple pages of results are available, the page number to start from.
|
|
304
|
+
page_size: int, [default=100]
|
|
305
|
+
The number of items to return in a single page.
|
|
306
|
+
property_names: list[str], optional
|
|
307
|
+
The names of properties to search for.
|
|
308
|
+
body: dict | SearchStringRequestBody, optional, default = None
|
|
309
|
+
- if provided, the search parameters in the body will supercede other attributes, such as "search_string"
|
|
310
|
+
|
|
311
|
+
Returns
|
|
312
|
+
-------
|
|
313
|
+
List | str
|
|
314
|
+
|
|
315
|
+
Output depends on the output format specified.
|
|
316
|
+
|
|
317
|
+
Raises
|
|
318
|
+
-------
|
|
319
|
+
|
|
320
|
+
ValidationError
|
|
321
|
+
If the client passes incorrect parameters on the request that don't conform to the data model.
|
|
322
|
+
PyegeriaException
|
|
323
|
+
Issues raised in communicating or server side processing.
|
|
324
|
+
NotAuthorizedException
|
|
325
|
+
The principle specified by the user_id does not have authorization for the requested action
|
|
326
|
+
|
|
327
|
+
"""
|
|
328
|
+
loop = asyncio.get_event_loop()
|
|
329
|
+
return loop.run_until_complete(self._async_find_in_asset_domain(search_string=search_string,
|
|
330
|
+
starts_with=starts_with,
|
|
331
|
+
ends_with=ends_with,
|
|
332
|
+
ignore_case=ignore_case,
|
|
333
|
+
anchor_domain=anchor_domain,
|
|
334
|
+
metadata_element_type=metadata_element_type,
|
|
335
|
+
metadata_element_subtypes=metadata_element_subtypes,
|
|
336
|
+
skip_relationships=skip_relationships,
|
|
337
|
+
include_only_relationships=include_only_relationships,
|
|
338
|
+
skip_classified_elements=skip_classified_elements,
|
|
339
|
+
include_only_classified_elements=include_only_classified_elements,
|
|
340
|
+
graph_query_depth=graph_query_depth,
|
|
341
|
+
governance_zone_filter=governance_zone_filter,
|
|
342
|
+
as_of_time=as_of_time,
|
|
343
|
+
effective_time=effective_time,
|
|
344
|
+
relationship_page_size=relationship_page_size,
|
|
345
|
+
limit_results_by_status=limit_results_by_status,
|
|
346
|
+
sequencing_order=sequencing_order,
|
|
347
|
+
sequencing_property=sequencing_property,
|
|
348
|
+
output_format=output_format,
|
|
349
|
+
report_spec=report_spec,
|
|
350
|
+
start_from=start_from,
|
|
351
|
+
page_size=page_size,
|
|
352
|
+
property_names=property_names,
|
|
353
|
+
body=body))
|
|
354
|
+
|
|
355
|
+
async def _async_get_asset_graph(
|
|
356
|
+
self,
|
|
357
|
+
asset_guid: str,
|
|
358
|
+
start_from: int = 0,
|
|
359
|
+
page_size: int = 0,
|
|
360
|
+
output_format: str = "MERMAID",
|
|
361
|
+
report_spec: str = "Common-Mermaid",
|
|
362
|
+
body: Optional[dict | ResultsRequestBody] = None
|
|
363
|
+
) -> str | dict:
|
|
364
|
+
"""Return all the elements that are anchored to an asset plus relationships between these elements and to
|
|
365
|
+
other elements. Async version.
|
|
366
|
+
|
|
367
|
+
Parameters
|
|
368
|
+
----------
|
|
369
|
+
asset_guid : str
|
|
370
|
+
The unique identity of the asset to get the graph for.
|
|
371
|
+
start_from : int, optional
|
|
372
|
+
The index from which to start fetching. Default is 0.
|
|
373
|
+
page_size : int, optional
|
|
374
|
+
The maximum number of items to fetch. Default is 0 (all).
|
|
375
|
+
output_format : str, default = "MERMAID"
|
|
376
|
+
The desired output format. One of "MD", "LIST", "FORM", "REPORT", "DICT", "MERMAID", or "JSON".
|
|
377
|
+
report_spec : str | dict, optional
|
|
378
|
+
The desired output columns/fields to include. Default is "Common-Mermaid".
|
|
379
|
+
body : dict | ResultsRequestBody, optional
|
|
380
|
+
If provided, the search parameters in the body will supersede other attributes.
|
|
381
|
+
|
|
382
|
+
Returns
|
|
383
|
+
-------
|
|
384
|
+
str | dict
|
|
385
|
+
The asset graph in the requested format.
|
|
386
|
+
|
|
387
|
+
Raises
|
|
388
|
+
------
|
|
389
|
+
PyegeriaException
|
|
390
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
391
|
+
PyegeriaNotAuthorizedException
|
|
392
|
+
The principle specified by the user_id does not have authorization.
|
|
393
|
+
"""
|
|
394
|
+
|
|
395
|
+
url = (
|
|
396
|
+
f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/{asset_guid}/"
|
|
397
|
+
f"as-graph"
|
|
398
|
+
)
|
|
399
|
+
response = await self._async_get_results_body_request(url, "Asset", self._generate_asset_output,
|
|
400
|
+
start_from, page_size, output_format, report_spec, body)
|
|
401
|
+
return response
|
|
402
|
+
|
|
403
|
+
def get_asset_graph(
|
|
404
|
+
self,
|
|
405
|
+
asset_guid: str,
|
|
406
|
+
start_from: int = 0,
|
|
407
|
+
page_size: int = 0,
|
|
408
|
+
output_format: str = "MERMAID",
|
|
409
|
+
report_spec: str = "Common-Mermaid",
|
|
410
|
+
body: Optional[dict | ResultsRequestBody] = None
|
|
411
|
+
) -> str | dict:
|
|
412
|
+
"""Return all the elements that are anchored to an asset plus relationships between these elements and to
|
|
413
|
+
other elements.
|
|
414
|
+
|
|
415
|
+
Parameters
|
|
416
|
+
----------
|
|
417
|
+
asset_guid : str
|
|
418
|
+
The unique identity of the asset to get the graph for.
|
|
419
|
+
start_from : int, optional
|
|
420
|
+
The index from which to start fetching. Default is 0.
|
|
421
|
+
page_size : int, optional
|
|
422
|
+
The maximum number of items to fetch. Default is 0 (all).
|
|
423
|
+
output_format : str, default = "MERMAID"
|
|
424
|
+
The desired output format. One of "MD", "LIST", "FORM", "REPORT", "DICT", "MERMAID", or "JSON".
|
|
425
|
+
report_spec : str | dict, optional
|
|
426
|
+
The desired output columns/fields to include. Default is "Common-Mermaid".
|
|
427
|
+
body : dict | ResultsRequestBody, optional
|
|
428
|
+
If provided, the search parameters in the body will supersede other attributes.
|
|
429
|
+
|
|
430
|
+
Returns
|
|
431
|
+
-------
|
|
432
|
+
str | dict
|
|
433
|
+
The asset graph in the requested format.
|
|
434
|
+
|
|
435
|
+
Raises
|
|
436
|
+
------
|
|
437
|
+
PyegeriaException
|
|
438
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
439
|
+
PyegeriaNotAuthorizedException
|
|
440
|
+
The principle specified by the user_id does not have authorization.
|
|
441
|
+
"""
|
|
442
|
+
|
|
443
|
+
loop = asyncio.get_event_loop()
|
|
444
|
+
response = loop.run_until_complete(
|
|
445
|
+
self._async_get_asset_graph(asset_guid, start_from, page_size, output_format,
|
|
446
|
+
report_spec, body)
|
|
447
|
+
)
|
|
448
|
+
return response
|
|
449
|
+
|
|
450
|
+
def get_asset_mermaid_graph(
|
|
451
|
+
self,
|
|
452
|
+
asset_guid: str,
|
|
453
|
+
start_from: int = 0,
|
|
454
|
+
page_size: int = 0,
|
|
455
|
+
) -> str:
|
|
456
|
+
"""Return the asset graph as mermaid markdown string.
|
|
457
|
+
Parameters
|
|
458
|
+
----------
|
|
459
|
+
asset_guid : str
|
|
460
|
+
The unique identity of the asset to get the graph for.
|
|
461
|
+
|
|
462
|
+
start_from : int, optional
|
|
463
|
+
The index from which to start fetching the engine actions. Default is 0.
|
|
464
|
+
|
|
465
|
+
page_size : int, optional
|
|
466
|
+
The maximum number of engine actions to fetch in a single request. Default is `max_paging_size`.
|
|
467
|
+
|
|
468
|
+
Returns
|
|
469
|
+
-------
|
|
470
|
+
str
|
|
471
|
+
A mermaid string representing the asset graph.
|
|
472
|
+
|
|
473
|
+
Raises
|
|
474
|
+
------
|
|
475
|
+
PyegeriaException
|
|
476
|
+
One of the pyegeria exceptions will be raised if there are issues in communications, message format, or
|
|
477
|
+
Egeria errors.
|
|
478
|
+
PyegeriaNotAuthorizedException
|
|
479
|
+
The principle specified by the user_id does not have authorization for the requested action
|
|
480
|
+
|
|
481
|
+
"""
|
|
482
|
+
|
|
483
|
+
asset_graph = self.get_asset_graph(asset_guid, start_from, page_size)
|
|
484
|
+
return asset_graph[0]
|
|
485
|
+
|
|
486
|
+
async def _async_get_asset_lineage_graph(
|
|
487
|
+
self,
|
|
488
|
+
asset_guid: str,
|
|
489
|
+
effective_time: Optional[str] = None,
|
|
490
|
+
as_of_time: Optional[str] = None,
|
|
491
|
+
relationship_types: [str] = None,
|
|
492
|
+
limit_to_isc_q_name: Optional[str] = None,
|
|
493
|
+
hilight_isc_q_name: Optional[str] = None,
|
|
494
|
+
all_anchors: bool = False,
|
|
495
|
+
start_from: int = 0,
|
|
496
|
+
page_size: int =0,
|
|
497
|
+
output_format: str = "DICT",
|
|
498
|
+
report_spec: str = "Common-Mermaid",
|
|
499
|
+
|
|
500
|
+
) -> str | dict:
|
|
501
|
+
"""Return the asset lineage including a mermaid markdown string. Async version.
|
|
502
|
+
|
|
503
|
+
Parameters
|
|
504
|
+
----------
|
|
505
|
+
asset_guid : str
|
|
506
|
+
The unique identity of the asset to get the graph for.
|
|
507
|
+
effective_time : str, optional
|
|
508
|
+
Effective time to query on. If not specified, the current time is used.
|
|
509
|
+
as_of_time : str, optional
|
|
510
|
+
As-of time to query on. If not specified, the current time is used.
|
|
511
|
+
relationship_types : list[str], optional
|
|
512
|
+
Relationship types to include in the lineage graph. If not specified, all relationship types are included.
|
|
513
|
+
limit_to_isc_q_name : str, optional
|
|
514
|
+
If specified, filters results to only include information supply chains with the given qualified name.
|
|
515
|
+
hilight_isc_q_name : str, optional
|
|
516
|
+
If specified, highlights the information supply chain with the given qualified name.
|
|
517
|
+
all_anchors : bool, optional
|
|
518
|
+
Whether to include all anchors. Default is False.
|
|
519
|
+
start_from : int, optional
|
|
520
|
+
The index from which to start fetching. Default is 0.
|
|
521
|
+
page_size : int, optional
|
|
522
|
+
The maximum number of items to fetch. Default is 0 (all).
|
|
523
|
+
output_format : str, optional
|
|
524
|
+
The desired output format. Default is "DICT".
|
|
525
|
+
report_spec : str, optional
|
|
526
|
+
The desired output columns/fields to include. Default is "Common-Mermaid".
|
|
527
|
+
|
|
528
|
+
Returns
|
|
529
|
+
-------
|
|
530
|
+
str | dict
|
|
531
|
+
A dictionary of the asset graph that includes a mermaid markdown string.
|
|
532
|
+
|
|
533
|
+
Raises
|
|
534
|
+
------
|
|
535
|
+
PyegeriaException
|
|
536
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
537
|
+
"""
|
|
538
|
+
|
|
539
|
+
url = (
|
|
540
|
+
f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/{asset_guid}/"
|
|
541
|
+
f"as-lineage-graph"
|
|
542
|
+
)
|
|
543
|
+
body = {
|
|
544
|
+
"class": "AssetLineageGraphRequestBody",
|
|
545
|
+
"effectiveTime": effective_time,
|
|
546
|
+
"asOfTime": as_of_time,
|
|
547
|
+
"relationshipTypes": relationship_types,
|
|
548
|
+
"limitToISCQualifiedName": limit_to_isc_q_name,
|
|
549
|
+
"highlightISCQualifiedName": hilight_isc_q_name,
|
|
550
|
+
"allAnchors": all_anchors,
|
|
551
|
+
"startFrom": start_from,
|
|
552
|
+
"pageSize": page_size
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
response = await self._async_make_request("POST", url, body_slimmer(body))
|
|
556
|
+
element = response.json().get("element",NO_ASSETS_FOUND)
|
|
557
|
+
if type(element) is str:
|
|
558
|
+
logger.info(NO_ELEMENTS_FOUND)
|
|
559
|
+
return NO_ELEMENTS_FOUND
|
|
560
|
+
|
|
561
|
+
if output_format != 'JSON': # return a simplified markdown representation
|
|
562
|
+
logger.info(f"Found elements, output format: {output_format} and report_spec: {report_spec}")
|
|
563
|
+
return self._generate_asset_output(element, None, "Asset",
|
|
564
|
+
output_format, report_spec)
|
|
565
|
+
return element
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
def get_asset_lineage_graph(
|
|
569
|
+
self,
|
|
570
|
+
asset_guid: str,
|
|
571
|
+
effective_time: Optional[str] = None,
|
|
572
|
+
as_of_time: Optional[str] = None,
|
|
573
|
+
relationship_types: [str] = None,
|
|
574
|
+
limit_to_isc_q_name: Optional[str] = None,
|
|
575
|
+
hilight_isc_q_name: Optional[str] = None,
|
|
576
|
+
all_anchors: bool = False,
|
|
577
|
+
start_from: int = 0,
|
|
578
|
+
page_size: int = 0,
|
|
579
|
+
output_format: str = "DICT",
|
|
580
|
+
report_spec: str = "Common-Mermaid",
|
|
581
|
+
) -> str | dict:
|
|
582
|
+
"""Return the asset lineage including a mermaid markdown string.
|
|
583
|
+
|
|
584
|
+
Parameters
|
|
585
|
+
----------
|
|
586
|
+
asset_guid : str
|
|
587
|
+
The unique identity of the asset to get the graph for.
|
|
588
|
+
effective_time : str, optional
|
|
589
|
+
Effective time to query on. If not specified, the current time is used.
|
|
590
|
+
as_of_time : str, optional
|
|
591
|
+
As-of time to query on. If not specified, the current time is used.
|
|
592
|
+
relationship_types : list[str], optional
|
|
593
|
+
Relationship types to include in the lineage graph. If not specified, all relationship types are included.
|
|
594
|
+
limit_to_isc_q_name : str, optional
|
|
595
|
+
If specified, filters results to only include information supply chains with the given qualified name.
|
|
596
|
+
hilight_isc_q_name : str, optional
|
|
597
|
+
If specified, highlights the information supply chain with the given qualified name.
|
|
598
|
+
all_anchors : bool, optional
|
|
599
|
+
Whether to include all anchors. Default is False.
|
|
600
|
+
start_from : int, optional
|
|
601
|
+
The index from which to start fetching. Default is 0.
|
|
602
|
+
page_size : int, optional
|
|
603
|
+
The maximum number of items to fetch. Default is 0 (all).
|
|
604
|
+
output_format : str, optional
|
|
605
|
+
The desired output format. Default is "DICT".
|
|
606
|
+
report_spec : str, optional
|
|
607
|
+
The desired output columns/fields to include. Default is "Common-Mermaid".
|
|
608
|
+
|
|
609
|
+
Returns
|
|
610
|
+
-------
|
|
611
|
+
str | dict
|
|
612
|
+
A dictionary of the asset graph that includes a mermaid markdown string.
|
|
613
|
+
|
|
614
|
+
Raises
|
|
615
|
+
------
|
|
616
|
+
PyegeriaException
|
|
617
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
618
|
+
"""
|
|
619
|
+
|
|
620
|
+
loop = asyncio.get_event_loop()
|
|
621
|
+
response = loop.run_until_complete(
|
|
622
|
+
self._async_get_asset_lineage_graph(asset_guid, effective_time, as_of_time, relationship_types,
|
|
623
|
+
limit_to_isc_q_name, hilight_isc_q_name, all_anchors,
|
|
624
|
+
start_from, page_size, output_format, report_spec)
|
|
625
|
+
)
|
|
626
|
+
return response
|
|
627
|
+
|
|
628
|
+
def get_asset_lineage_mermaid_graph(
|
|
629
|
+
self,
|
|
630
|
+
asset_guid: str,
|
|
631
|
+
effective_time: Optional[str] = None,
|
|
632
|
+
as_of_time: Optional[str] = None,
|
|
633
|
+
relationship_types: [str] = None,
|
|
634
|
+
limit_to_isc_q_name: Optional[str] = None,
|
|
635
|
+
hilight_isc_q_name: Optional[str] = None,
|
|
636
|
+
start_from: int = 0,
|
|
637
|
+
page_size: int = max_paging_size,
|
|
638
|
+
) -> str:
|
|
639
|
+
"""Return the asset lineage including a mermaid markdown string. Async Version.
|
|
640
|
+
Parameters
|
|
641
|
+
----------
|
|
642
|
+
asset_guid : str
|
|
643
|
+
The unique identity of the asset to get the graph for.
|
|
644
|
+
effective_time: str, default is None
|
|
645
|
+
Effective time to query on. If not specified, the current time is used.
|
|
646
|
+
as_of_time: str = None
|
|
647
|
+
as_of_time to query on. If not specified, the current time is used.
|
|
648
|
+
relationship_types: [str], default is None,
|
|
649
|
+
relationship types to include in the lineage graph. If not specified, all relationship types are included.
|
|
650
|
+
limit_to_isc_q_name: Optional[str] = None,
|
|
651
|
+
if specified, filters results to only include information supply chains with the given name.
|
|
652
|
+
hilight_isc_q_name: Optional[str] = None,
|
|
653
|
+
if specified, highlights the information supply chain with the given name.
|
|
654
|
+
|
|
655
|
+
start_from : int, optional
|
|
656
|
+
The index from which to start fetching the engine actions. Default is 0.
|
|
657
|
+
|
|
658
|
+
page_size : int, optional
|
|
659
|
+
The maximum number of elements to fetch in a single request.
|
|
660
|
+
Default is `max_paging_size`.
|
|
661
|
+
|
|
662
|
+
Returns
|
|
663
|
+
-------
|
|
664
|
+
str
|
|
665
|
+
A mermaid string representing the lineage.
|
|
666
|
+
|
|
667
|
+
Raises:
|
|
668
|
+
------
|
|
669
|
+
PyegeriaInvalidParameterException
|
|
670
|
+
PyegeriaAPIException
|
|
671
|
+
PyegeriaUnauthorizedException
|
|
672
|
+
|
|
673
|
+
"""
|
|
674
|
+
|
|
675
|
+
asset_graph = self.get_asset_lineage_graph(asset_guid, effective_time,
|
|
676
|
+
as_of_time, relationship_types,
|
|
677
|
+
limit_to_isc_q_name, hilight_isc_q_name,
|
|
678
|
+
start_from, page_size, "JSON")
|
|
679
|
+
return asset_graph.get("mermaidGraph")
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
async def _async_get_assets_by_metadata_collection_id(
|
|
683
|
+
self,
|
|
684
|
+
metadata_collection_id: str,
|
|
685
|
+
type_name: Optional[str] = None,
|
|
686
|
+
effective_time: Optional[str] = None,
|
|
687
|
+
start_from: int = 0,
|
|
688
|
+
page_size: int = 0,
|
|
689
|
+
output_format: str = "JSON",
|
|
690
|
+
report_spec: str = "Referenceable",
|
|
691
|
+
) -> str | list:
|
|
692
|
+
"""Return a list of assets from the requested metadata collection. Async version.
|
|
693
|
+
|
|
694
|
+
Parameters
|
|
695
|
+
----------
|
|
696
|
+
metadata_collection_id : str
|
|
697
|
+
The unique identity of the metadata collection to return assets from.
|
|
698
|
+
type_name : str, optional
|
|
699
|
+
An asset type to filter on. If not specified, all assets in the collection are returned.
|
|
700
|
+
effective_time : str, optional
|
|
701
|
+
The effective time to filter on. If not specified, the current time is used.
|
|
702
|
+
start_from : int, optional
|
|
703
|
+
The index from which to start fetching. Default is 0.
|
|
704
|
+
page_size : int, optional
|
|
705
|
+
The maximum number of assets to fetch in a single request. Default is 0 (all).
|
|
706
|
+
output_format : str, optional
|
|
707
|
+
The desired output format. Default is "JSON".
|
|
708
|
+
report_spec : str, optional
|
|
709
|
+
The desired output columns/fields to include. Default is "Referenceable".
|
|
710
|
+
|
|
711
|
+
Returns
|
|
712
|
+
-------
|
|
713
|
+
list | str
|
|
714
|
+
A list of assets or a string if an error occurs or no assets are found.
|
|
715
|
+
|
|
716
|
+
Raises
|
|
717
|
+
------
|
|
718
|
+
PyegeriaException
|
|
719
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
720
|
+
"""
|
|
721
|
+
|
|
722
|
+
url = (
|
|
723
|
+
f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/by-metadata-collection-id/"
|
|
724
|
+
f"{metadata_collection_id}"
|
|
725
|
+
)
|
|
726
|
+
|
|
727
|
+
body = {"filter": type_name,
|
|
728
|
+
"effectiveTime": effective_time,
|
|
729
|
+
"startFrom": start_from,
|
|
730
|
+
"pageSize": page_size,
|
|
731
|
+
}
|
|
732
|
+
body_s = body_slimmer(body)
|
|
733
|
+
response = await self._async_make_request("POST", url, body_s)
|
|
734
|
+
elements = response.json().get("elements", "NO_ASSETS_FOUND")
|
|
735
|
+
if type(elements) is str:
|
|
736
|
+
logger.info(NO_ELEMENTS_FOUND)
|
|
737
|
+
return NO_ELEMENTS_FOUND
|
|
738
|
+
|
|
739
|
+
if output_format != 'JSON': # return a simplified markdown representation
|
|
740
|
+
logger.info(f"Found elements, output format: {output_format} and report_spec: {report_spec}")
|
|
741
|
+
return self._generate_asset_output(elements, None, "Asset",
|
|
742
|
+
output_format, report_spec)
|
|
743
|
+
return elements
|
|
744
|
+
|
|
745
|
+
def get_assets_by_metadata_collection_id(
|
|
746
|
+
self,
|
|
747
|
+
metadata_collection_id: str,
|
|
748
|
+
type_name: Optional[str] = None,
|
|
749
|
+
effective_time: Optional[str] = None,
|
|
750
|
+
start_from: int = 0,
|
|
751
|
+
page_size: int = max_paging_size,
|
|
752
|
+
output_format: str = "JSON",
|
|
753
|
+
report_spec: str = "Referenceable",
|
|
754
|
+
) -> str | list:
|
|
755
|
+
"""Return a list of assets from the requested metadata collection.
|
|
756
|
+
|
|
757
|
+
Parameters
|
|
758
|
+
----------
|
|
759
|
+
metadata_collection_id : str
|
|
760
|
+
The unique identity of the metadata collection to return assets from.
|
|
761
|
+
type_name : str, optional
|
|
762
|
+
An asset type to filter on. If not specified, all assets in the collection are returned.
|
|
763
|
+
effective_time : str, optional
|
|
764
|
+
The effective time to filter on. If not specified, the current time is used.
|
|
765
|
+
start_from : int, optional
|
|
766
|
+
The index from which to start fetching. Default is 0.
|
|
767
|
+
page_size : int, optional
|
|
768
|
+
The maximum number of assets to fetch in a single request. Default is `max_paging_size`.
|
|
769
|
+
output_format : str, optional
|
|
770
|
+
The desired output format. Default is "JSON".
|
|
771
|
+
report_spec : str, optional
|
|
772
|
+
The desired output columns/fields to include. Default is "Referenceable".
|
|
773
|
+
|
|
774
|
+
Returns
|
|
775
|
+
-------
|
|
776
|
+
list | str
|
|
777
|
+
A list of assets or a string if an error occurs or no assets are found.
|
|
778
|
+
|
|
779
|
+
Raises
|
|
780
|
+
------
|
|
781
|
+
PyegeriaException
|
|
782
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
783
|
+
"""
|
|
784
|
+
|
|
785
|
+
loop = asyncio.get_event_loop()
|
|
786
|
+
response = loop.run_until_complete(
|
|
787
|
+
self._async_get_assets_by_metadata_collection_id(
|
|
788
|
+
metadata_collection_id,
|
|
789
|
+
type_name,
|
|
790
|
+
effective_time,
|
|
791
|
+
start_from,
|
|
792
|
+
page_size,
|
|
793
|
+
output_format,
|
|
794
|
+
report_spec,
|
|
795
|
+
)
|
|
796
|
+
)
|
|
797
|
+
return response
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
async def _async_get_asset_types(self) -> list | str:
|
|
803
|
+
"""Return the list of asset types supported by the Asset Catalog View Service. Async version.
|
|
804
|
+
|
|
805
|
+
Returns
|
|
806
|
+
-------
|
|
807
|
+
list | str
|
|
808
|
+
A list of asset types or NO_ASSETS_FOUND.
|
|
809
|
+
|
|
810
|
+
Raises
|
|
811
|
+
------
|
|
812
|
+
PyegeriaException
|
|
813
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
814
|
+
"""
|
|
815
|
+
|
|
816
|
+
url = f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/asset-catalog/assets/types"
|
|
817
|
+
|
|
818
|
+
response = await self._async_make_request("GET", url)
|
|
819
|
+
|
|
820
|
+
return response.json().get("types", "NO_ASSETS_FOUND")
|
|
821
|
+
|
|
822
|
+
def get_asset_types(self) -> list | str:
|
|
823
|
+
"""Return the list of asset types supported by the Asset Catalog View Service.
|
|
824
|
+
|
|
825
|
+
Returns
|
|
826
|
+
-------
|
|
827
|
+
list | str
|
|
828
|
+
A list of asset types or NO_ASSETS_FOUND.
|
|
829
|
+
|
|
830
|
+
Raises
|
|
831
|
+
------
|
|
832
|
+
PyegeriaException
|
|
833
|
+
If there are issues in communications, message format, or Egeria errors.
|
|
834
|
+
"""
|
|
835
|
+
|
|
836
|
+
loop = asyncio.get_event_loop()
|
|
837
|
+
response = loop.run_until_complete(self._async_get_asset_types())
|
|
838
|
+
return response
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
if __name__ == "__main__":
|
|
842
|
+
print("Main-asset-catalog")
|