pyegeria 5.2.1__py3-none-any.whl → 5.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.
- commands/cat/.DS_Store +0 -0
- commands/cat/Dr-Egeria_md-orig.py +166 -0
- commands/cat/__init__.py +23 -0
- commands/cat/dr_egeria_jupyter.py +122 -0
- commands/cat/dr_egeria_md.py +247 -0
- {pyegeria/commands → commands}/cat/exp_list_glossaries.py +3 -4
- {pyegeria/commands → commands}/cat/get_asset_graph.py +4 -4
- {pyegeria/commands → commands}/cat/get_collection.py +8 -9
- {pyegeria/commands → commands}/cat/get_project_dependencies.py +6 -8
- {pyegeria/commands → commands}/cat/get_project_structure.py +6 -8
- {pyegeria/commands → commands}/cat/get_tech_type_elements.py +13 -15
- {pyegeria/commands → commands}/cat/glossary_actions.py +184 -34
- {pyegeria/commands → commands}/cat/list_assets.py +9 -6
- commands/cat/list_categories.py +192 -0
- {pyegeria/commands → commands}/cat/list_cert_types.py +6 -6
- {pyegeria/commands → commands}/cat/list_collections.py +62 -19
- commands/cat/list_data_structures.py +223 -0
- {pyegeria/commands → commands}/cat/list_deployed_catalogs.py +9 -8
- {pyegeria/commands → commands}/cat/list_deployed_database_schemas.py +10 -9
- {pyegeria/commands → commands}/cat/list_deployed_databases.py +9 -8
- pyegeria/commands/cat/list_servers_deployed_imp.py → commands/cat/list_deployed_servers.py +3 -3
- {pyegeria/commands → commands}/cat/list_glossaries.py +57 -15
- {pyegeria/commands → commands}/cat/list_projects.py +5 -5
- {pyegeria/commands → commands}/cat/list_tech_type_elements.py +3 -3
- {pyegeria/commands → commands}/cat/list_tech_types.py +4 -4
- {pyegeria/commands → commands}/cat/list_terms.py +93 -45
- {pyegeria/commands → commands}/cat/list_todos.py +3 -3
- {pyegeria/commands → commands}/cat/list_user_ids.py +9 -8
- {pyegeria/commands → commands}/cli/__init__.py +1 -1
- {pyegeria/commands → commands}/cli/egeria.py +513 -250
- {pyegeria/commands → commands}/cli/egeria_cat.py +128 -51
- {pyegeria/commands → commands}/cli/egeria_login_tui.py +15 -17
- {pyegeria/commands → commands}/cli/egeria_my.py +22 -15
- {pyegeria/commands → commands}/cli/egeria_ops.py +54 -55
- {pyegeria/commands → commands}/cli/egeria_tech.py +364 -152
- {pyegeria/commands → commands}/cli/ops_config.py +18 -11
- commands/my/__init__.py +22 -0
- {pyegeria/commands → commands}/my/list_my_profile.py +6 -8
- {pyegeria/commands → commands}/my/list_my_roles.py +4 -4
- {pyegeria/commands → commands}/my/monitor_my_todos.py +7 -7
- {pyegeria/commands → commands}/my/monitor_open_todos.py +7 -7
- {pyegeria/commands → commands}/my/todo_actions.py +3 -2
- commands/ops/__init__.py +23 -0
- {pyegeria/commands → commands}/ops/gov_server_actions.py +5 -4
- {pyegeria/commands → commands}/ops/list_archives.py +7 -6
- {pyegeria/commands → commands}/ops/list_catalog_targets.py +4 -4
- {pyegeria/commands → commands}/ops/load_archive.py +4 -2
- {pyegeria/commands → commands}/ops/monitor_asset_events.py +8 -7
- {pyegeria/commands → commands}/ops/monitor_engine_activity.py +5 -5
- {pyegeria/commands → commands}/ops/monitor_engine_activity_c.py +3 -3
- {pyegeria/commands → commands}/ops/monitor_gov_eng_status.py +3 -2
- {pyegeria/commands → commands}/ops/monitor_integ_daemon_status.py +23 -15
- {pyegeria/commands → commands}/ops/monitor_platform_status.py +5 -4
- {pyegeria/commands → commands}/ops/monitor_server_startup.py +7 -7
- {pyegeria/commands → commands}/ops/monitor_server_status.py +16 -11
- {pyegeria/commands → commands}/ops/orig_monitor_server_list.py +2 -2
- {pyegeria/commands → commands}/ops/orig_monitor_server_status.py +3 -3
- {pyegeria/commands → commands}/ops/refresh_integration_daemon.py +4 -4
- {pyegeria/commands → commands}/ops/restart_integration_daemon.py +3 -3
- {pyegeria/commands → commands}/ops/table_integ_daemon_status.py +3 -3
- commands/tech/__init__.py +22 -0
- commands/tech/generic_actions.py +74 -0
- {pyegeria/commands → commands}/tech/get_element_info.py +5 -7
- {pyegeria/commands → commands}/tech/get_guid_info.py +4 -5
- {pyegeria/commands → commands}/tech/get_tech_details.py +8 -9
- {pyegeria/commands → commands}/tech/get_tech_type_template.py +4 -4
- pyegeria/commands/tech/list_elements.py → commands/tech/list_all_om_type_elements.py +11 -10
- pyegeria/commands/tech/list_elements_x.py → commands/tech/list_all_om_type_elements_x.py +11 -12
- pyegeria/commands/tech/list_related_elements.py → commands/tech/list_all_related_elements.py +11 -9
- {pyegeria/commands → commands}/tech/list_anchored_elements.py +16 -16
- {pyegeria/commands → commands}/tech/list_asset_types.py +4 -4
- commands/tech/list_elements_by_classification_by_property_value.py +200 -0
- commands/tech/list_elements_by_property_value.py +180 -0
- commands/tech/list_elements_by_property_value_x.py +201 -0
- {pyegeria/commands → commands}/tech/list_elements_for_classification.py +11 -9
- {pyegeria/commands → commands}/tech/list_gov_action_processes.py +5 -6
- commands/tech/list_information_supply_chains.py +167 -0
- {pyegeria/commands → commands}/tech/list_registered_services.py +3 -3
- commands/tech/list_related_elements_with_prop_value.py +221 -0
- {pyegeria/commands → commands}/tech/list_related_specification.py +3 -3
- {pyegeria/commands → commands}/tech/list_relationship_types.py +4 -5
- {pyegeria/commands → commands}/tech/list_relationships.py +3 -3
- commands/tech/list_solution_blueprints.py +181 -0
- commands/tech/list_solution_components.py +185 -0
- commands/tech/list_solution_roles.py +184 -0
- {pyegeria/commands → commands}/tech/list_tech_templates.py +3 -3
- {pyegeria/commands → commands}/tech/list_valid_metadata_values.py +5 -6
- {pyegeria/commands → commands}/tech/table_tech_templates.py +16 -13
- {pyegeria/commands → commands}/tech/x_list_related_elements.py +6 -4
- md_processing/__init__.py +49 -0
- md_processing/data/commands.json +3252 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +254 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +696 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +254 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +298 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +608 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +94 -0
- md_processing/dr_egeria_inbox/archive/freddie_intro.md +284 -0
- md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +275 -0
- md_processing/dr_egeria_inbox/archive/test-term.md +110 -0
- md_processing/dr_egeria_inbox/cat_test.md +100 -0
- md_processing/dr_egeria_inbox/data_field.md +54 -0
- md_processing/dr_egeria_inbox/data_spec.md +77 -0
- md_processing/dr_egeria_inbox/data_spec_test.md +2406 -0
- md_processing/dr_egeria_inbox/data_test.md +86 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +168 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +280 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +313 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +1073 -0
- md_processing/dr_egeria_inbox/dr_egeria_isc1.md +44 -0
- md_processing/dr_egeria_inbox/glossary_creation_experiment.ipynb +341 -0
- md_processing/dr_egeria_inbox/glossary_test1.md +324 -0
- md_processing/dr_egeria_inbox/rel.md +8 -0
- md_processing/dr_egeria_inbox/sb.md +119 -0
- md_processing/dr_egeria_inbox/search_test.md +39 -0
- md_processing/dr_egeria_inbox/solution-components.md +154 -0
- md_processing/dr_egeria_inbox/solution_blueprints.md +118 -0
- md_processing/dr_egeria_inbox/synonym_test.md +42 -0
- md_processing/dr_egeria_inbox/t2.md +268 -0
- md_processing/dr_egeria_outbox/processed-2025-05-15 19:52-data_test.md +94 -0
- md_processing/dr_egeria_outbox/processed-2025-05-16 07:39-data_test.md +88 -0
- md_processing/dr_egeria_outbox/processed-2025-05-17 16:01-data_field.md +56 -0
- md_processing/dr_egeria_outbox/processed-2025-05-18 15:51-data_test.md +103 -0
- md_processing/dr_egeria_outbox/processed-2025-05-18 16:47-data_test.md +94 -0
- md_processing/dr_egeria_outbox/processed-2025-05-19 07:14-data_test.md +96 -0
- md_processing/dr_egeria_outbox/processed-2025-05-19 07:20-data_test.md +100 -0
- md_processing/dr_egeria_outbox/processed-2025-05-19 07:22-data_test.md +88 -0
- md_processing/dr_egeria_outbox/processed-2025-05-19 09:26-data_test.md +91 -0
- md_processing/dr_egeria_outbox/processed-2025-05-19 10:27-data_test.md +91 -0
- md_processing/dr_egeria_outbox/processed-2025-05-19 14:04-data_test.md +91 -0
- md_processing/md_commands/__init__.py +3 -0
- md_processing/md_commands/blueprint_commands.py +303 -0
- md_processing/md_commands/data_designer_commands.py +1182 -0
- md_processing/md_commands/glossary_commands.py +1144 -0
- md_processing/md_commands/project_commands.py +163 -0
- md_processing/md_processing_utils/__init__.py +4 -0
- md_processing/md_processing_utils/common_md_proc_utils.py +724 -0
- md_processing/md_processing_utils/common_md_utils.py +172 -0
- md_processing/md_processing_utils/extraction_utils.py +486 -0
- md_processing/md_processing_utils/md_processing_constants.py +128 -0
- md_processing/md_processing_utils/message_constants.py +19 -0
- pyegeria/.DS_Store +0 -0
- pyegeria/__init__.py +231 -146
- pyegeria/_client.py +36 -13
- pyegeria/_exceptions.py +55 -46
- pyegeria/_globals.py +11 -1
- pyegeria/_validators.py +5 -5
- pyegeria/asset_catalog_omvs.py +78 -21
- pyegeria/automated_curation_omvs.py +11 -6
- pyegeria/classification_manager_omvs.py +41 -37
- pyegeria/collection_manager_omvs.py +722 -705
- pyegeria/core_omag_server_config.py +1 -1
- pyegeria/create_tech_guid_lists.py +13 -13
- pyegeria/data_designer_omvs.py +5104 -0
- pyegeria/dr.egeria spec.md +9 -0
- pyegeria/egeria_cat_client.py +5 -8
- pyegeria/egeria_client.py +39 -24
- pyegeria/egeria_config_client.py +2 -1
- pyegeria/egeria_my_client.py +4 -4
- pyegeria/egeria_tech_client.py +40 -18
- pyegeria/feedback_manager_omvs.py +1 -1
- pyegeria/full_omag_server_config.py +5 -3
- pyegeria/glossary_browser_omvs.py +1915 -694
- pyegeria/glossary_manager_omvs.py +685 -1842
- pyegeria/m_test.py +118 -0
- pyegeria/md_processing_helpers.py +58 -0
- pyegeria/md_processing_utils.py +2147 -0
- pyegeria/md_processing_utils_orig.py +1103 -0
- pyegeria/mermaid_utilities.py +1194 -14
- pyegeria/metadata_explorer_omvs.py +5 -50
- pyegeria/my_profile_omvs.py +3 -2
- pyegeria/output_formatter.py +389 -0
- pyegeria/platform_services.py +5 -5
- pyegeria/project_manager_omvs.py +97 -18
- pyegeria/runtime_manager_omvs.py +8 -10
- pyegeria/server_operations.py +2 -2
- pyegeria/solution_architect_omvs.py +2156 -0
- pyegeria/template_manager_omvs.py +13 -13
- pyegeria/utils.py +3 -1
- pyegeria/valid_metadata_omvs.py +5 -4
- pyegeria/x_action_author_omvs.py +3 -6
- {pyegeria-5.2.1.dist-info → pyegeria-5.3.dist-info}/METADATA +9 -8
- pyegeria-5.3.dist-info/RECORD +196 -0
- {pyegeria-5.2.1.dist-info → pyegeria-5.3.dist-info}/WHEEL +1 -1
- pyegeria-5.3.dist-info/entry_points.txt +99 -0
- pyegeria/commands/README.md +0 -47
- pyegeria/commands/__init__.py +0 -22
- pyegeria/commands/cat/__init__.py +0 -1
- pyegeria/commands/doc/README.md +0 -145
- pyegeria/commands/doc/Visual Command Reference/README.md +0 -511
- pyegeria/commands/doc/Visual Command Reference/cat/show/assets/asset-graph 2024-11-20 at 15.56.42.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/assets/assets-in-domain 2024-11-20 at 15.49.55@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/assets/elements-of-type 2024-11-20 at 16.01.35.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/assets/tech-type-elements 2024-11-20 at 16.05.05.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs 2024-12-17 at 15.43.27@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs-2024-11-20 at 16.17.43@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-11-25 at 20.14.50@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-12-17 at 15.48.38@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-11-25 at 20.21.25@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-12-17 at 15.52.16@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed_databases 2024-12-16 at 16.40.31@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-glossaries 2024-11-25 at 20.30.02.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-terms 2024-11-25 at 20.32.11.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/asset-types 2024-11-25 at 20.34.19@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/certification-types 2024-11-25 at 20.37.07.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/collection-graph 2024-12-12 at 11.33.18@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-collections 2024-12-10 at 14.25.51@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-todos 2024-12-12 at 11.46.30@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-user-ids 2024-12-12 at 11.51.09@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/tech-types 2024-12-12 at 11.37.20@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_dependencies 2024-12-14 at 16.24.39@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_structure 2024-12-14 at 16.21.35@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/projects/projects 2024-12-14 at 16.18.10@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/hey_egeria tui 2024-12-16 at 16.58.22@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/my/show/my_profile 2024-12-14 at 16.29.27@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/my/show/my_roles 2024-12-14 at 16.32.10@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/my/show/my_todos 2024-12-15 at 16.24.13@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/my/show/open_todos 2024-12-14 at 16.36.12@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/engines/list_engine_activity compressed 2024-12-15 at 16.48.48@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity 2024-12-15 at 16.32.55@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity compressed 2024-12-15 at 16.38.29@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_status 2024-12-15 at 16.51.26.jpeg +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_daemon_status 2024-12-15 at 16.57.12@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_targets 2024-12-15 at 17.02.19@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/platforms/monitor_platform_status 2024-12-15 at 19.53.18@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status 2024-12-15 at 19.59.39@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status full 2024-12-15 at 20.01.57@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_startup_servers 2024-12-15 at 19.56.07@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_anchored_elements 2024-12-15 at 21.25.41@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_elements_of_om_type 2024-12-16 at 14.39.59@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/info_for_guid 2024-12-16 at 11.35.29@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_by_om-type 2024-12-16 at 14.24.18@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_by_om-type extended 2024-12-16 at 14.28.46@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_of_om_type_by_classification 2024-12-16 at 14.35.26@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/related_elements 2024-12-16 at 14.55.01@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/show_related_specifications 2024-12-16 at 15.04.55@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/asset_types 2024-12-16 at 15.10.16@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/detailed_governance_action_processes 2024-12-16 at 15.16.26@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/governance_action_processes 2024-12-16 at 15.13.01@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/registered_services 2024-12-16 at 16.44.54@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-16 at 16.20.34@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-19 at 10.51.54@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/valid_metadata_values 2024-12-16 at 15.31.56@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_tech_type_template_specs 2024-12-16 at 16.03.22@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_technology_types 2024-12-16 at 15.39.20@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_details 2024-12-16 at 15.37.21@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_templates 2024-12-16 at 16.11.48@2x.png +0 -0
- pyegeria/commands/doc/glossary/basic-glossary-tui.md +0 -109
- pyegeria/commands/doc/glossary/images/delete-glossary-step1 2024-11-06 at 15.47.23@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/delete-glossary-step2 2024-11-06 at 15.51.29@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/delete-glossary-step3 2024-11-06 at 15.53.19@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/delete-glossary-step4 2024-11-06 at 15.55.11@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/out-create-glossary example 2024-11-05 at 20.38.04@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/out-create-term 2024-11-06 at 20.48.29.png +0 -0
- pyegeria/commands/doc/glossary/images/out-delete-term 2024-11-07 at 03.57.25.png +0 -0
- pyegeria/commands/doc/glossary/images/out-display-terms-for-glossary-test 2024-11-06 at 20.51.28.png +0 -0
- pyegeria/commands/doc/glossary/images/out-export-example 2024-11-07 at 09.54.57.png +0 -0
- pyegeria/commands/doc/glossary/images/out-exported-terms 2024-11-06 at 21.06.32.png +0 -0
- pyegeria/commands/doc/glossary/images/out-glossary-list example 2024-11-05 at 20.41.02@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/out-import-terms 2024-11-07 at 08.15.18.png +0 -0
- pyegeria/commands/doc/glossary/images/out-list-all-terms 2024-11-06 at 16.22.20@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/out-list-terms-for-example 2024-11-06 at 16.40.12.png +0 -0
- pyegeria/commands/doc/glossary/images/out-list-terms-second 2024-11-06 at 16.45.13.png +0 -0
- pyegeria/commands/doc/glossary/images/out-pipx install pyegeria 2024-11-10 at 18.12.21.png +0 -0
- pyegeria/commands/doc/glossary/images/out-server-status-full 2024-11-10 at 18.25.14.png +0 -0
- pyegeria/commands/doc/glossary/images/out-servers-status 2024-11-10 at 18.15.42.png +0 -0
- pyegeria/commands/doc/glossary/images/out-upsert-import 2024-11-07 at 19.37.00.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-2024-11-10 at 18.26.29.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-create-glossary example 2024-11-05 at 20.34.24@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-create-term 2024-11-06 at 20.46.35.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-delete-term 2024-11-07 at 03.51.57.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-display-terms-for-example 2024-11-06 at 20.56.49.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-export-example 2024-11-07 at 09.52.59.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-hey-egeria 2024-11-10 at 18.31.01.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-import-upsert-example 2024-11-07 at 10.08.37.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-list-terms-second 2024-11-06 at 16.46.34.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-load-archive.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-server-status-full 2024-11-10 at 19.14.36.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-show-glossaries 2024-11-07 at 20.00.05.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-show-glossary-terms 2024-11-05 at 19.37.53@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-upsert 2024-11-07 at 11.49.04.png +0 -0
- pyegeria/commands/doc/glossary/images/upsert-example.om-terms 2024-11-07 at 11.44.05.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/README.md +0 -346
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731421782704.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731422134920.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria 2024-11-12 at 20.38.43.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria cat 2024-11-12 at 21.41.43.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-list 2024-11-12 at 16.45.26.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-live 2024-11-12 at 16.44.12@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status 2024-11-10 at 18.15.42@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status-full 2024-11-10 at 18.25.14@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/short-cut commands 2024-11-12 at 22.22.13.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-hey-egeria.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-integration-status-paging.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-load-archive 2024-11-10 at 19.19.09@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status 2024-11-10 at 18.52.01@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status-full 2024-11-10.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-status-paging 2024-11-12 at 16.26.14@2x.png +0 -0
- pyegeria/commands/ops/__init__.py +0 -22
- pyegeria/commands/tech/__init__.py +0 -0
- pyegeria-5.2.1.dist-info/RECORD +0 -232
- pyegeria-5.2.1.dist-info/entry_points.txt +0 -81
- {pyegeria/commands → commands}/cat/README.md +0 -0
- {pyegeria/commands → commands}/cli/txt_custom_v2.tcss +0 -0
- {pyegeria/commands → commands}/my/README.md +0 -0
- {pyegeria/commands → commands}/ops/README.md +0 -0
- {pyegeria/commands → commands}/ops/x_engine_actions.py +0 -0
- {pyegeria/commands → commands}/tech/README.md +0 -0
- /pyegeria/commands/my/__init__.py → /md_processing/dr_egeria_inbox/t1.md +0 -0
- {pyegeria-5.2.1.dist-info → pyegeria-5.3.dist-info}/LICENSE +0 -0
@@ -1,32 +1,33 @@
|
|
1
1
|
"""This creates a templates guid file from the core metadata archive"""
|
2
|
-
|
3
|
-
from rich.prompt import Prompt
|
4
|
-
import os
|
2
|
+
|
5
3
|
import argparse
|
6
|
-
import
|
4
|
+
import os
|
7
5
|
import sys
|
6
|
+
import time
|
7
|
+
|
8
8
|
from rich import box
|
9
9
|
from rich.console import Console
|
10
|
+
from rich.markdown import Markdown
|
11
|
+
from rich.prompt import Prompt
|
10
12
|
from rich.table import Table
|
11
13
|
|
12
14
|
from pyegeria import (
|
15
|
+
EgeriaTech,
|
13
16
|
InvalidParameterException,
|
14
17
|
PropertyServerException,
|
15
18
|
UserNotAuthorizedException,
|
16
19
|
print_exception_response,
|
17
|
-
EgeriaTech,
|
18
20
|
)
|
19
21
|
|
20
|
-
|
21
22
|
console = Console()
|
22
23
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
23
24
|
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
24
25
|
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
25
|
-
EGERIA_VIEW_SERVER = os.environ.get("
|
26
|
+
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
26
27
|
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
27
28
|
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
28
29
|
)
|
29
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("
|
30
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
30
31
|
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
31
32
|
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
32
33
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
@@ -136,7 +137,7 @@ def list_deployed_database_schemas(
|
|
136
137
|
for c in el_classification:
|
137
138
|
el_cat_guid = "---"
|
138
139
|
if c["type"]["typeName"] == "Anchors":
|
139
|
-
el_anchor_guid = c["classificationProperties"]
|
140
|
+
el_anchor_guid = c["classificationProperties"].get("anchorGUID",'---')
|
140
141
|
el_anchor_type_name = c["classificationProperties"][
|
141
142
|
"anchorTypeName"
|
142
143
|
]
|
@@ -1,32 +1,33 @@
|
|
1
1
|
"""This displays deployed databases"""
|
2
|
-
|
3
|
-
from rich.prompt import Prompt
|
4
|
-
import os
|
2
|
+
|
5
3
|
import argparse
|
6
|
-
import
|
4
|
+
import os
|
7
5
|
import sys
|
6
|
+
import time
|
7
|
+
|
8
8
|
from rich import box
|
9
9
|
from rich.console import Console
|
10
|
+
from rich.markdown import Markdown
|
11
|
+
from rich.prompt import Prompt
|
10
12
|
from rich.table import Table
|
11
13
|
|
12
14
|
from pyegeria import (
|
15
|
+
EgeriaTech,
|
13
16
|
InvalidParameterException,
|
14
17
|
PropertyServerException,
|
15
18
|
UserNotAuthorizedException,
|
16
19
|
print_exception_response,
|
17
|
-
EgeriaTech,
|
18
20
|
)
|
19
21
|
|
20
|
-
|
21
22
|
console = Console()
|
22
23
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
23
24
|
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
24
25
|
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
25
|
-
EGERIA_VIEW_SERVER = os.environ.get("
|
26
|
+
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
26
27
|
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
27
28
|
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
28
29
|
)
|
29
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("
|
30
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
30
31
|
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
31
32
|
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
32
33
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
@@ -25,19 +25,19 @@ from rich.text import Text
|
|
25
25
|
from pyegeria import (
|
26
26
|
InvalidParameterException,
|
27
27
|
PropertyServerException,
|
28
|
+
RuntimeManager,
|
28
29
|
UserNotAuthorizedException,
|
29
30
|
print_exception_response,
|
30
|
-
RuntimeManager,
|
31
31
|
)
|
32
32
|
|
33
33
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
34
34
|
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
35
35
|
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
36
|
-
EGERIA_VIEW_SERVER = os.environ.get("
|
36
|
+
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
37
37
|
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
38
38
|
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
39
39
|
)
|
40
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("
|
40
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
41
41
|
EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
|
42
42
|
"EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
|
43
43
|
)
|
@@ -15,15 +15,16 @@ import time
|
|
15
15
|
|
16
16
|
from rich import box
|
17
17
|
from rich.console import Console
|
18
|
+
from rich.markdown import Markdown
|
18
19
|
from rich.prompt import Prompt
|
19
20
|
from rich.table import Table
|
20
21
|
from rich.text import Text
|
21
22
|
|
22
23
|
from pyegeria import (
|
24
|
+
EgeriaTech,
|
23
25
|
InvalidParameterException,
|
24
26
|
PropertyServerException,
|
25
27
|
UserNotAuthorizedException,
|
26
|
-
EgeriaTech,
|
27
28
|
print_exception_response,
|
28
29
|
)
|
29
30
|
|
@@ -32,17 +33,22 @@ disable_ssl_warnings = True
|
|
32
33
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
33
34
|
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
34
35
|
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
35
|
-
EGERIA_VIEW_SERVER = os.environ.get("
|
36
|
+
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
36
37
|
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
37
38
|
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
38
39
|
)
|
39
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("
|
40
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
40
41
|
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
41
42
|
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
42
43
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
43
44
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
44
45
|
EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
|
45
46
|
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
|
47
|
+
EGERIA_GLOSSARY_PATH = os.environ.get("EGERIA_GLOSSARY_PATH", None)
|
48
|
+
EGERIA_ROOT_PATH = os.environ.get("EGERIA_ROOT_PATH", "../../")
|
49
|
+
EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "md_processing/dr_egeria_inbox")
|
50
|
+
EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "md_processing/dr_egeria_outbox")
|
51
|
+
|
46
52
|
|
47
53
|
|
48
54
|
def display_glossaries(
|
@@ -53,6 +59,7 @@ def display_glossaries(
|
|
53
59
|
user_pass: str = EGERIA_USER_PASSWORD,
|
54
60
|
jupyter: bool = EGERIA_JUPYTER,
|
55
61
|
width: int = EGERIA_WIDTH,
|
62
|
+
output_format: str = "JSON"
|
56
63
|
):
|
57
64
|
"""Display either a specified glossary or all glossaries if the search_string is '*'.
|
58
65
|
Parameters
|
@@ -71,10 +78,39 @@ def display_glossaries(
|
|
71
78
|
A boolean indicating whether the output is intended for a Jupyter notebook (default is EGERIA_JUPYTER).
|
72
79
|
width : int, optional
|
73
80
|
The width of the console output (default is EGERIA_WIDTH).
|
81
|
+
output_format: str, optional, default is 'JSON'
|
82
|
+
One of TABLE, FORM, REPORT
|
74
83
|
"""
|
75
84
|
m_client = EgeriaTech(view_server, view_url, user_id=user, user_pwd=user_pass)
|
76
85
|
token = m_client.create_egeria_bearer_token()
|
86
|
+
console = Console(
|
87
|
+
style="bold bright_white on black",
|
88
|
+
width=width,
|
89
|
+
force_terminal=not jupyter,
|
90
|
+
)
|
91
|
+
|
77
92
|
try:
|
93
|
+
if output_format == "FORM":
|
94
|
+
action = "Update-Form"
|
95
|
+
elif output_format == "REPORT":
|
96
|
+
action = "Report"
|
97
|
+
if output_format != "TABLE":
|
98
|
+
file_path = os.path.join(EGERIA_ROOT_PATH, EGERIA_OUTBOX_PATH)
|
99
|
+
file_name = f"Glossaries-{time.strftime('%Y-%m-%d-%H-%M-%S')}-{action}.md"
|
100
|
+
full_file_path = os.path.join(file_path, file_name)
|
101
|
+
os.makedirs(os.path.dirname(full_file_path), exist_ok=True)
|
102
|
+
output = m_client.find_glossaries(search_string, None, output_format=output_format)
|
103
|
+
if output == "NO_GLOSSARIES_FOUND":
|
104
|
+
print(f"\n==> No glossaries found for search string '{search_string}'")
|
105
|
+
return
|
106
|
+
try:
|
107
|
+
with open(full_file_path, 'w') as f:
|
108
|
+
f.write(output)
|
109
|
+
print(f"\n==> Glossaries output written to {full_file_path}")
|
110
|
+
return
|
111
|
+
except Exception:
|
112
|
+
console.print_exception()
|
113
|
+
|
78
114
|
table = Table(
|
79
115
|
title=f"Glossary List @ {time.asctime()}",
|
80
116
|
style="bright_white on black",
|
@@ -93,6 +129,7 @@ def display_glossaries(
|
|
93
129
|
table.add_column("Language")
|
94
130
|
table.add_column("Description")
|
95
131
|
table.add_column("Usage")
|
132
|
+
table.add_column("Categories")
|
96
133
|
|
97
134
|
glossaries = m_client.find_glossaries(search_string)
|
98
135
|
if type(glossaries) is list:
|
@@ -100,19 +137,23 @@ def display_glossaries(
|
|
100
137
|
glossaries, key=lambda k: k["glossaryProperties"]["displayName"]
|
101
138
|
)
|
102
139
|
for glossary in sorted_glossary_list:
|
103
|
-
display_name = glossary["glossaryProperties"]
|
140
|
+
display_name = glossary["glossaryProperties"].get("displayName",'---')
|
104
141
|
qualified_name = glossary["glossaryProperties"]["qualifiedName"]
|
105
142
|
guid = glossary["elementHeader"]["guid"]
|
106
143
|
q_name = Text(f"{qualified_name}\n&\n{guid}", justify="center")
|
107
|
-
language = glossary["glossaryProperties"]
|
108
|
-
description = glossary["glossaryProperties"]
|
109
|
-
usage = glossary["glossaryProperties"]
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
144
|
+
language = glossary["glossaryProperties"].get("language",'---')
|
145
|
+
description = glossary["glossaryProperties"].get("description",'---')
|
146
|
+
usage = glossary["glossaryProperties"].get("usage",'---')
|
147
|
+
|
148
|
+
categories = m_client.get_categories_for_glossary(guid)
|
149
|
+
cat_md = ''
|
150
|
+
if type(categories) is list:
|
151
|
+
for category in categories:
|
152
|
+
cat_md += f"* {category['glossaryCategoryProperties'][('displayName')]}\n"
|
153
|
+
cat_md = cat_md.strip()
|
154
|
+
|
155
|
+
table.add_row(display_name, q_name, language, description, usage, Markdown(cat_md))
|
156
|
+
|
116
157
|
console.print(table)
|
117
158
|
|
118
159
|
except (InvalidParameterException, PropertyServerException) as e:
|
@@ -139,8 +180,9 @@ def main():
|
|
139
180
|
search_string = Prompt.ask(
|
140
181
|
"Enter the glossary you are searching for or '*' for all:", default="*"
|
141
182
|
)
|
142
|
-
|
143
|
-
display_glossaries(search_string, server, url, userid,
|
183
|
+
output_format = Prompt.ask("What output format do you want?", choices=["TABLE", "FORM", "REPORT"], default="TABLE")
|
184
|
+
display_glossaries(search_string, server, url, userid,
|
185
|
+
user_pass, output_format=output_format)
|
144
186
|
|
145
187
|
except KeyboardInterrupt:
|
146
188
|
pass
|
@@ -14,28 +14,28 @@ import json
|
|
14
14
|
import os
|
15
15
|
import time
|
16
16
|
|
17
|
-
from rich import box
|
18
|
-
from rich import print
|
17
|
+
from rich import box, print
|
19
18
|
from rich.console import Console
|
20
19
|
from rich.prompt import Prompt
|
21
20
|
from rich.table import Table
|
22
21
|
|
23
22
|
from pyegeria import (
|
23
|
+
ClassificationManager,
|
24
24
|
InvalidParameterException,
|
25
|
+
ProjectManager,
|
25
26
|
PropertyServerException,
|
26
27
|
UserNotAuthorizedException,
|
27
28
|
print_exception_response,
|
28
29
|
)
|
29
|
-
from pyegeria import ProjectManager, ClassificationManager
|
30
30
|
|
31
31
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
32
32
|
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
33
33
|
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
34
|
-
EGERIA_VIEW_SERVER = os.environ.get("
|
34
|
+
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
35
35
|
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
36
36
|
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
37
37
|
)
|
38
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("
|
38
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
39
39
|
EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
|
40
40
|
"EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
|
41
41
|
)
|
@@ -19,21 +19,21 @@ from rich.prompt import Prompt
|
|
19
19
|
from rich.table import Table
|
20
20
|
|
21
21
|
from pyegeria import (
|
22
|
+
AutomatedCuration,
|
22
23
|
InvalidParameterException,
|
23
24
|
PropertyServerException,
|
24
25
|
UserNotAuthorizedException,
|
25
26
|
print_exception_response,
|
26
|
-
AutomatedCuration,
|
27
27
|
)
|
28
28
|
|
29
29
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
30
30
|
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
31
31
|
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
32
|
-
EGERIA_VIEW_SERVER = os.environ.get("
|
32
|
+
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
33
33
|
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
34
34
|
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
35
35
|
)
|
36
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("
|
36
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
37
37
|
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
38
38
|
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
39
39
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
@@ -8,8 +8,8 @@ Unit tests for the Utils helper functions using the Pytest framework.
|
|
8
8
|
|
9
9
|
A simple display for my profile
|
10
10
|
"""
|
11
|
-
import os
|
12
11
|
import argparse
|
12
|
+
import os
|
13
13
|
import sys
|
14
14
|
import time
|
15
15
|
|
@@ -19,21 +19,21 @@ from rich.prompt import Prompt
|
|
19
19
|
from rich.table import Table
|
20
20
|
|
21
21
|
from pyegeria import (
|
22
|
+
AutomatedCuration,
|
22
23
|
InvalidParameterException,
|
23
24
|
PropertyServerException,
|
24
25
|
UserNotAuthorizedException,
|
25
26
|
print_exception_response,
|
26
|
-
AutomatedCuration,
|
27
27
|
)
|
28
28
|
|
29
29
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
30
30
|
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
31
31
|
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
32
|
-
EGERIA_VIEW_SERVER = os.environ.get("
|
32
|
+
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
33
33
|
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
34
34
|
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
35
35
|
)
|
36
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("
|
36
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
37
37
|
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
38
38
|
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
39
39
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
@@ -3,8 +3,6 @@
|
|
3
3
|
SPDX-License-Identifier: Apache-2.0
|
4
4
|
Copyright Contributors to the ODPi Egeria project.
|
5
5
|
|
6
|
-
Unit tests for the Utils helper functions using the Pytest framework.
|
7
|
-
|
8
6
|
|
9
7
|
A simple display for glossary terms
|
10
8
|
"""
|
@@ -15,35 +13,40 @@ import time
|
|
15
13
|
|
16
14
|
from rich import box
|
17
15
|
from rich.console import Console
|
16
|
+
from rich.markdown import Markdown
|
18
17
|
from rich.prompt import Prompt
|
19
18
|
from rich.table import Table
|
20
19
|
from rich.text import Text
|
21
20
|
|
22
21
|
from pyegeria import (
|
22
|
+
EgeriaTech,
|
23
23
|
InvalidParameterException,
|
24
24
|
PropertyServerException,
|
25
|
-
UserNotAuthorizedException,
|
26
|
-
|
27
|
-
|
28
|
-
from pyegeria.
|
25
|
+
UserNotAuthorizedException, NO_CATEGORIES_FOUND,
|
26
|
+
)
|
27
|
+
from commands.cat.glossary_actions import EGERIA_HOME_GLOSSARY_GUID
|
28
|
+
from pyegeria._globals import NO_GLOSSARIES_FOUND
|
29
29
|
|
30
30
|
disable_ssl_warnings = True
|
31
31
|
|
32
32
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
33
33
|
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
34
34
|
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
35
|
-
EGERIA_VIEW_SERVER = os.environ.get("
|
35
|
+
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
36
36
|
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
37
37
|
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
38
38
|
)
|
39
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("
|
39
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
40
40
|
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
41
41
|
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
42
42
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
43
43
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
44
44
|
EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
|
45
|
-
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "
|
46
|
-
|
45
|
+
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "250"))
|
46
|
+
EGERIA_GLOSSARY_PATH = os.environ.get("EGERIA_GLOSSARY_PATH", None)
|
47
|
+
EGERIA_ROOT_PATH = os.environ.get("EGERIA_ROOT_PATH", "../../")
|
48
|
+
EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "md_processing/dr_egeria_inbox")
|
49
|
+
EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "md_processing/dr_egeria_outbox")
|
47
50
|
|
48
51
|
|
49
52
|
def display_glossary_terms(
|
@@ -56,6 +59,7 @@ def display_glossary_terms(
|
|
56
59
|
user_pass: str = EGERIA_USER_PASSWORD,
|
57
60
|
jupyter: bool = EGERIA_JUPYTER,
|
58
61
|
width: int = EGERIA_WIDTH,
|
62
|
+
output_format: str = "TABLE",
|
59
63
|
):
|
60
64
|
"""Display a table of glossary terms filtered by search_string and glossary, if specified. If no
|
61
65
|
filters then all terms are displayed. If glossary_guid or name is specified, then only terms from that
|
@@ -84,22 +88,54 @@ def display_glossary_terms(
|
|
84
88
|
Flag to indicate if the output should be formatted for Jupyter notebook. Defaults to EGERIA_JUPYTER.
|
85
89
|
width : int
|
86
90
|
The width of the console output. Defaults to EGERIA_WIDTH.
|
91
|
+
output_format: str, optional, default is 'JSON'
|
92
|
+
One of TABLE, FORM, REPORT
|
87
93
|
"""
|
88
94
|
|
89
95
|
console = Console(
|
90
96
|
style="bold bright_white on black", width=width, force_terminal=not jupyter
|
91
97
|
)
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
98
|
+
try:
|
99
|
+
g_client = EgeriaTech(view_server, view_url, user_id, user_pass)
|
100
|
+
token = g_client.create_egeria_bearer_token(user_id, user_pass)
|
101
|
+
if (glossary_name is not None) and (glossary_name != "*"):
|
102
|
+
glossary_guid = g_client.get_guid_for_name(glossary_name)
|
103
|
+
if glossary_guid == NO_GLOSSARIES_FOUND:
|
104
|
+
console.print(
|
105
|
+
f"\nThe glossary name {glossary_name} was not found. Please try using the glossary guid"
|
106
|
+
)
|
107
|
+
sys.exit(1)
|
108
|
+
elif (glossary_guid is not None) and (len(glossary_guid) < 10):
|
109
|
+
glossary_guid = None
|
110
|
+
|
111
|
+
if output_format == "FORM":
|
112
|
+
action = "Update-Form"
|
113
|
+
elif output_format == "REPORT":
|
114
|
+
action = "Report"
|
115
|
+
if output_format != "TABLE":
|
116
|
+
file_path = os.path.join(EGERIA_ROOT_PATH, EGERIA_OUTBOX_PATH)
|
117
|
+
file_name = f"Terms-{time.strftime('%Y-%m-%d-%H-%M-%S')}-{action}.md"
|
118
|
+
full_file_path = os.path.join(file_path, file_name)
|
119
|
+
os.makedirs(os.path.dirname(full_file_path), exist_ok=True)
|
120
|
+
output = g_client.find_glossary_terms(search_string, glossary_guid, output_format=output_format)
|
121
|
+
if output == "NO_TERMS_FOUND":
|
122
|
+
print(f"\n==> No terms found for search string '{search_string}'")
|
123
|
+
return
|
124
|
+
with open(full_file_path, 'w') as f:
|
125
|
+
f.write(output)
|
126
|
+
print(f"\n==> Terms output written to {full_file_path}")
|
127
|
+
return
|
128
|
+
|
129
|
+
except (
|
130
|
+
InvalidParameterException,
|
131
|
+
PropertyServerException,
|
132
|
+
UserNotAuthorizedException,
|
133
|
+
) as e:
|
134
|
+
console.print_exception()
|
101
135
|
|
102
|
-
|
136
|
+
|
137
|
+
|
138
|
+
def generate_table(search_string: str, glossary_guid: str) -> Table:
|
103
139
|
"""Make a new table."""
|
104
140
|
table = Table(
|
105
141
|
title=f"Glossary Definitions for Terms like {search_string} @ {time.asctime()}",
|
@@ -113,15 +149,14 @@ def display_glossary_terms(
|
|
113
149
|
caption=f"View Server '{view_server}' @ Platform - {view_url}",
|
114
150
|
expand=True,
|
115
151
|
)
|
116
|
-
table.add_column("Term Name")
|
117
|
-
table.add_column("Qualified Name / GUID", width=38, no_wrap=True)
|
118
|
-
table.add_column("Abbreviation")
|
152
|
+
table.add_column("Term Name / Abbreviation / Version")
|
153
|
+
table.add_column("Qualified Name / GUID / Aliases", width=38, no_wrap=True)
|
119
154
|
table.add_column("Summary")
|
120
155
|
table.add_column("Description")
|
121
|
-
table.add_column("Version Id")
|
122
156
|
table.add_column("Glossary")
|
123
157
|
table.add_column("Status")
|
124
|
-
table.add_column("
|
158
|
+
table.add_column("Categories")
|
159
|
+
table.add_column("Example/Usage", min_width=50)
|
125
160
|
|
126
161
|
terms = g_client.find_glossary_terms(
|
127
162
|
search_string,
|
@@ -133,10 +168,10 @@ def display_glossary_terms(
|
|
133
168
|
)
|
134
169
|
|
135
170
|
if type(terms) is str:
|
136
|
-
print(f"No terms found!")
|
171
|
+
print(f"No terms found! - {search_string} : {glossary_guid} ")
|
137
172
|
sys.exit(0)
|
138
173
|
sorted_terms = sorted(
|
139
|
-
terms, key=lambda k: k["glossaryTermProperties"]
|
174
|
+
terms, key=lambda k: k["glossaryTermProperties"].get("displayName","---")
|
140
175
|
)
|
141
176
|
style = "bright_white on black"
|
142
177
|
if type(terms) is str:
|
@@ -147,27 +182,26 @@ def display_glossary_terms(
|
|
147
182
|
if props == "None":
|
148
183
|
return table
|
149
184
|
|
150
|
-
display_name =
|
185
|
+
display_name = props.get("displayName","---")
|
151
186
|
qualified_name = props["qualifiedName"]
|
152
187
|
term_guid = term["elementHeader"]["guid"]
|
188
|
+
aliases = props.get("aliases", "---")
|
153
189
|
q_name = Text(
|
154
|
-
f"{qualified_name}\n&\n{term_guid}", style=style, justify="center"
|
155
|
-
)
|
156
|
-
abbrev = Text(props.get("abbreviation", " "), style=style, justify="center")
|
157
|
-
summary = Text(props.get("summary", " "), style=style)
|
158
|
-
description = Text(props.get("description", " "), style=style)
|
159
|
-
version = Text(
|
160
|
-
props.get("publishVersionIdentifier", " "),
|
161
|
-
style=style,
|
162
|
-
justify="center",
|
190
|
+
f"{qualified_name}\n&\n{term_guid}\n&\n{aliases}", style=style, justify="center"
|
163
191
|
)
|
164
|
-
|
192
|
+
abbrev = props.get("abbreviation", "---")
|
193
|
+
summary = props.get("summary", "---")
|
194
|
+
description = Markdown(props.get("description",'---'))
|
195
|
+
version = props.get("publishVersionIdentifier", "---")
|
196
|
+
example = props.get("example", "---")
|
197
|
+
usage = props.get("usage", "---")
|
198
|
+
ex_us_out = Markdown(f"Example:\n{example}\n---\nUsage: \n{usage}")
|
165
199
|
|
166
200
|
classifications = term["elementHeader"]["classifications"]
|
167
201
|
glossary_guid = None
|
168
202
|
for c in classifications:
|
169
203
|
if c["classificationName"] == "Anchors":
|
170
|
-
glossary_guid = c["classificationProperties"]["
|
204
|
+
glossary_guid = c["classificationProperties"]["anchorScopeGUID"]
|
171
205
|
|
172
206
|
if glossary_guid and glossary_guid in glossary_info:
|
173
207
|
glossary_name = glossary_info[glossary_guid]
|
@@ -177,18 +211,27 @@ def display_glossary_terms(
|
|
177
211
|
glossary_info[glossary_guid] = glossary_name
|
178
212
|
else:
|
179
213
|
glossary_name = "---"
|
214
|
+
category_list_md = ""
|
215
|
+
category_list = g_client.get_categories_for_term(term_guid)
|
216
|
+
if type(category_list) is str and category_list == NO_CATEGORIES_FOUND:
|
217
|
+
category_list_md = '---'
|
218
|
+
elif isinstance(category_list, list) and len(category_list) > 0:
|
219
|
+
for category in category_list:
|
220
|
+
category_name = category["glossaryCategoryProperties"].get("displayName",'---')
|
221
|
+
category_list_md += f"* {category_name}\n"
|
222
|
+
term_abb_ver_out = Markdown(f"{display_name}\n---\n{abbrev}\n---\n{version}")
|
223
|
+
category_list_out = Markdown(category_list_md)
|
180
224
|
|
181
|
-
term_status = term["elementHeader"]
|
225
|
+
term_status = term["elementHeader"].get("status","---")
|
182
226
|
table.add_row(
|
183
|
-
|
227
|
+
term_abb_ver_out,
|
184
228
|
q_name,
|
185
|
-
abbrev,
|
186
229
|
summary,
|
187
230
|
description,
|
188
|
-
version,
|
189
231
|
glossary_name,
|
190
232
|
term_status,
|
191
|
-
|
233
|
+
category_list_out,
|
234
|
+
ex_us_out,
|
192
235
|
style="bold white on black",
|
193
236
|
)
|
194
237
|
|
@@ -218,7 +261,9 @@ def main():
|
|
218
261
|
|
219
262
|
args = parser.parse_args()
|
220
263
|
|
264
|
+
# server = args.server if args.server is not None else EGERIA_VIEW_SERVER
|
221
265
|
server = args.server if args.server is not None else EGERIA_VIEW_SERVER
|
266
|
+
|
222
267
|
url = args.url if args.url is not None else EGERIA_PLATFORM_URL
|
223
268
|
userid = args.userid if args.userid is not None else EGERIA_USER
|
224
269
|
user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
@@ -230,8 +275,11 @@ def main():
|
|
230
275
|
"Enter the name of the glossary to search or '*' for all glossaries:",
|
231
276
|
default="*",
|
232
277
|
)
|
278
|
+
output_format = Prompt.ask("What output format do you want?", choices=["TABLE", "FORM", "REPORT"], default="TABLE")
|
279
|
+
|
233
280
|
display_glossary_terms(
|
234
|
-
|
281
|
+
search_string, guid, glossary_name, server, url,
|
282
|
+
userid, user_pass, output_format= output_format
|
235
283
|
)
|
236
284
|
|
237
285
|
except KeyboardInterrupt:
|
@@ -9,8 +9,8 @@ Unit tests for the Utils helper functions using the Pytest framework.
|
|
9
9
|
|
10
10
|
A simple display for glossary terms
|
11
11
|
"""
|
12
|
-
import os
|
13
12
|
import argparse
|
13
|
+
import os
|
14
14
|
import time
|
15
15
|
|
16
16
|
from rich import box
|
@@ -30,11 +30,11 @@ from pyegeria.my_profile_omvs import MyProfile
|
|
30
30
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
31
31
|
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
32
32
|
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
33
|
-
EGERIA_VIEW_SERVER = os.environ.get("
|
33
|
+
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
34
34
|
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
35
35
|
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
36
36
|
)
|
37
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("
|
37
|
+
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
38
38
|
EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
|
39
39
|
"EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
|
40
40
|
)
|