pyegeria 5.4.0.28__py3-none-any.whl → 5.5.3.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyegeria might be problematic. Click here for more details.
- commands/__init__.py +24 -0
- commands/cat/Dr-Egeria_md-orig.py +2 -2
- commands/cat/collection_actions.py +197 -0
- commands/cat/dr_egeria_command_help.py +137 -38
- commands/cat/dr_egeria_jupyter.py +7 -7
- commands/cat/dr_egeria_md.py +10 -267
- commands/cat/exp_list_glossaries.py +11 -14
- commands/cat/get_asset_graph.py +37 -267
- commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
- commands/cat/get_project_dependencies.py +14 -14
- commands/cat/get_project_structure.py +15 -14
- commands/cat/get_tech_type_elements.py +16 -116
- commands/cat/glossary_actions.py +145 -298
- commands/cat/list_assets.py +3 -11
- commands/cat/list_cert_types.py +17 -63
- commands/cat/list_collections.py +17 -139
- commands/cat/list_deployed_catalogs.py +15 -27
- commands/cat/list_deployed_database_schemas.py +27 -43
- commands/cat/list_deployed_databases.py +16 -31
- commands/cat/list_deployed_servers.py +35 -54
- commands/cat/list_glossaries.py +18 -17
- commands/cat/list_projects.py +10 -12
- commands/cat/list_tech_type_elements.py +21 -37
- commands/cat/list_tech_types.py +13 -25
- commands/cat/list_terms.py +38 -79
- commands/cat/list_todos.py +4 -11
- commands/cat/list_user_ids.py +3 -10
- commands/cat/my_reports.py +559 -0
- commands/cat/run_report.py +394 -0
- commands/cat/{list_format_set.py → run_report_orig.py} +136 -44
- commands/cli/egeria.py +182 -219
- commands/cli/egeria_cat.py +32 -59
- commands/cli/egeria_my.py +13 -0
- commands/cli/egeria_ops.py +69 -74
- commands/cli/egeria_tech.py +17 -93
- commands/{cat → deprecated}/list_data_designer.py +2 -4
- commands/{cat → deprecated}/list_data_structures_full.py +3 -6
- commands/deprecated/old_get_asset_graph.py +315 -0
- commands/my/__init__.py +0 -2
- commands/my/list_my_profile.py +27 -34
- commands/my/list_my_roles.py +1 -7
- commands/my/monitor_my_todos.py +1 -7
- commands/my/monitor_open_todos.py +6 -7
- commands/my/todo_actions.py +4 -5
- commands/ops/__init__.py +0 -2
- commands/ops/gov_server_actions.py +17 -21
- commands/ops/list_archives.py +17 -38
- commands/ops/list_catalog_targets.py +33 -40
- commands/ops/load_archive.py +14 -11
- commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
- commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
- commands/ops/monitor_engine_activity.py +79 -77
- commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
- commands/ops/monitor_platform_status.py +38 -50
- commands/ops/monitor_server_startup.py +6 -11
- commands/ops/monitor_server_status.py +7 -11
- commands/ops/orig_monitor_server_list.py +8 -8
- commands/ops/orig_monitor_server_status.py +1 -5
- commands/ops/refresh_integration_daemon.py +5 -5
- commands/ops/restart_integration_daemon.py +5 -5
- commands/ops/table_integ_daemon_status.py +6 -6
- commands/ops/x_engine_actions.py +7 -7
- commands/tech/__init__.py +0 -2
- commands/tech/{generic_actions.py → element_actions.py} +6 -11
- commands/tech/get_element_info.py +20 -29
- commands/tech/get_guid_info.py +23 -42
- commands/tech/get_tech_details.py +20 -35
- commands/tech/get_tech_type_template.py +28 -39
- commands/tech/list_all_om_type_elements.py +24 -30
- commands/tech/list_all_om_type_elements_x.py +22 -28
- commands/tech/list_all_related_elements.py +19 -28
- commands/tech/list_anchored_elements.py +22 -30
- commands/tech/list_asset_types.py +19 -24
- commands/tech/list_elements_by_classification_by_property_value.py +26 -32
- commands/tech/list_elements_by_property_value.py +19 -25
- commands/tech/list_elements_by_property_value_x.py +20 -28
- commands/tech/list_elements_for_classification.py +28 -41
- commands/tech/list_gov_action_processes.py +16 -27
- commands/tech/list_information_supply_chains.py +22 -30
- commands/tech/list_registered_services.py +14 -26
- commands/tech/list_related_elements_with_prop_value.py +15 -25
- commands/tech/list_related_specification.py +1 -4
- commands/tech/list_relationship_types.py +15 -25
- commands/tech/list_relationships.py +20 -36
- commands/tech/list_solution_blueprints.py +28 -33
- commands/tech/list_solution_components.py +23 -29
- commands/tech/list_solution_roles.py +21 -32
- commands/tech/list_tech_templates.py +51 -54
- commands/tech/list_valid_metadata_values.py +5 -9
- commands/tech/table_tech_templates.py +2 -6
- commands/tech/x_list_related_elements.py +1 -4
- examples/GeoSpatial Products Example.py +524 -0
- examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
- examples/Jupyter Notebooks/README.md +2 -0
- examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
- examples/Jupyter Notebooks/common/__init__.py +14 -0
- examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
- examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
- examples/Jupyter Notebooks/common/globals.ipynb +184 -0
- examples/Jupyter Notebooks/common/globals.py +154 -0
- examples/Jupyter Notebooks/common/orig_globals.py +152 -0
- examples/format_sets/all_format_sets.json +910 -0
- examples/format_sets/custom_format_sets.json +268 -0
- examples/format_sets/subset_format_sets.json +187 -0
- examples/format_sets_save_load_example.py +291 -0
- examples/jacquard_data_sets.py +129 -0
- examples/output_formats_example.py +193 -0
- examples/test_jacquard_data_sets.py +54 -0
- examples/test_jacquard_data_sets_scenarios.py +94 -0
- md_processing/__init__.py +33 -24
- md_processing/command_dispatcher.py +33 -0
- md_processing/command_mapping.py +221 -0
- md_processing/data/commands/commands_data_designer.json +537 -0
- md_processing/data/commands/commands_external_reference.json +733 -0
- md_processing/data/commands/commands_feedback.json +155 -0
- md_processing/data/commands/commands_general.json +204 -0
- md_processing/data/commands/commands_glossary.json +218 -0
- md_processing/data/commands/commands_governance.json +3678 -0
- md_processing/data/commands/commands_product_manager.json +865 -0
- md_processing/data/commands/commands_project.json +642 -0
- md_processing/data/commands/commands_solution_architect.json +366 -0
- md_processing/data/commands.json +6489 -30060
- md_processing/data/{commands-working.json → commands_working.json} +9304 -13513
- md_processing/data/gened_report_specs.py +6584 -0
- md_processing/data/generated_format_sets.json +6533 -0
- md_processing/data/generated_format_sets_old.json +4137 -0
- md_processing/data/generated_format_sets_old.py +45 -0
- md_processing/dr_egeria.py +182 -0
- md_processing/md_commands/data_designer_commands.py +195 -583
- md_processing/md_commands/ext_ref_commands.py +530 -0
- md_processing/md_commands/feedback_commands.py +726 -0
- md_processing/md_commands/glossary_commands.py +106 -490
- md_processing/md_commands/governance_officer_commands.py +129 -18
- md_processing/md_commands/product_manager_commands.py +362 -115
- md_processing/md_commands/project_commands.py +351 -134
- md_processing/md_commands/solution_architect_commands.py +276 -232
- md_processing/md_commands/view_commands.py +295 -0
- md_processing/md_processing_utils/common_md_proc_utils.py +258 -166
- md_processing/md_processing_utils/common_md_utils.py +138 -43
- md_processing/md_processing_utils/determine_width.py +103 -0
- md_processing/md_processing_utils/extraction_utils.py +100 -39
- md_processing/md_processing_utils/gen_report_specs.py +643 -0
- md_processing/md_processing_utils/generate_dr_help.py +61 -33
- md_processing/md_processing_utils/generate_md_cmd_templates.py +20 -19
- md_processing/md_processing_utils/generate_md_templates.py +3 -12
- md_processing/md_processing_utils/md_processing_constants.py +1053 -72
- pyegeria/__init__.py +203 -158
- pyegeria/core/__init__.py +40 -0
- pyegeria/core/_base_platform_client.py +574 -0
- pyegeria/core/_base_server_client.py +573 -0
- pyegeria/{_exceptions_new.py → core/_exceptions.py} +62 -30
- pyegeria/{_globals.py → core/_globals.py} +14 -3
- pyegeria/core/_server_client.py +6073 -0
- pyegeria/{_validators.py → core/_validators.py} +7 -8
- pyegeria/core/config.py +654 -0
- pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
- pyegeria/core/load_config.py +37 -0
- pyegeria/{logging_configuration.py → core/logging_configuration.py} +1 -1
- pyegeria/core/mcp_adapter.py +144 -0
- pyegeria/core/mcp_server.py +212 -0
- pyegeria/core/utils.py +405 -0
- pyegeria/{_client.py → deprecated/_client.py} +24 -25
- pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
- pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1987 -1877
- pyegeria/{output_formatter.py → deprecated/output_formatter_with_machine_keys.py} +298 -45
- pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +155 -171
- pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
- pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
- pyegeria/egeria_cat_client.py +26 -70
- pyegeria/egeria_client.py +130 -93
- pyegeria/egeria_config_client.py +40 -46
- pyegeria/egeria_tech_client.py +141 -54
- pyegeria/models/__init__.py +150 -0
- pyegeria/{models.py → models/models.py} +156 -20
- pyegeria/omvs/__init__.py +84 -0
- pyegeria/omvs/action_author.py +342 -0
- pyegeria/omvs/actor_manager.py +5980 -0
- pyegeria/omvs/asset_catalog.py +842 -0
- pyegeria/omvs/asset_maker.py +2736 -0
- pyegeria/omvs/automated_curation.py +4403 -0
- pyegeria/omvs/classification_manager.py +11213 -0
- pyegeria/{collection_manager.py → omvs/collection_manager.py} +1334 -1160
- pyegeria/omvs/community_matters_omvs.py +468 -0
- pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
- pyegeria/{data_designer.py → omvs/data_designer.py} +1115 -660
- pyegeria/omvs/data_discovery.py +869 -0
- pyegeria/omvs/data_engineer.py +372 -0
- pyegeria/omvs/digital_business.py +1133 -0
- pyegeria/omvs/external_links.py +1752 -0
- pyegeria/omvs/feedback_manager.py +834 -0
- pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
- pyegeria/{glossary_manager.py → omvs/glossary_manager.py} +857 -519
- pyegeria/{governance_officer.py → omvs/governance_officer.py} +964 -468
- pyegeria/omvs/lineage_linker.py +314 -0
- pyegeria/omvs/location_arena.py +1525 -0
- pyegeria/omvs/metadata_expert.py +668 -0
- pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
- pyegeria/omvs/my_profile.py +1042 -0
- pyegeria/omvs/notification_manager.py +358 -0
- pyegeria/omvs/people_organizer.py +394 -0
- pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
- pyegeria/omvs/product_manager.py +1825 -0
- pyegeria/omvs/project_manager.py +1907 -0
- pyegeria/omvs/reference_data.py +1140 -0
- pyegeria/omvs/registered_info.py +334 -0
- pyegeria/omvs/runtime_manager.py +2817 -0
- pyegeria/omvs/schema_maker.py +446 -0
- pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
- pyegeria/{solution_architect_omvs.py → omvs/solution_architect.py} +1886 -1505
- pyegeria/omvs/specification_properties.py +37 -0
- pyegeria/omvs/subject_area.py +1042 -0
- pyegeria/omvs/template_manager_omvs.py +236 -0
- pyegeria/omvs/time_keeper.py +1761 -0
- pyegeria/omvs/valid_metadata.py +3221 -0
- pyegeria/omvs/valid_metadata_lists.py +37 -0
- pyegeria/omvs/valid_type_lists.py +37 -0
- pyegeria/view/__init__.py +28 -0
- pyegeria/{_output_format_models.py → view/_output_format_models.py} +160 -24
- pyegeria/view/_output_formats.py +14 -0
- pyegeria/view/base_report_formats.py +2719 -0
- pyegeria/view/dr_egeria_reports.py +56 -0
- pyegeria/view/format_set_executor.py +397 -0
- pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
- pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
- pyegeria/view/output_formatter.py +1297 -0
- pyegeria-5.5.3.3.dist-info/METADATA +218 -0
- pyegeria-5.5.3.3.dist-info/RECORD +241 -0
- {pyegeria-5.4.0.28.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
- pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
- pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
- commands/cat/.DS_Store +0 -0
- commands/cat/.env +0 -8
- commands/cat/README.md +0 -16
- commands/cat/debug_log +0 -1126
- commands/cat/debug_log.2025-08-18_11-34-38_088636.zip +0 -0
- commands/cat/list_categories.py +0 -192
- commands/cat/logs/pyegeria.log +0 -4
- commands/cli/debug_log +0 -0
- commands/cli/debug_log.log +0 -0
- commands/cli/txt_custom_v2.tcss +0 -19
- commands/my/README.md +0 -17
- commands/ops/README.md +0 -24
- commands/ops/logs/pyegeria.log +0 -0
- commands/ops/monitor_asset_events.py +0 -108
- commands/tech/README.md +0 -24
- md_processing/.DS_Store +0 -0
- md_processing/dr-egeria-outbox/Collections-2025-08-12-13-30-37.md +0 -163
- md_processing/dr-egeria-outbox/Collections-2025-08-12-13-35-58.md +0 -474
- md_processing/dr_egeria_inbox/Derive-Dr-Gov-Defs.md +0 -8
- md_processing/dr_egeria_inbox/Dr.Egeria Templates.md +0 -873
- md_processing/dr_egeria_inbox/arch_test.md +0 -57
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +0 -254
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +0 -696
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +0 -254
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +0 -298
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +0 -608
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +0 -94
- md_processing/dr_egeria_inbox/archive/freddie_intro.md +0 -284
- md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +0 -275
- md_processing/dr_egeria_inbox/archive/test-term.md +0 -110
- md_processing/dr_egeria_inbox/cat_test.md +0 -100
- md_processing/dr_egeria_inbox/collections.md +0 -39
- md_processing/dr_egeria_inbox/data_designer_debug.log +0 -6
- md_processing/dr_egeria_inbox/data_designer_out.md +0 -60
- md_processing/dr_egeria_inbox/data_designer_search_test.md +0 -11
- md_processing/dr_egeria_inbox/data_field.md +0 -54
- md_processing/dr_egeria_inbox/data_spec.md +0 -77
- md_processing/dr_egeria_inbox/data_spec_test.md +0 -2406
- md_processing/dr_egeria_inbox/data_test.md +0 -179
- md_processing/dr_egeria_inbox/data_test2.md +0 -429
- md_processing/dr_egeria_inbox/data_test3.md +0 -462
- md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md +0 -124
- md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +0 -168
- md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +0 -280
- md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +0 -318
- md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +0 -1073
- md_processing/dr_egeria_inbox/dr_egeria_isc1.md +0 -44
- md_processing/dr_egeria_inbox/generated_help_report.md +0 -9
- md_processing/dr_egeria_inbox/glossary_creation_experiment.ipynb +0 -341
- md_processing/dr_egeria_inbox/glossary_list.md +0 -5
- md_processing/dr_egeria_inbox/glossary_search_test.md +0 -40
- md_processing/dr_egeria_inbox/glossary_test1.md +0 -324
- md_processing/dr_egeria_inbox/gov_def.md +0 -482
- md_processing/dr_egeria_inbox/gov_def2.md +0 -447
- md_processing/dr_egeria_inbox/img.png +0 -0
- md_processing/dr_egeria_inbox/product.md +0 -211
- md_processing/dr_egeria_inbox/rel.md +0 -8
- md_processing/dr_egeria_inbox/sb.md +0 -119
- md_processing/dr_egeria_inbox/solution-components.md +0 -136
- md_processing/dr_egeria_inbox/solution_blueprints.md +0 -118
- md_processing/dr_egeria_inbox/synonym_test.md +0 -42
- md_processing/dr_egeria_inbox/t2.md +0 -268
- md_processing/dr_egeria_outbox/.obsidian/app.json +0 -1
- md_processing/dr_egeria_outbox/.obsidian/appearance.json +0 -1
- md_processing/dr_egeria_outbox/.obsidian/community-plugins.json +0 -6
- md_processing/dr_egeria_outbox/.obsidian/core-plugins.json +0 -31
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/data.json +0 -10
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/main.js +0 -4459
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/manifest.json +0 -10
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/data.json +0 -3
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/main.js +0 -153
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/manifest.json +0 -11
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/styles.css +0 -1
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/main.js +0 -500
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +0 -12
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/styles.css +0 -1
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/main.js +0 -37
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/manifest.json +0 -11
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/styles.css +0 -220
- md_processing/dr_egeria_outbox/.obsidian/types.json +0 -28
- md_processing/dr_egeria_outbox/.obsidian/workspace.json +0 -220
- md_processing/dr_egeria_outbox/Untitled.canvas +0 -1
- md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:22-dr_egeria_intro_part1.md +0 -312
- md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:23-dr_egeria_intro_part1.md +0 -265
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:06-dr_egeria_intro_part1.md +0 -230
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:30-dr_egeria_intro_part1.md +0 -296
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:31-dr_egeria_intro_part1.md +0 -253
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:08-dr_egeria_intro_part2.md +0 -343
- md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:12-dr_egeria_intro_part2.md +0 -343
- md_processing/dr_egeria_outbox/monday/processed-2025-08-19 07:05-product.md +0 -426
- md_processing/dr_egeria_outbox/monday/processed-2025-08-19 07:56-product.md +0 -212
- md_processing/dr_egeria_outbox/monday/processed-2025-08-19 09:43-product.md +0 -201
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 14:55-product.md +0 -77
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:05-product.md +0 -75
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:11-product.md +0 -74
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 20:40-collections.md +0 -49
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 15:00-Derive-Dr-Gov-Defs.md +0 -719
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:13-Derive-Dr-Gov-Defs.md +0 -41
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:14-Derive-Dr-Gov-Defs.md +0 -33
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:50-Derive-Dr-Gov-Defs.md +0 -192
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:08-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:10-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:53-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:54-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:03-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:06-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:10-gov_def2.md +0 -486
- md_processing/dr_egeria_outbox/tuesday/processed-2025-07-16 19:15-gov_def2.md +0 -527
- md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 12:08-gov_def2.md +0 -527
- md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 14:27-gov_def2.md +0 -485
- md_processing/dr_egeria_outbox/tuesday/processed-2025-08-19 10:55-product.md +0 -209
- md_processing/family_docs/Data Designer/Create_Data_Class.md +0 -164
- md_processing/family_docs/Data Designer/Create_Data_Dictionary.md +0 -30
- md_processing/family_docs/Data Designer/Create_Data_Field.md +0 -162
- md_processing/family_docs/Data Designer/Create_Data_Specification.md +0 -36
- md_processing/family_docs/Data Designer/Create_Data_Structure.md +0 -38
- md_processing/family_docs/Data Designer/View_Data_Classes.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Dictionaries.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Fields.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Specifications.md +0 -78
- md_processing/family_docs/Data Designer/View_Data_Structures.md +0 -78
- md_processing/family_docs/Data Designer.md +0 -842
- md_processing/family_docs/Digital Product Manager/Add_Member->Collection.md +0 -42
- md_processing/family_docs/Digital Product Manager/Attach_Collection->Resource.md +0 -36
- md_processing/family_docs/Digital Product Manager/Create_Agreement.md +0 -96
- md_processing/family_docs/Digital Product Manager/Create_Data_Sharing_Agreement.md +0 -72
- md_processing/family_docs/Digital Product Manager/Create_DigitalSubscription.md +0 -102
- md_processing/family_docs/Digital Product Manager/Create_Digital_Product.md +0 -134
- md_processing/family_docs/Digital Product Manager/Link_Agreement_Items.md +0 -60
- md_processing/family_docs/Digital Product Manager/Link_Contracts.md +0 -26
- md_processing/family_docs/Digital Product Manager/Link_Digital_Product_-_Digital_Product.md +0 -30
- md_processing/family_docs/Digital Product Manager/Link_Subscribers.md +0 -48
- md_processing/family_docs/Digital Product Manager.md +0 -668
- md_processing/family_docs/Glossary/Attach_Category_Parent.md +0 -18
- md_processing/family_docs/Glossary/Attach_Term-Term_Relationship.md +0 -26
- md_processing/family_docs/Glossary/Create_Category.md +0 -38
- md_processing/family_docs/Glossary/Create_Glossary.md +0 -42
- md_processing/family_docs/Glossary/Create_Term.md +0 -70
- md_processing/family_docs/Glossary.md +0 -206
- md_processing/family_docs/Governance Officer/Create_Business_Imperative.md +0 -106
- md_processing/family_docs/Governance Officer/Create_Certification_Type.md +0 -112
- md_processing/family_docs/Governance Officer/Create_Governance_Approach.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Governance_Obligation.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Governance_Principle.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Governance_Procedure.md +0 -128
- md_processing/family_docs/Governance Officer/Create_Governance_Process.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Governance_Processing_Purpose.md +0 -106
- md_processing/family_docs/Governance Officer/Create_Governance_Responsibility.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Governance_Rule.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Governance_Strategy.md +0 -106
- md_processing/family_docs/Governance Officer/Create_License_Type.md +0 -112
- md_processing/family_docs/Governance Officer/Create_Naming_Standard_Rule.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Regulation_Article.md +0 -106
- md_processing/family_docs/Governance Officer/Create_Regulation_Definition.md +0 -118
- md_processing/family_docs/Governance Officer/Create_Security_Access_Control.md +0 -114
- md_processing/family_docs/Governance Officer/Create_Security_Group.md +0 -120
- md_processing/family_docs/Governance Officer/Create_Service_Level_Objectives.md +0 -122
- md_processing/family_docs/Governance Officer/Create_Threat_Definition.md +0 -106
- md_processing/family_docs/Governance Officer/Link_Governance_Controls.md +0 -32
- md_processing/family_docs/Governance Officer/Link_Governance_Drivers.md +0 -32
- md_processing/family_docs/Governance Officer/Link_Governance_Policies.md +0 -32
- md_processing/family_docs/Governance Officer/View_Governance_Definitions.md +0 -82
- md_processing/family_docs/Governance Officer.md +0 -2412
- md_processing/family_docs/Solution Architect/Create_Information_Supply_Chain.md +0 -70
- md_processing/family_docs/Solution Architect/Create_Solution_Blueprint.md +0 -44
- md_processing/family_docs/Solution Architect/Create_Solution_Component.md +0 -96
- md_processing/family_docs/Solution Architect/Create_Solution_Role.md +0 -66
- md_processing/family_docs/Solution Architect/Link_Information_Supply_Chain_Peers.md +0 -32
- md_processing/family_docs/Solution Architect/Link_Solution_Component_Peers.md +0 -32
- md_processing/family_docs/Solution Architect/View_Information_Supply_Chains.md +0 -32
- md_processing/family_docs/Solution Architect/View_Solution_Blueprints.md +0 -32
- md_processing/family_docs/Solution Architect/View_Solution_Components.md +0 -32
- md_processing/family_docs/Solution Architect/View_Solution_Roles.md +0 -32
- md_processing/family_docs/Solution Architect.md +0 -490
- md_processing/md_processing_utils/debug_log +0 -574
- md_processing/md_processing_utils/debug_log.log +0 -0
- md_processing/md_processing_utils/dr-egeria-help-2025-07-17T17:22:09.md +0 -2065
- md_processing/md_processing_utils/generated_help_terms.md +0 -842
- pyegeria/.DS_Store +0 -0
- pyegeria/README.md +0 -35
- pyegeria/_client_new.py +0 -1102
- pyegeria/_output_formats.py +0 -730
- pyegeria/asset_catalog_omvs.py +0 -864
- pyegeria/automated_curation_omvs.py +0 -3765
- pyegeria/config.py +0 -523
- pyegeria/egeria_my_client.py +0 -91
- pyegeria/feedback_manager_omvs.py +0 -4573
- pyegeria/load_config_orig.py +0 -218
- pyegeria/md_processing_helpers.py +0 -58
- pyegeria/md_processing_utils_orig.py +0 -1103
- pyegeria/metadata_explorer_omvs.py +0 -2326
- pyegeria/my_profile_omvs.py +0 -1022
- pyegeria/project_manager.py +0 -1591
- pyegeria/registered_info.py +0 -167
- pyegeria/template_manager_omvs.py +0 -1414
- pyegeria/utils.py +0 -256
- pyegeria-5.4.0.28.dist-info/METADATA +0 -77
- pyegeria-5.4.0.28.dist-info/RECORD +0 -343
- pyegeria-5.4.0.28.dist-info/entry_points.txt +0 -105
- /commands/cat/debug_log.log → /pyegeria/deprecated/__init__.py +0 -0
- /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
- /pyegeria/{collection_models.py → models/collection_models.py} +0 -0
- {pyegeria-5.4.0.28.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
pyegeria/utils.py
DELETED
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
Copyright Contributors to the ODPi Egeria project.
|
|
4
|
-
|
|
5
|
-
General utility functions in support of the Egeria Python Client package.
|
|
6
|
-
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
import json
|
|
10
|
-
from datetime import datetime
|
|
11
|
-
from loguru import logger
|
|
12
|
-
from rich import print, print_json
|
|
13
|
-
from rich.console import Console
|
|
14
|
-
from pyegeria.config import settings as app_settings
|
|
15
|
-
from typing import Callable, TypeVar
|
|
16
|
-
|
|
17
|
-
T = TypeVar('T', bound=Callable)
|
|
18
|
-
|
|
19
|
-
console = Console(width=200)
|
|
20
|
-
|
|
21
|
-
def init_log():
|
|
22
|
-
pass
|
|
23
|
-
|
|
24
|
-
def print_rest_request_body(body):
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
Args:
|
|
28
|
-
body:
|
|
29
|
-
"""
|
|
30
|
-
pretty_body = json.dumps(body, indent=4)
|
|
31
|
-
print_json(pretty_body, indent=4, sort_keys=True)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def print_rest_response(response):
|
|
35
|
-
"""
|
|
36
|
-
|
|
37
|
-
Args:
|
|
38
|
-
response:
|
|
39
|
-
"""
|
|
40
|
-
print("Returns:")
|
|
41
|
-
pretty_body = json.dumps(response, indent=4)
|
|
42
|
-
print_json(pretty_body, indent=4, sort_keys=True)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
def print_guid_list(guids):
|
|
46
|
-
"""Print a list of guids"""
|
|
47
|
-
if guids is None:
|
|
48
|
-
print("No assets created")
|
|
49
|
-
else:
|
|
50
|
-
pretty_guids = json.dumps(guids, indent=4)
|
|
51
|
-
print_json(pretty_guids, indent=4, sort_keys=True)
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
#
|
|
55
|
-
# OCF Common services
|
|
56
|
-
# Working with assets - this set of functions displays assets returned from the open metadata repositories.
|
|
57
|
-
#
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
def print_response(response):
|
|
61
|
-
"""
|
|
62
|
-
|
|
63
|
-
Args:
|
|
64
|
-
response:
|
|
65
|
-
|
|
66
|
-
Returns:
|
|
67
|
-
: str
|
|
68
|
-
"""
|
|
69
|
-
pretty_response = json.dumps(response.json(), indent=4)
|
|
70
|
-
print(" ")
|
|
71
|
-
print("Response: ")
|
|
72
|
-
print(pretty_response)
|
|
73
|
-
print(" ")
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
def print_unexpected_response(server_name, platform_name, platform_url, response):
|
|
77
|
-
"""
|
|
78
|
-
|
|
79
|
-
Args:
|
|
80
|
-
server_name:
|
|
81
|
-
platform_name:
|
|
82
|
-
platform_url:
|
|
83
|
-
response:
|
|
84
|
-
"""
|
|
85
|
-
if response.status_code == 200:
|
|
86
|
-
related_http_code = response.json().get("related_http_code")
|
|
87
|
-
if related_http_code == 200:
|
|
88
|
-
print("Unexpected response from server " + server_name)
|
|
89
|
-
print_response(response)
|
|
90
|
-
else:
|
|
91
|
-
exceptionErrorMessage = response.json().get("exceptionErrorMessage")
|
|
92
|
-
exceptionSystemAction = response.json().get("exceptionSystemAction")
|
|
93
|
-
exceptionUserAction = response.json().get("exceptionUserAction")
|
|
94
|
-
if exceptionErrorMessage is not None:
|
|
95
|
-
print(exceptionErrorMessage)
|
|
96
|
-
print(" * " + exceptionSystemAction)
|
|
97
|
-
print(" * " + exceptionUserAction)
|
|
98
|
-
else:
|
|
99
|
-
print("Unexpected response from server " + server_name)
|
|
100
|
-
print_response(response)
|
|
101
|
-
else:
|
|
102
|
-
print(
|
|
103
|
-
"Unexpected response from server platform "
|
|
104
|
-
+ platform_name
|
|
105
|
-
+ " at "
|
|
106
|
-
+ platform_url
|
|
107
|
-
)
|
|
108
|
-
print_response(response)
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
def get_last_guid(guids):
|
|
112
|
-
"""
|
|
113
|
-
|
|
114
|
-
Args:
|
|
115
|
-
guids:
|
|
116
|
-
|
|
117
|
-
Returns:
|
|
118
|
-
|
|
119
|
-
"""
|
|
120
|
-
if guids is None:
|
|
121
|
-
return None
|
|
122
|
-
else:
|
|
123
|
-
return guids[-1]
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
def body_slimmer(body: dict) -> dict:
|
|
127
|
-
"""body_slimmer is a little function to remove unused keys from a dict
|
|
128
|
-
and recursively slim embedded dicts
|
|
129
|
-
|
|
130
|
-
Parameters
|
|
131
|
-
----------
|
|
132
|
-
body : the dictionary that you want to slim
|
|
133
|
-
|
|
134
|
-
Returns
|
|
135
|
-
-------
|
|
136
|
-
dict:
|
|
137
|
-
a slimmed body with all embedded dictionaries also slimmed
|
|
138
|
-
"""
|
|
139
|
-
if body is None:
|
|
140
|
-
return {}
|
|
141
|
-
|
|
142
|
-
slimmed = {}
|
|
143
|
-
for key, value in body.items():
|
|
144
|
-
if value and not isinstance(value, tuple):
|
|
145
|
-
if isinstance(value, dict):
|
|
146
|
-
# Recursively slim embedded dictionaries
|
|
147
|
-
slimmed_value = body_slimmer(value)
|
|
148
|
-
if slimmed_value: # Only include non-empty dictionaries
|
|
149
|
-
slimmed[key] = slimmed_value
|
|
150
|
-
else:
|
|
151
|
-
slimmed[key] = value
|
|
152
|
-
return slimmed
|
|
153
|
-
|
|
154
|
-
import re
|
|
155
|
-
|
|
156
|
-
def camel_to_title_case(input_string):
|
|
157
|
-
# Add a space before uppercase letters and capitalize each word
|
|
158
|
-
result = re.sub(r'([a-z])([A-Z])', r'\1 \2', input_string).title()
|
|
159
|
-
return result
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
def to_camel_case(input_string):
|
|
163
|
-
"""Convert an input string to camelCase, singularizing if plural.
|
|
164
|
-
|
|
165
|
-
This function takes an input string, converts it to singular form if it's plural,
|
|
166
|
-
and then transforms it to camelCase format (first word lowercase, subsequent words
|
|
167
|
-
capitalized with no spaces).
|
|
168
|
-
|
|
169
|
-
Parameters
|
|
170
|
-
----------
|
|
171
|
-
input_string : str
|
|
172
|
-
The string to convert to camelCase
|
|
173
|
-
|
|
174
|
-
Returns
|
|
175
|
-
-------
|
|
176
|
-
str:
|
|
177
|
-
The input string converted to camelCase, after singularization if needed
|
|
178
|
-
|
|
179
|
-
Examples
|
|
180
|
-
--------
|
|
181
|
-
>>> to_camel_case("data categories")
|
|
182
|
-
'dataCategory'
|
|
183
|
-
>>> to_camel_case("business terms")
|
|
184
|
-
'businessTerm'
|
|
185
|
-
>>> to_camel_case("glossary categories")
|
|
186
|
-
'glossaryCategory'
|
|
187
|
-
"""
|
|
188
|
-
if not input_string:
|
|
189
|
-
return ""
|
|
190
|
-
|
|
191
|
-
# Convert to lowercase for consistent processing
|
|
192
|
-
lowercase_input = input_string.lower()
|
|
193
|
-
|
|
194
|
-
# First, convert to singular if plural
|
|
195
|
-
singular = lowercase_input
|
|
196
|
-
|
|
197
|
-
# Handle common plural endings
|
|
198
|
-
if singular.endswith('ies'):
|
|
199
|
-
singular = singular[:-3] + 'y'
|
|
200
|
-
elif singular.endswith('es'):
|
|
201
|
-
# Special cases like 'classes' -> 'class'
|
|
202
|
-
if singular.endswith('sses') or singular.endswith('ches') or singular.endswith('shes') or singular.endswith('xes'):
|
|
203
|
-
singular = singular[:-2]
|
|
204
|
-
else:
|
|
205
|
-
singular = singular[:-1]
|
|
206
|
-
elif singular.endswith('s') and not singular.endswith('ss'):
|
|
207
|
-
singular = singular[:-1]
|
|
208
|
-
|
|
209
|
-
# Split the string into words and convert to camelCase
|
|
210
|
-
words = singular.split()
|
|
211
|
-
if not words:
|
|
212
|
-
return ""
|
|
213
|
-
|
|
214
|
-
# First word is lowercase, rest are capitalized
|
|
215
|
-
result = words[0]
|
|
216
|
-
for word in words[1:]:
|
|
217
|
-
result += word.capitalize()
|
|
218
|
-
|
|
219
|
-
return result
|
|
220
|
-
|
|
221
|
-
def to_pascal_case(input_string)->str:
|
|
222
|
-
"""
|
|
223
|
-
Convert input string to PascalCase, singularizing if plural.
|
|
224
|
-
Args:
|
|
225
|
-
input_string ():
|
|
226
|
-
|
|
227
|
-
Returns:
|
|
228
|
-
transformed string
|
|
229
|
-
"""
|
|
230
|
-
result = to_camel_case(input_string)
|
|
231
|
-
output_string = result[0].upper() + result[1:]
|
|
232
|
-
return output_string
|
|
233
|
-
|
|
234
|
-
def flatten_dict_to_string(d: dict) -> str:
|
|
235
|
-
"""Flatten a dictionary into a string and replace quotes with backticks."""
|
|
236
|
-
try:
|
|
237
|
-
flat_string = ", ".join(
|
|
238
|
-
# Change replace(\"'\", '`') to replace("'", '`')
|
|
239
|
-
f"{key}=`{str(value).replace('\"', '`').replace("'", '`')}`"
|
|
240
|
-
for key, value in d.items()
|
|
241
|
-
)
|
|
242
|
-
return flat_string
|
|
243
|
-
except Exception as e:
|
|
244
|
-
# Corrected syntax for exception chaining
|
|
245
|
-
raise Exception("Error flattening dictionary") from e
|
|
246
|
-
# The decorator logic, which applies @logger.catch dynamically
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
def dynamic_catch(func: T) -> T:
|
|
250
|
-
if app_settings.get("enable_logger_catchh", False):
|
|
251
|
-
return logger.catch(func) # Apply the logger.catch decorator
|
|
252
|
-
else:
|
|
253
|
-
return func # Return the function unwrapped
|
|
254
|
-
|
|
255
|
-
if __name__ == "__main__":
|
|
256
|
-
print("Main-Utils")
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: pyegeria
|
|
3
|
-
Version: 5.4.0.28
|
|
4
|
-
Summary: A python client for Egeria
|
|
5
|
-
License: Apache 2.0
|
|
6
|
-
Keywords: egeria,metadata,governance
|
|
7
|
-
Author: Dan Wolfson
|
|
8
|
-
Author-email: dan.wolfson@pdr-associates.com
|
|
9
|
-
Requires-Python: >3.12,<4.0.0
|
|
10
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
|
-
Classifier: License :: Other/Proprietary License
|
|
12
|
-
Classifier: Programming Language :: Python
|
|
13
|
-
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
-
Requires-Dist: click
|
|
16
|
-
Requires-Dist: httpx
|
|
17
|
-
Requires-Dist: inflect (>=7.5.0,<8.0.0)
|
|
18
|
-
Requires-Dist: jupyter
|
|
19
|
-
Requires-Dist: jupyter-notebook-parser (>=0.1.4,<0.2.0)
|
|
20
|
-
Requires-Dist: loguru (>=0.7.3,<0.8.0)
|
|
21
|
-
Requires-Dist: mermaid-py
|
|
22
|
-
Requires-Dist: poetry-core (>=2.1.3,<3.0.0)
|
|
23
|
-
Requires-Dist: psycopg2-binary (>=2.9.9,<3.0.0)
|
|
24
|
-
Requires-Dist: pydantic (>=2.11.7,<3.0.0)
|
|
25
|
-
Requires-Dist: pydantic-settings (>=2.10.1,<3.0.0)
|
|
26
|
-
Requires-Dist: pydevd-pycharm (>=252.23892.364,<253.0.0)
|
|
27
|
-
Requires-Dist: pytest (>=8.3.5,<9.0.0)
|
|
28
|
-
Requires-Dist: requests
|
|
29
|
-
Requires-Dist: rich
|
|
30
|
-
Requires-Dist: textual
|
|
31
|
-
Requires-Dist: trogon (>=0.6.0,<0.7.0)
|
|
32
|
-
Requires-Dist: urllib3
|
|
33
|
-
Requires-Dist: validators
|
|
34
|
-
Project-URL: Homepage, https://github.com/odpi/egeria-python
|
|
35
|
-
Project-URL: Repository, https://github.com/odpi/egeria-python
|
|
36
|
-
Description-Content-Type: text/markdown
|
|
37
|
-
|
|
38
|
-
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
|
|
39
|
-
<!-- Copyright Contributors to the ODPi Egeria project. -->
|
|
40
|
-
|
|
41
|
-

|
|
42
|
-
|
|
43
|
-
[](LICENSE)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
# pyegeria: a python client for Egeria
|
|
47
|
-
|
|
48
|
-
This is a package for easily using the Egeria
|
|
49
|
-
open metadata environment from python. Details about the
|
|
50
|
-
open source Egeria project can be found at [Egeria Project](https://egeria-project.org).
|
|
51
|
-
|
|
52
|
-
This package is in active development. There is initial
|
|
53
|
-
support for many of Egeria's services including configuration and operation. This client depends on
|
|
54
|
-
This release supports Egeria 5.1 - although most of the functions may work on earlier versions of Egeria as well.
|
|
55
|
-
|
|
56
|
-
The code is organized to mimic the existing Egeria Java Client structure.
|
|
57
|
-
|
|
58
|
-
The commands folder holds the Egeria Command Line Interface and corresponding commands
|
|
59
|
-
to visualize and use Egeria. The commands also serve as useful examples.
|
|
60
|
-
|
|
61
|
-
An examples folder holds some useful examples showing different facets of using pyegeria.
|
|
62
|
-
|
|
63
|
-
WARNING: files that start with "X" are in-progress placeholders that are not meant to be used..they will mature and
|
|
64
|
-
evolve.
|
|
65
|
-
|
|
66
|
-
All feedback is welcome. Please engage via our [community](http://egeria-project.org/guides/community/),
|
|
67
|
-
team calls, or via github issues in this repo. If interested in contributing,
|
|
68
|
-
you can engage via the community or directly reach out to
|
|
69
|
-
[dan.wolfson\@pdr-associates.com](mailto:dan.wolfson@pdr-associates.com?subject=pyegeria).
|
|
70
|
-
|
|
71
|
-
This is a learning experience.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
----
|
|
76
|
-
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
|
|
77
|
-
Copyright Contributors to the ODPi Egeria project.
|