pyegeria 5.4.7.6__tar.gz → 5.4.7.8__tar.gz
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.
- {pyegeria-5.4.7.6/pyegeria.egg-info → pyegeria-5.4.7.8}/PKG-INFO +1 -1
- pyegeria-5.4.7.6/commands/cat/list_format_set.py → pyegeria-5.4.7.8/commands/cat/run_report.py +4 -4
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cli/egeria.py +5 -5
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cli/egeria_cat.py +18 -15
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/gov_server_actions.py +6 -5
- {pyegeria-5.4.7.6/commands/my → pyegeria-5.4.7.8/commands/tech}/__init__.py +0 -2
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/dr_egeria.py +2 -2
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/ext_ref_commands.py +9 -3
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/solution_architect_commands.py +21 -23
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/common_md_proc_utils.py +7 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/common_md_utils.py +2 -2
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/__init__.py +0 -2
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/_client_new.py +4 -4
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/_output_formats.py +54 -3
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/automated_curation.py +71 -66
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/collection_manager.py +1 -1
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/config.py +3 -3
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/external_references.py +1 -1
- pyegeria-5.4.7.8/pyegeria/feedback_manager.py +4573 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/format_set_executor.py +16 -1
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/mcp_server.py +1 -5
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/mermaid_utilities.py +1 -1
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/output_formatter.py +8 -6
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/solution_architect.py +208 -147
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8/pyegeria.egg-info}/PKG-INFO +1 -1
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria.egg-info/SOURCES.txt +2 -1
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria.egg-info/entry_points.txt +1 -1
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyproject.toml +2 -2
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_automated_curation_omvs.py +12 -2
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_external_references.py +63 -138
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_feedback_manager_omvs.py +15 -8
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_solution_architect_omvs.py +78 -24
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/LICENSE +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/MANIFEST.in +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/README.md +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/Dr-Egeria_md-orig.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/dr_egeria_command_help.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/dr_egeria_jupyter.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/dr_egeria_md.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/exp_list_glossaries.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/get_asset_graph.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/get_collection.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/get_project_dependencies.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/get_project_structure.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/get_tech_type_elements.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/glossary_actions.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_assets.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_cert_types.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_collections.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_data_designer.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_data_structures_full.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_deployed_catalogs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_deployed_database_schemas.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_deployed_databases.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_deployed_servers.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_glossaries.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_projects.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_tech_type_elements.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_tech_types.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_terms.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_todos.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cat/list_user_ids.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cli/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cli/egeria_login_tui.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cli/egeria_my.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cli/egeria_ops.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cli/egeria_tech.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/cli/ops_config.py +0 -0
- {pyegeria-5.4.7.6/commands/tech → pyegeria-5.4.7.8/commands/my}/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/my/list_my_profile.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/my/list_my_roles.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/my/monitor_my_todos.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/my/monitor_open_todos.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/my/todo_actions.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/list_archives.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/list_catalog_targets.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/load_archive.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/monitor_asset_events.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/monitor_engine_activity.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/monitor_engine_activity_c.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/monitor_gov_eng_status.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/monitor_integ_daemon_status.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/monitor_platform_status.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/monitor_server_startup.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/monitor_server_status.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/orig_monitor_server_list.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/orig_monitor_server_status.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/refresh_integration_daemon.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/restart_integration_daemon.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/table_integ_daemon_status.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/ops/x_engine_actions.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/generic_actions.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/get_element_info.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/get_guid_info.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/get_tech_details.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/get_tech_type_template.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_all_om_type_elements.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_all_om_type_elements_x.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_all_related_elements.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_anchored_elements.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_asset_types.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_elements_by_classification_by_property_value.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_elements_by_property_value.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_elements_by_property_value_x.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_elements_for_classification.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_gov_action_processes.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_information_supply_chains.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_registered_services.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_related_elements_with_prop_value.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_related_specification.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_relationship_types.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_relationships.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_solution_blueprints.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_solution_components.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_solution_roles.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_tech_templates.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/list_valid_metadata_values.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/table_tech_templates.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/commands/tech/x_list_related_elements.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/README.md +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_cocoMDS1.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_cocoMDS2.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_cocoMDS3.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_cocoMDS4.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_cocoMDS5.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_cocoMDS6.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_cocoMDSx.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_cocoView1.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_coco_core.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_coco_datalake.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_exchangeDL01.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_governDL01.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_monitorDev01.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/config_monitorGov01.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Coco_config/globals.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/GeoSpatial Products Example.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Jupyter Notebooks/P-egeria-server-config.ipynb +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Jupyter Notebooks/README.md +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Jupyter Notebooks/common/P-environment-check.ipynb +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Jupyter Notebooks/common/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Jupyter Notebooks/common/common-functions.ipynb +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Jupyter Notebooks/common/environment-check.ipynb +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Jupyter Notebooks/common/globals.ipynb +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Jupyter Notebooks/common/globals.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/Jupyter Notebooks/common/orig_globals.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/format_sets/all_format_sets.json +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/format_sets/custom_format_sets.json +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/format_sets/subset_format_sets.json +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/format_sets_save_load_example.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/examples/output_formats_example.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/data/commands-working.json +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/data/commands.json +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/data/generated_format_sets.json +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/data/generated_format_sets.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/data_designer_commands.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/glossary_commands.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/governance_officer_commands.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/product_manager_commands.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/project_commands.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/view_commands.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/__init__.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/determine_width.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/extraction_utils.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/gen_format_sets.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/generate_dr_help.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/generate_md_cmd_templates.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/generate_md_templates.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/md_processing_constants.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/message_constants.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/_deprecated_gov_engine.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/_exceptions.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/_exceptions_new.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/_globals.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/_output_format_models.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/_validators.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/asset_catalog_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/classification_manager.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/classification_manager_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/collection_models.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/core_omag_server_config.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/create_tech_guid_lists.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/data_designer.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/egeria_cat_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/egeria_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/egeria_config_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/egeria_my_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/egeria_tech_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/feedback_manager_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/full_omag_server_config.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/glossary_manager.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/governance_officer.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/load_config.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/logging_configuration.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/mcp_adapter.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/md_processing_utils.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/md_processing_utils_orig.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/metadata_explorer_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/models.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/my_profile_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/platform_services.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/project_manager.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/reference_data.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/registered_info.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/runtime_manager_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/server_operations.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/template_manager_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/utils.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/valid_metadata_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria/x_action_author_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria.egg-info/dependency_links.txt +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria.egg-info/requires.txt +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/pyegeria.egg-info/top_level.txt +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/setup.cfg +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_asset_catalog_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_classification_manager_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_collection_manager_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_config.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_config_unit.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_core_omag_server_config.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_data_designer.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_dr_egeria_command_help_modes.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_egeria_cat_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_egeria_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_egeria_my_client.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_env_settings.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_format_set_dict.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_full_omag_server_config.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_glossary_manager_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_governance_officer_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_load_config.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_mcp_adapter.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_metadata_explorer_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_my_profile_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_output_format_models_unit.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_output_format_sets_unit.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_output_formats.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_platform_services.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_project_manager_omvs.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_reference_data.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_registered_info.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_root_path.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_runtime_manager.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_server_operations.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_utils.py +0 -0
- {pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/tests/test_valid_metadata_omvs.py +0 -0
pyegeria-5.4.7.6/commands/cat/list_format_set.py → pyegeria-5.4.7.8/commands/cat/run_report.py
RENAMED
|
@@ -361,11 +361,11 @@ def main():
|
|
|
361
361
|
# First, parse just the format-set argument to determine which other arguments to add
|
|
362
362
|
logger.enable("pyegeria")
|
|
363
363
|
initial_parser = argparse.ArgumentParser(add_help=False)
|
|
364
|
-
initial_parser.add_argument("--
|
|
364
|
+
initial_parser.add_argument("--report", help="Name of the output format set", required=True)
|
|
365
365
|
initial_args, _ = initial_parser.parse_known_args()
|
|
366
366
|
|
|
367
367
|
# Get the format set to determine parameters
|
|
368
|
-
format_set_name = initial_args.
|
|
368
|
+
format_set_name = initial_args.report
|
|
369
369
|
format_set = select_output_format_set(format_set_name, "ANY")
|
|
370
370
|
|
|
371
371
|
# Check if the format set exists
|
|
@@ -379,7 +379,7 @@ def main():
|
|
|
379
379
|
|
|
380
380
|
# Create the full parser with all arguments
|
|
381
381
|
parser = argparse.ArgumentParser(description="Execute an action from an output format set")
|
|
382
|
-
parser.add_argument("--
|
|
382
|
+
parser.add_argument("--report", help="Name of the output format set", required=True)
|
|
383
383
|
parser.add_argument("--server", help="Name of the server to connect to")
|
|
384
384
|
parser.add_argument("--url", help="URL Platform to connect to")
|
|
385
385
|
parser.add_argument("--userid", help="User Id")
|
|
@@ -412,7 +412,7 @@ def main():
|
|
|
412
412
|
print(f"root path: {app_config.pyegeria_root}, config_file: {app_config.pyegeria_config_file}")
|
|
413
413
|
userid = args.userid if args.userid is not None else EGERIA_USER
|
|
414
414
|
user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
|
415
|
-
format_set_name = args.
|
|
415
|
+
format_set_name = args.report
|
|
416
416
|
output_format = args.output_format
|
|
417
417
|
|
|
418
418
|
logger.info(f"view server @ {url}")
|
|
@@ -18,7 +18,7 @@ from loguru import logger
|
|
|
18
18
|
|
|
19
19
|
from pyegeria import config_logging, settings
|
|
20
20
|
|
|
21
|
-
from commands.cat.
|
|
21
|
+
from commands.cat.run_report import execute_format_set_action
|
|
22
22
|
from commands.cat.get_asset_graph import asset_viewer
|
|
23
23
|
from commands.cat.get_collection import collection_viewer
|
|
24
24
|
from commands.cat.get_project_dependencies import project_dependency_viewer
|
|
@@ -1041,17 +1041,17 @@ def show_cat_info(ctx):
|
|
|
1041
1041
|
"""Group of md_commands to show information about various Egeria objects"""
|
|
1042
1042
|
pass
|
|
1043
1043
|
|
|
1044
|
-
@show_cat_info.command("
|
|
1045
|
-
@click.option("--
|
|
1044
|
+
@show_cat_info.command("Run Report")
|
|
1045
|
+
@click.option("--report", help="Report to output", default="Digital-Products")
|
|
1046
1046
|
@click.option("--output-format", default = "TABLE", help="Output format type")
|
|
1047
1047
|
@click.option('--search-string', default="*", help="Search string")
|
|
1048
1048
|
@click.pass_context
|
|
1049
|
-
def show_format_set(ctx,
|
|
1049
|
+
def show_format_set(ctx, report, output_format, search_string):
|
|
1050
1050
|
"""Dynamically generate output based on a format set"""
|
|
1051
1051
|
c = ctx.obj
|
|
1052
1052
|
logger.info(f"Hey Egeria: view server @ {c.view_server_url}")
|
|
1053
1053
|
execute_format_set_action(
|
|
1054
|
-
|
|
1054
|
+
report, c.view_server, c.view_server_url,
|
|
1055
1055
|
c.userid, c.password, output_format, search_string = search_string
|
|
1056
1056
|
)
|
|
1057
1057
|
|
|
@@ -14,8 +14,9 @@ import os
|
|
|
14
14
|
import click
|
|
15
15
|
from trogon import tui
|
|
16
16
|
from pyegeria import settings
|
|
17
|
+
from loguru import logger
|
|
17
18
|
|
|
18
|
-
from commands.cat.
|
|
19
|
+
from commands.cat.run_report import execute_format_set_action
|
|
19
20
|
from commands.cat.dr_egeria_md import process_markdown_file
|
|
20
21
|
from commands.cat.get_asset_graph import asset_viewer
|
|
21
22
|
from commands.cat.get_collection import collection_viewer
|
|
@@ -64,7 +65,7 @@ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
|
|
64
65
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
|
65
66
|
app_settings = settings
|
|
66
67
|
|
|
67
|
-
app_config = app_settings
|
|
68
|
+
app_config = app_settings.Environment
|
|
68
69
|
# config_logging()
|
|
69
70
|
|
|
70
71
|
|
|
@@ -76,7 +77,7 @@ app_config = app_settings["Environment"]
|
|
|
76
77
|
@click.group()
|
|
77
78
|
@click.option(
|
|
78
79
|
"--server",
|
|
79
|
-
default=app_config
|
|
80
|
+
default=app_config.egeria_metadata_store,
|
|
80
81
|
help="Egeria metadata store to work with",
|
|
81
82
|
)
|
|
82
83
|
@click.option(
|
|
@@ -123,9 +124,11 @@ app_config = app_settings["Environment"]
|
|
|
123
124
|
@click.option(
|
|
124
125
|
"--password",
|
|
125
126
|
default=EGERIA_USER_PASSWORD,
|
|
126
|
-
help="Egeria user password"
|
|
127
|
+
help="Egeria user password"
|
|
127
128
|
)
|
|
129
|
+
|
|
128
130
|
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
131
|
+
|
|
129
132
|
@click.option(
|
|
130
133
|
"--jupyter",
|
|
131
134
|
is_flag=True,
|
|
@@ -135,18 +138,18 @@ app_config = app_settings["Environment"]
|
|
|
135
138
|
)
|
|
136
139
|
@click.option(
|
|
137
140
|
"--width",
|
|
138
|
-
default=app_config.
|
|
141
|
+
default=app_config.console_width,
|
|
139
142
|
type=int,
|
|
140
143
|
help="Screen width, in characters, to use",
|
|
141
144
|
)
|
|
142
145
|
@click.option(
|
|
143
|
-
"--
|
|
144
|
-
default=app_settings.User_Profile.
|
|
146
|
+
"--home_glossary_name",
|
|
147
|
+
default=app_settings.User_Profile.egeria_home_glossary_name,
|
|
145
148
|
help="Glossary name to use as the home glossary",
|
|
146
149
|
)
|
|
147
150
|
@click.option(
|
|
148
151
|
"--glossary_path",
|
|
149
|
-
default=app_config.
|
|
152
|
+
default=app_config.egeria_glossary_path,
|
|
150
153
|
help="Path to glossary import/export files",
|
|
151
154
|
)
|
|
152
155
|
|
|
@@ -183,7 +186,7 @@ def cli(
|
|
|
183
186
|
timeout,
|
|
184
187
|
jupyter,
|
|
185
188
|
width,
|
|
186
|
-
|
|
189
|
+
home_glossary_name,
|
|
187
190
|
glossary_path,
|
|
188
191
|
root_path,
|
|
189
192
|
inbox_path,
|
|
@@ -204,7 +207,7 @@ def cli(
|
|
|
204
207
|
timeout,
|
|
205
208
|
jupyter,
|
|
206
209
|
width,
|
|
207
|
-
|
|
210
|
+
home_glossary_name,
|
|
208
211
|
glossary_path,
|
|
209
212
|
root_path,
|
|
210
213
|
inbox_path,
|
|
@@ -227,17 +230,17 @@ def info(ctx):
|
|
|
227
230
|
pass
|
|
228
231
|
|
|
229
232
|
|
|
230
|
-
@info.command("
|
|
231
|
-
@click.option("--
|
|
233
|
+
@info.command("Run Report")
|
|
234
|
+
@click.option("--report", help="Report to output", default="Digital-Products")
|
|
232
235
|
@click.option("--output-format", default = "TABLE", help="Output format type")
|
|
233
236
|
@click.option('--search-string', default="*", help="Search string")
|
|
234
237
|
@click.pass_context
|
|
235
|
-
def show_format_set(ctx,
|
|
238
|
+
def show_format_set(ctx, report, output_format, search_string):
|
|
236
239
|
"""Dynamically generate output based on a format set"""
|
|
237
240
|
c = ctx.obj
|
|
238
|
-
|
|
241
|
+
logger.info(f"Hey Egeria: view server @ {c.view_server_url}")
|
|
239
242
|
execute_format_set_action(
|
|
240
|
-
|
|
243
|
+
report, c.view_server, c.view_server_url,
|
|
241
244
|
c.userid, c.password, output_format, search_string = search_string
|
|
242
245
|
)
|
|
243
246
|
|
|
@@ -14,7 +14,7 @@ import click
|
|
|
14
14
|
from rich import print, print_json
|
|
15
15
|
from rich.console import Console
|
|
16
16
|
|
|
17
|
-
from pyegeria import
|
|
17
|
+
from pyegeria import AutomatedCuration, EgeriaTech
|
|
18
18
|
from pyegeria._exceptions import (
|
|
19
19
|
InvalidParameterException,
|
|
20
20
|
PropertyServerException,
|
|
@@ -36,17 +36,18 @@ def add_catalog_target(
|
|
|
36
36
|
) -> str:
|
|
37
37
|
"""Add catalog targets to the specified integration connector"""
|
|
38
38
|
try:
|
|
39
|
-
if integration_connector not in INTEGRATION_GUIDS.keys():
|
|
40
|
-
click.echo("Integration connector is not known")
|
|
41
|
-
|
|
42
39
|
c = ctx.obj
|
|
43
40
|
a_client = AutomatedCuration(
|
|
44
41
|
c.view_server, c.view_server_url, c.userid, c.password
|
|
45
42
|
)
|
|
46
43
|
token = a_client.create_egeria_bearer_token()
|
|
47
44
|
|
|
45
|
+
integ_connector_guid = a_client.get_connector_guid(integration_connector)
|
|
46
|
+
if not integ_connector_guid or c.catalog_targets == 'No connector found':
|
|
47
|
+
raise InvalidParameterException('No Connector found')
|
|
48
|
+
|
|
48
49
|
guid = a_client.add_catalog_target(
|
|
49
|
-
|
|
50
|
+
integ_connector_guid,
|
|
50
51
|
metadata_element_guid,
|
|
51
52
|
catalog_target_name,
|
|
52
53
|
)
|
|
@@ -258,7 +258,7 @@ def process_md_file(input_file: str, output_folder:str, directive: str, server:
|
|
|
258
258
|
print(f"\n==>\tErrors found while processing command: \'{potential_command}\'\n"
|
|
259
259
|
f"\tPlease correct and try again. \n")
|
|
260
260
|
final_output.append(current_block)
|
|
261
|
-
final_output.append('\
|
|
261
|
+
final_output.append('\n____\n')
|
|
262
262
|
else:
|
|
263
263
|
# If there is no object_action, append the block as-is
|
|
264
264
|
final_output.append(current_block)
|
|
@@ -278,7 +278,7 @@ def process_md_file(input_file: str, output_folder:str, directive: str, server:
|
|
|
278
278
|
in_h1_block = True
|
|
279
279
|
|
|
280
280
|
# Handle the end of a block (line starts with `---`)
|
|
281
|
-
elif line.startswith("___"):
|
|
281
|
+
elif line.startswith("___") or line.startswith("---"):
|
|
282
282
|
if in_h1_block:
|
|
283
283
|
# Process the current block when it ends with `---`
|
|
284
284
|
current_block += f"\n{line}"
|
|
@@ -100,13 +100,15 @@ def process_external_reference_upsert_command(egeria_client: EgeriaTech, txt: st
|
|
|
100
100
|
prop_body["copyright"] = attributes.get('Copyright', {}).get('value', None)
|
|
101
101
|
prop_body["attribution"] = attributes.get('Attribution', {}).get('value', None)
|
|
102
102
|
|
|
103
|
-
if object_type
|
|
103
|
+
if object_type in ["RelatedMedia", "Related Media"]:
|
|
104
|
+
object_type = "RelatedMedia"
|
|
104
105
|
prop_body["class"] = "RelatedProperties"
|
|
105
106
|
prop_body["mediaType"] = attributes.get('Media Type', {}).get('value', None)
|
|
106
107
|
prop_body["mediaTypeOtherId"] = attributes.get('Media Type Other ID', {}).get('value', None)
|
|
107
108
|
prop_body["defaultMediaUsage"]= attributes.get('Default Media Usage', {}).get('value', None)
|
|
108
109
|
prop_body["defaultMediaUsageOtherId"] = attributes.get('Default Media Usage Other ID', {}).get('value', None)
|
|
109
|
-
elif object_type
|
|
110
|
+
elif object_type in ["CitedDocument", "Cited Document"]:
|
|
111
|
+
object_type = "CitedDocument"
|
|
110
112
|
prop_body["class"] = "CitedDocumentProperties"
|
|
111
113
|
prop_body["numberOfPages"] = attributes.get('Number of Pages', {}).get('value', None)
|
|
112
114
|
prop_body["pageRange"] = attributes.get('Page Range', {}).get('value', None)
|
|
@@ -119,7 +121,8 @@ def process_external_reference_upsert_command(egeria_client: EgeriaTech, txt: st
|
|
|
119
121
|
prop_body["publicationCity"] = attributes.get('Publication City', {}).get('value', None)
|
|
120
122
|
prop_body["publicationYear"] = attributes.get('Publication Year', {}).get('value', None)
|
|
121
123
|
prop_body["publicationNumbers"]= attributes.get('Publication Numbers', {}).get('value', None)
|
|
122
|
-
|
|
124
|
+
elif object_type in ["ExternalReference", "External Reference"]:
|
|
125
|
+
object_type = "ExternalReference"
|
|
123
126
|
|
|
124
127
|
|
|
125
128
|
if object_action == "Update":
|
|
@@ -147,6 +150,7 @@ def process_external_reference_upsert_command(egeria_client: EgeriaTech, txt: st
|
|
|
147
150
|
# egeria_client.update_external_reference_status(guid, status)
|
|
148
151
|
|
|
149
152
|
logger.success(f"Updated {object_type} `{display_name}` with GUID {guid}\n\n___")
|
|
153
|
+
print(Markdown(f"Updated {object_type} `{display_name}` with GUID {guid}\n\n___"))
|
|
150
154
|
update_element_dictionary(qualified_name, {
|
|
151
155
|
'guid': guid, 'display_name': display_name
|
|
152
156
|
})
|
|
@@ -182,11 +186,13 @@ def process_external_reference_upsert_command(egeria_client: EgeriaTech, txt: st
|
|
|
182
186
|
})
|
|
183
187
|
msg = f"Created Element `{display_name}` with GUID {guid}\n\n___"
|
|
184
188
|
logger.success(msg)
|
|
189
|
+
print(Markdown(msg))
|
|
185
190
|
return egeria_client.get_external_reference_by_guid(guid, element_type=object_type,
|
|
186
191
|
output_format='MD',
|
|
187
192
|
output_format_set=output_set)
|
|
188
193
|
else:
|
|
189
194
|
msg = f"Failed to create element `{display_name}` with GUID {guid}\n\n___"
|
|
195
|
+
print(Markdown(msg))
|
|
190
196
|
logger.error(msg)
|
|
191
197
|
return None
|
|
192
198
|
|
{pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_commands/solution_architect_commands.py
RENAMED
|
@@ -155,7 +155,7 @@ def sync_component_related_elements(egeria_client: EgeriaTech, object_type: str,
|
|
|
155
155
|
logger.trace(f"supply_chains_to_add: {list(supply_chains_to_add)}")
|
|
156
156
|
if len(supply_chains_to_add) > 0:
|
|
157
157
|
body = {
|
|
158
|
-
"class": "
|
|
158
|
+
"class": "NewRelationshipRequestBody",
|
|
159
159
|
"properties": {
|
|
160
160
|
"class": "ImplementedByProperties",
|
|
161
161
|
"description": "a blank description to satisfy the Egeria gods"
|
|
@@ -188,7 +188,7 @@ def sync_component_related_elements(egeria_client: EgeriaTech, object_type: str,
|
|
|
188
188
|
|
|
189
189
|
if supply_chain_guids:
|
|
190
190
|
body = {
|
|
191
|
-
"class": "
|
|
191
|
+
"class": "NewRelationshipRequestBody",
|
|
192
192
|
"properties": {
|
|
193
193
|
"class": "ImplementedByProperties",
|
|
194
194
|
"description": "a blank description to satisfy the Egeria gods"
|
|
@@ -307,6 +307,7 @@ def process_blueprint_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
|
307
307
|
msg = (f" Element `{display_name}` does not exist! Updating result document with Create "
|
|
308
308
|
f"object_action\n")
|
|
309
309
|
logger.error(msg)
|
|
310
|
+
print(Markdown(msg))
|
|
310
311
|
return update_a_command(txt, object_action, object_type, qualified_name, guid)
|
|
311
312
|
elif not valid:
|
|
312
313
|
return None
|
|
@@ -324,19 +325,11 @@ def process_blueprint_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
|
324
325
|
update_element_dictionary(qualified_name, {
|
|
325
326
|
'guid': guid, 'display_name': display_name
|
|
326
327
|
})
|
|
327
|
-
logger.info(msg)
|
|
328
328
|
logger.success(msg)
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
update_element_dictionary(qualified_name, {
|
|
334
|
-
'guid': guid, 'display_name': display_name
|
|
335
|
-
})
|
|
336
|
-
sync_blueprint_related_elements(egeria_client, object_type, component_guids, guid, qualified_name,
|
|
337
|
-
display_name, replace_all_props)
|
|
338
|
-
logger.success(f"===> Updated {object_type} `{display_name}` related elements\n\n")
|
|
339
|
-
return egeria_client.find_solution_blueprints(qualified_name, output_format='MD')
|
|
329
|
+
sync_blueprint_related_elements(egeria_client, object_type, component_guids, guid, qualified_name,
|
|
330
|
+
display_name, replace_all_props)
|
|
331
|
+
logger.success(f"===> Updated {object_type} `{display_name}` related elements\n\n")
|
|
332
|
+
return egeria_client.get_solution_blueprints_by_name(qualified_name, output_format='MD', output_format_set = "Solution-Blueprint-DrE")
|
|
340
333
|
|
|
341
334
|
|
|
342
335
|
elif object_action == "Create":
|
|
@@ -346,10 +339,12 @@ def process_blueprint_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
|
346
339
|
msg = (f" Data Specification `{display_name}` already exists and result document updated changing "
|
|
347
340
|
f"`Create` to `Update` in processed output\n\n___")
|
|
348
341
|
logger.error(msg)
|
|
342
|
+
print(Markdown(msg))
|
|
349
343
|
return update_a_command(txt, object_action, object_type, qualified_name, guid)
|
|
350
344
|
|
|
351
345
|
elif not valid:
|
|
352
346
|
msg = (f"==>{object_type} `{display_name}` is not valid and can't be created")
|
|
347
|
+
print(Markdown(msg))
|
|
353
348
|
logger.error(msg)
|
|
354
349
|
return
|
|
355
350
|
|
|
@@ -366,10 +361,12 @@ def process_blueprint_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
|
366
361
|
'guid': guid, 'display_name': display_name
|
|
367
362
|
})
|
|
368
363
|
msg = f"Created Element `{display_name}` with GUID {guid}\n\n___"
|
|
364
|
+
print(Markdown(msg))
|
|
369
365
|
logger.success(msg)
|
|
370
|
-
return egeria_client.
|
|
366
|
+
return egeria_client.get_solution_blueprint_by_guid(guid, output_format='MD', output_format_set = "Solution-Blueprint-DrE")
|
|
371
367
|
else:
|
|
372
368
|
msg = f"Failed to create element `{display_name}` with GUID {guid}\n\n___"
|
|
369
|
+
print(Markdown(msg))
|
|
373
370
|
logger.error(msg)
|
|
374
371
|
return None
|
|
375
372
|
|
|
@@ -488,9 +485,10 @@ def process_solution_component_upsert_command(egeria_client: EgeriaTech, txt: st
|
|
|
488
485
|
"class": "UpdateElementRequestBody",
|
|
489
486
|
"externalSourceGUID": external_source_guid,
|
|
490
487
|
"externalSourceName": external_source_name,
|
|
491
|
-
"effectiveTime": effective_time,
|
|
488
|
+
"effectiveTime": effective_time,
|
|
489
|
+
"mergeUpdate": merge_update,
|
|
490
|
+
"forLineage": False,
|
|
492
491
|
"forDuplicateProcessing": False,
|
|
493
|
-
"parentAtEnd1": parent_at_end1,
|
|
494
492
|
"properties": {
|
|
495
493
|
"class": "SolutionComponentProperties",
|
|
496
494
|
"qualifiedName": qualified_name,
|
|
@@ -505,7 +503,7 @@ def process_solution_component_upsert_command(egeria_client: EgeriaTech, txt: st
|
|
|
505
503
|
}
|
|
506
504
|
})
|
|
507
505
|
|
|
508
|
-
egeria_client.update_solution_component(guid, body
|
|
506
|
+
egeria_client.update_solution_component(guid, body)
|
|
509
507
|
logger.success(f"==>Updated {object_type} `{display_name}` with GUID {guid}\n")
|
|
510
508
|
update_element_dictionary(qualified_name, {
|
|
511
509
|
'guid': guid, 'display_name': display_name
|
|
@@ -517,7 +515,7 @@ def process_solution_component_upsert_command(egeria_client: EgeriaTech, txt: st
|
|
|
517
515
|
display_name,
|
|
518
516
|
merge_update)
|
|
519
517
|
logger.success(f"==>Updated {object_type} `{display_name}` with related elements")
|
|
520
|
-
return egeria_client.get_solution_component_by_guid(guid, output_format='MD')
|
|
518
|
+
return egeria_client.get_solution_component_by_guid(guid, output_format='MD', output_format_set = "Solution-Component-DrE")
|
|
521
519
|
|
|
522
520
|
|
|
523
521
|
elif object_action == "Create":
|
|
@@ -704,7 +702,7 @@ def process_component_link_unlink_command(egeria_client: EgeriaTech, txt: str,
|
|
|
704
702
|
return
|
|
705
703
|
else:
|
|
706
704
|
body = {
|
|
707
|
-
"class": "
|
|
705
|
+
"class": "NewRelationshipRequestBody",
|
|
708
706
|
"effectiveTime": effective_time,
|
|
709
707
|
"forLineage": False,
|
|
710
708
|
"forDuplicateProcessing": False,
|
|
@@ -717,13 +715,13 @@ def process_component_link_unlink_command(egeria_client: EgeriaTech, txt: str,
|
|
|
717
715
|
}
|
|
718
716
|
}
|
|
719
717
|
|
|
720
|
-
egeria_client.link_solution_linking_wire(component1, component2,
|
|
718
|
+
egeria_client.link_solution_linking_wire(component1, component2, body)
|
|
721
719
|
msg = f"==>Created {object_type} link named `{label}`\n"
|
|
722
720
|
logger.success(msg)
|
|
721
|
+
print(Markdown(msg))
|
|
723
722
|
out = parsed_output['display'].replace('Link', 'Detach', 1)
|
|
724
723
|
return out
|
|
725
724
|
|
|
726
|
-
|
|
727
725
|
except Exception as e:
|
|
728
726
|
logger.error(f"Error performing {command}: {e}")
|
|
729
727
|
return None
|
|
@@ -1006,7 +1004,7 @@ def process_information_supply_chain_link_unlink_command(egeria_client: EgeriaTe
|
|
|
1006
1004
|
return
|
|
1007
1005
|
else:
|
|
1008
1006
|
body = {
|
|
1009
|
-
"class": "
|
|
1007
|
+
"class": "NewRelationshipRequestBody",
|
|
1010
1008
|
"effectiveTime": effective_time,
|
|
1011
1009
|
"forLineage": False,
|
|
1012
1010
|
"forDuplicateProcessing": False,
|
{pyegeria-5.4.7.6 → pyegeria-5.4.7.8}/md_processing/md_processing_utils/common_md_proc_utils.py
RENAMED
|
@@ -186,6 +186,9 @@ def parse_upsert_command(egeria_client: EgeriaTech, object_type: str, object_act
|
|
|
186
186
|
|
|
187
187
|
elif style == 'GUID':
|
|
188
188
|
parsed_attributes[key] = proc_simple_attribute(txt, object_action, labels, if_missing)
|
|
189
|
+
g = parsed_attributes[key].get('value', None)
|
|
190
|
+
if g and ("___" not in g and "---" not in g):
|
|
191
|
+
parsed_output['guid'] = parsed_attributes[key]['value']
|
|
189
192
|
elif style == 'Ordered Int':
|
|
190
193
|
parsed_attributes[key] = proc_simple_attribute(txt, object_action, labels, if_missing)
|
|
191
194
|
elif style == 'Simple Int':
|
|
@@ -536,6 +539,10 @@ def proc_simple_attribute(txt: str, action: str, labels: set, if_missing: str =
|
|
|
536
539
|
|
|
537
540
|
# attribute = default_value if attribute is None else attribute.replace('\n', '')
|
|
538
541
|
attribute = default_value if attribute is None else attribute
|
|
542
|
+
if isinstance(attribute, str):
|
|
543
|
+
attribute = re.sub(r'\n+', '\n', attribute)
|
|
544
|
+
attribute = None if attribute.startswith('___') or attribute.startswith('---') else attribute
|
|
545
|
+
|
|
539
546
|
|
|
540
547
|
if attribute is None:
|
|
541
548
|
if if_missing == INFO or if_missing == WARNING:
|
|
@@ -51,7 +51,7 @@ GOVERNANCE_CONTROLS = ["Governance Control", "Governance Rule", "Service Level O
|
|
|
51
51
|
ALL_GOVERNANCE_DEFINITIONS = GENERAL_GOVERNANCE_DEFINITIONS + GOVERNANCE_CONTROLS + ["Governance Strategy", "Regulation",
|
|
52
52
|
"Security Group", "GovernanceMetric",
|
|
53
53
|
"Naming Standard Rule", "TermsAndConditions", "Certification Type", "License Type"]
|
|
54
|
-
|
|
54
|
+
console = Console(width=EGERIA_WIDTH)
|
|
55
55
|
debug_level = DEBUG_LEVEL
|
|
56
56
|
global COMMAND_DEFINITIONS
|
|
57
57
|
|
|
@@ -521,7 +521,7 @@ def set_classifications(object_type: str, attributes: dict)->dict:
|
|
|
521
521
|
classifications = attributes.get('Classifications', {}).get('name_list', None)
|
|
522
522
|
body = None
|
|
523
523
|
if classifications:
|
|
524
|
-
body = {classification: {} for classification in classifications} if
|
|
524
|
+
body = {classification: {} for classification in classifications} if classifications else {}
|
|
525
525
|
return body
|
|
526
526
|
|
|
527
527
|
def set_object_classifications(object_type: str, attributes: dict, obj_types: list[str])->dict:
|
|
@@ -72,8 +72,6 @@ from ._output_formats import select_output_format_set
|
|
|
72
72
|
from .mcp_adapter import list_reports, describe_report, run_report, _async_run_report, _execute_egeria_call_blocking
|
|
73
73
|
|
|
74
74
|
#
|
|
75
|
-
global template_guids, integration_guids
|
|
76
|
-
|
|
77
75
|
# 2/12/25
|
|
78
76
|
|
|
79
77
|
def __getattr__(name):
|
|
@@ -166,7 +166,7 @@ class Client2:
|
|
|
166
166
|
|
|
167
167
|
try:
|
|
168
168
|
result = self.check_connection()
|
|
169
|
-
logger.
|
|
169
|
+
logger.debug(f"client initialized, platform origin is: {result}")
|
|
170
170
|
except PyegeriaConnectionException as e:
|
|
171
171
|
raise
|
|
172
172
|
|
|
@@ -399,10 +399,10 @@ class Client2:
|
|
|
399
399
|
response = await self._async_make_request("GET", origin_url, is_json=False)
|
|
400
400
|
if response.status_code == 200:
|
|
401
401
|
text = response.text.strip()
|
|
402
|
-
logger.
|
|
402
|
+
logger.debug(f"Got response from {origin_url}\n Response: {text}")
|
|
403
403
|
return text
|
|
404
404
|
else:
|
|
405
|
-
logger.
|
|
405
|
+
logger.debug(f"Got response from {origin_url}\n status_code: {response.status_code}")
|
|
406
406
|
return ""
|
|
407
407
|
|
|
408
408
|
|
|
@@ -1565,7 +1565,7 @@ class Client2:
|
|
|
1565
1565
|
json_body = validated_body.model_dump_json(indent=2, exclude_none=True)
|
|
1566
1566
|
|
|
1567
1567
|
response = await self._async_make_request("POST", url, json_body)
|
|
1568
|
-
elements = response.json().get("
|
|
1568
|
+
elements = response.json().get("elements", NO_ELEMENTS_FOUND)
|
|
1569
1569
|
if type(elements) is str:
|
|
1570
1570
|
logger.info(NO_ELEMENTS_FOUND)
|
|
1571
1571
|
return NO_ELEMENTS_FOUND
|
|
@@ -191,7 +191,6 @@ GLOSSARY_COLUMNS = COMMON_COLUMNS + [
|
|
|
191
191
|
]
|
|
192
192
|
|
|
193
193
|
COLLECTIONS_COLUMNS = COMMON_COLUMNS + [
|
|
194
|
-
Column(name='Type Name', key='type_name'),
|
|
195
194
|
Column(name='Classifications', key='classifications'),
|
|
196
195
|
Column(name="Created By", key='created_by'),
|
|
197
196
|
Column(name="Create Time", key='create_time'),
|
|
@@ -298,6 +297,26 @@ base_output_format_sets = FormatSetDict({
|
|
|
298
297
|
)
|
|
299
298
|
],
|
|
300
299
|
),
|
|
300
|
+
"TechTypeDetail": FormatSet(
|
|
301
|
+
target_type="TechTypeDetail",
|
|
302
|
+
heading="Technology Type Details",
|
|
303
|
+
description="Details of a Technology Type Valid Value.",
|
|
304
|
+
annotations={}, # No specific annotations
|
|
305
|
+
formats=[
|
|
306
|
+
Format(
|
|
307
|
+
types=["ALL"],
|
|
308
|
+
columns= [
|
|
309
|
+
Column(name='Display Name', key='display_name'),
|
|
310
|
+
Column(name="Qualified Name", key='qualified_name'),
|
|
311
|
+
Column(name="GUID", key='guid'),
|
|
312
|
+
Column(name="Description", key='description'),
|
|
313
|
+
Column(name="Catalog Template Placeholders", key='catalog_template_specs'),
|
|
314
|
+
Column(name="Reference URL", key='ref_url'),
|
|
315
|
+
],
|
|
316
|
+
)
|
|
317
|
+
],
|
|
318
|
+
),
|
|
319
|
+
|
|
301
320
|
"ExternalReference": FormatSet(
|
|
302
321
|
target_type="External Reference",
|
|
303
322
|
heading="External Reference Attributes",
|
|
@@ -531,6 +550,38 @@ base_output_format_sets = FormatSetDict({
|
|
|
531
550
|
spec_params={"output_format": "DICT"},
|
|
532
551
|
)
|
|
533
552
|
),
|
|
553
|
+
"Solution-Blueprint": FormatSet(
|
|
554
|
+
target_type="SolutionBlueprint",
|
|
555
|
+
heading="Solution Blueprint Report",
|
|
556
|
+
description="Details of a Solution Blueprint.",
|
|
557
|
+
aliases=[],
|
|
558
|
+
annotations={"Wikilinks": ["[[Solution-Blueprint]]"]},
|
|
559
|
+
formats=[
|
|
560
|
+
Format(
|
|
561
|
+
types=["DICT", "TABLE", "LIST", "MD", "FORM"],
|
|
562
|
+
columns=COLLECTIONS_MEMBERS_COLUMNS
|
|
563
|
+
),
|
|
564
|
+
Format(
|
|
565
|
+
types=["REPORT", "HTML"],
|
|
566
|
+
columns=COLLECTIONS_MEMBERS_COLUMNS + [
|
|
567
|
+
Column(name="GUID", key='GUID'),
|
|
568
|
+
Column(name="Mermaid", key='mermaid'),
|
|
569
|
+
Column(name="Solution Blueprint Mermaid Graph", key='solutionBlueprintMermaidGraph'),
|
|
570
|
+
]),
|
|
571
|
+
Format(
|
|
572
|
+
types=["MERMAID"],
|
|
573
|
+
columns= [
|
|
574
|
+
Column(name="Mermaid", key='mermaid'),
|
|
575
|
+
Column(name="Solution Blueprint Mermaid Graph", key='solutionBlueprintMermaidGraph'),
|
|
576
|
+
])
|
|
577
|
+
],
|
|
578
|
+
action=ActionParameter(
|
|
579
|
+
function="SolutionArchitect.find_solution_blueprints",
|
|
580
|
+
required_params=["search_string"],
|
|
581
|
+
optional_params=OPTIONAL_PARAMS,
|
|
582
|
+
spec_params={},
|
|
583
|
+
),
|
|
584
|
+
),
|
|
534
585
|
"Digital-Product-Catalog": FormatSet(
|
|
535
586
|
target_type="DigitalProductCatalog",
|
|
536
587
|
heading="Catalogs for Digital Products",
|
|
@@ -2122,9 +2173,9 @@ generated_format_sets = FormatSetDict({
|
|
|
2122
2173
|
Column(name='Category', key='category'),
|
|
2123
2174
|
Column(name='Description', key='description'),
|
|
2124
2175
|
Column(name='Status', key='element_status'),
|
|
2125
|
-
Column(name='Solution Component Type', key='
|
|
2176
|
+
Column(name='Solution Component Type', key='solution_component_type'),
|
|
2126
2177
|
Column(name='Planned Deployed Implementation Type',
|
|
2127
|
-
key='
|
|
2178
|
+
key='planned_deployed_implementation_type'),
|
|
2128
2179
|
Column(name='Initial Status', key='initial_status'),
|
|
2129
2180
|
Column(name='In Solution Components', key='in_components'),
|
|
2130
2181
|
Column(name='In Solution Blueprints', key='solution_blueprints'),
|