pyegeria 5.3.9.9.3__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.

Files changed (272) hide show
  1. commands/__init__.py +24 -0
  2. commands/cat/Dr-Egeria_md-orig.py +2 -2
  3. commands/cat/__init__.py +1 -17
  4. commands/cat/collection_actions.py +197 -0
  5. commands/cat/dr_egeria_command_help.py +372 -0
  6. commands/cat/dr_egeria_jupyter.py +7 -7
  7. commands/cat/dr_egeria_md.py +27 -182
  8. commands/cat/exp_list_glossaries.py +11 -14
  9. commands/cat/get_asset_graph.py +37 -267
  10. commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
  11. commands/cat/get_project_dependencies.py +14 -14
  12. commands/cat/get_project_structure.py +15 -14
  13. commands/cat/get_tech_type_elements.py +16 -116
  14. commands/cat/glossary_actions.py +145 -298
  15. commands/cat/list_assets.py +3 -11
  16. commands/cat/list_cert_types.py +17 -63
  17. commands/cat/list_collections.py +46 -138
  18. commands/cat/list_deployed_catalogs.py +15 -27
  19. commands/cat/list_deployed_database_schemas.py +27 -43
  20. commands/cat/list_deployed_databases.py +16 -31
  21. commands/cat/list_deployed_servers.py +35 -54
  22. commands/cat/list_glossaries.py +18 -17
  23. commands/cat/list_projects.py +10 -12
  24. commands/cat/list_tech_type_elements.py +21 -37
  25. commands/cat/list_tech_types.py +13 -25
  26. commands/cat/list_terms.py +38 -79
  27. commands/cat/list_todos.py +4 -11
  28. commands/cat/list_user_ids.py +3 -10
  29. commands/cat/my_reports.py +559 -0
  30. commands/cat/run_report.py +394 -0
  31. commands/cat/run_report_orig.py +528 -0
  32. commands/cli/egeria.py +222 -247
  33. commands/cli/egeria_cat.py +68 -81
  34. commands/cli/egeria_my.py +13 -0
  35. commands/cli/egeria_ops.py +69 -74
  36. commands/cli/egeria_tech.py +17 -93
  37. commands/cli/ops_config.py +3 -6
  38. commands/{cat/list_categories.py → deprecated/list_data_designer.py} +53 -64
  39. commands/{cat/list_data_structures.py → deprecated/list_data_structures_full.py} +3 -6
  40. commands/deprecated/old_get_asset_graph.py +315 -0
  41. commands/my/__init__.py +0 -2
  42. commands/my/list_my_profile.py +27 -34
  43. commands/my/list_my_roles.py +1 -7
  44. commands/my/monitor_my_todos.py +1 -7
  45. commands/my/monitor_open_todos.py +6 -7
  46. commands/my/todo_actions.py +4 -5
  47. commands/ops/__init__.py +0 -2
  48. commands/ops/gov_server_actions.py +17 -21
  49. commands/ops/list_archives.py +17 -38
  50. commands/ops/list_catalog_targets.py +33 -40
  51. commands/ops/load_archive.py +35 -26
  52. commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
  53. commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
  54. commands/ops/monitor_engine_activity.py +79 -77
  55. commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
  56. commands/ops/monitor_platform_status.py +38 -50
  57. commands/ops/monitor_server_startup.py +6 -11
  58. commands/ops/monitor_server_status.py +7 -11
  59. commands/ops/orig_monitor_server_list.py +8 -8
  60. commands/ops/orig_monitor_server_status.py +1 -5
  61. commands/ops/refresh_integration_daemon.py +5 -5
  62. commands/ops/restart_integration_daemon.py +5 -5
  63. commands/ops/table_integ_daemon_status.py +6 -6
  64. commands/ops/x_engine_actions.py +7 -7
  65. commands/tech/__init__.py +0 -2
  66. commands/tech/{generic_actions.py → element_actions.py} +6 -11
  67. commands/tech/get_element_info.py +20 -29
  68. commands/tech/get_guid_info.py +23 -42
  69. commands/tech/get_tech_details.py +20 -35
  70. commands/tech/get_tech_type_template.py +28 -39
  71. commands/tech/list_all_om_type_elements.py +24 -30
  72. commands/tech/list_all_om_type_elements_x.py +22 -28
  73. commands/tech/list_all_related_elements.py +19 -28
  74. commands/tech/list_anchored_elements.py +22 -30
  75. commands/tech/list_asset_types.py +19 -24
  76. commands/tech/list_elements_by_classification_by_property_value.py +26 -32
  77. commands/tech/list_elements_by_property_value.py +19 -25
  78. commands/tech/list_elements_by_property_value_x.py +20 -28
  79. commands/tech/list_elements_for_classification.py +28 -41
  80. commands/tech/list_gov_action_processes.py +16 -27
  81. commands/tech/list_information_supply_chains.py +22 -30
  82. commands/tech/list_registered_services.py +14 -26
  83. commands/tech/list_related_elements_with_prop_value.py +15 -25
  84. commands/tech/list_related_specification.py +1 -4
  85. commands/tech/list_relationship_types.py +15 -25
  86. commands/tech/list_relationships.py +20 -36
  87. commands/tech/list_solution_blueprints.py +28 -33
  88. commands/tech/list_solution_components.py +23 -29
  89. commands/tech/list_solution_roles.py +21 -32
  90. commands/tech/list_tech_templates.py +51 -54
  91. commands/tech/list_valid_metadata_values.py +5 -9
  92. commands/tech/table_tech_templates.py +2 -6
  93. commands/tech/x_list_related_elements.py +1 -4
  94. examples/GeoSpatial Products Example.py +524 -0
  95. examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
  96. examples/Jupyter Notebooks/README.md +2 -0
  97. examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
  98. examples/Jupyter Notebooks/common/__init__.py +14 -0
  99. examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
  100. examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
  101. examples/Jupyter Notebooks/common/globals.ipynb +184 -0
  102. examples/Jupyter Notebooks/common/globals.py +154 -0
  103. examples/Jupyter Notebooks/common/orig_globals.py +152 -0
  104. examples/format_sets/all_format_sets.json +910 -0
  105. examples/format_sets/custom_format_sets.json +268 -0
  106. examples/format_sets/subset_format_sets.json +187 -0
  107. examples/format_sets_save_load_example.py +291 -0
  108. examples/jacquard_data_sets.py +129 -0
  109. examples/output_formats_example.py +193 -0
  110. examples/test_jacquard_data_sets.py +54 -0
  111. examples/test_jacquard_data_sets_scenarios.py +94 -0
  112. md_processing/__init__.py +90 -0
  113. md_processing/command_dispatcher.py +33 -0
  114. md_processing/command_mapping.py +221 -0
  115. md_processing/data/commands/commands_data_designer.json +537 -0
  116. md_processing/data/commands/commands_external_reference.json +733 -0
  117. md_processing/data/commands/commands_feedback.json +155 -0
  118. md_processing/data/commands/commands_general.json +204 -0
  119. md_processing/data/commands/commands_glossary.json +218 -0
  120. md_processing/data/commands/commands_governance.json +3678 -0
  121. md_processing/data/commands/commands_product_manager.json +865 -0
  122. md_processing/data/commands/commands_project.json +642 -0
  123. md_processing/data/commands/commands_solution_architect.json +366 -0
  124. md_processing/data/commands.json +17568 -0
  125. md_processing/data/commands_working.json +30641 -0
  126. md_processing/data/gened_report_specs.py +6584 -0
  127. md_processing/data/generated_format_sets.json +6533 -0
  128. md_processing/data/generated_format_sets_old.json +4137 -0
  129. md_processing/data/generated_format_sets_old.py +45 -0
  130. md_processing/dr_egeria.py +182 -0
  131. md_processing/md_commands/__init__.py +3 -0
  132. md_processing/md_commands/data_designer_commands.py +1276 -0
  133. md_processing/md_commands/ext_ref_commands.py +530 -0
  134. md_processing/md_commands/feedback_commands.py +726 -0
  135. md_processing/md_commands/glossary_commands.py +684 -0
  136. md_processing/md_commands/governance_officer_commands.py +600 -0
  137. md_processing/md_commands/product_manager_commands.py +1266 -0
  138. md_processing/md_commands/project_commands.py +383 -0
  139. md_processing/md_commands/solution_architect_commands.py +1184 -0
  140. md_processing/md_commands/view_commands.py +295 -0
  141. md_processing/md_processing_utils/__init__.py +4 -0
  142. md_processing/md_processing_utils/common_md_proc_utils.py +1249 -0
  143. md_processing/md_processing_utils/common_md_utils.py +578 -0
  144. md_processing/md_processing_utils/determine_width.py +103 -0
  145. md_processing/md_processing_utils/extraction_utils.py +547 -0
  146. md_processing/md_processing_utils/gen_report_specs.py +643 -0
  147. md_processing/md_processing_utils/generate_dr_help.py +193 -0
  148. md_processing/md_processing_utils/generate_md_cmd_templates.py +144 -0
  149. md_processing/md_processing_utils/generate_md_templates.py +83 -0
  150. md_processing/md_processing_utils/md_processing_constants.py +1228 -0
  151. md_processing/md_processing_utils/message_constants.py +19 -0
  152. pyegeria/__init__.py +201 -443
  153. pyegeria/core/__init__.py +40 -0
  154. pyegeria/core/_base_platform_client.py +574 -0
  155. pyegeria/core/_base_server_client.py +573 -0
  156. pyegeria/core/_exceptions.py +457 -0
  157. pyegeria/core/_globals.py +60 -0
  158. pyegeria/core/_server_client.py +6073 -0
  159. pyegeria/core/_validators.py +257 -0
  160. pyegeria/core/config.py +654 -0
  161. pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
  162. pyegeria/core/load_config.py +37 -0
  163. pyegeria/core/logging_configuration.py +207 -0
  164. pyegeria/core/mcp_adapter.py +144 -0
  165. pyegeria/core/mcp_server.py +212 -0
  166. pyegeria/core/utils.py +405 -0
  167. pyegeria/deprecated/__init__.py +0 -0
  168. pyegeria/{_client.py → deprecated/_client.py} +62 -24
  169. pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
  170. pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1988 -1878
  171. pyegeria/deprecated/output_formatter_with_machine_keys.py +1127 -0
  172. pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +216 -229
  173. pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
  174. pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
  175. pyegeria/egeria_cat_client.py +25 -51
  176. pyegeria/egeria_client.py +140 -98
  177. pyegeria/egeria_config_client.py +48 -24
  178. pyegeria/egeria_tech_client.py +170 -83
  179. pyegeria/models/__init__.py +150 -0
  180. pyegeria/models/collection_models.py +168 -0
  181. pyegeria/models/models.py +654 -0
  182. pyegeria/omvs/__init__.py +84 -0
  183. pyegeria/omvs/action_author.py +342 -0
  184. pyegeria/omvs/actor_manager.py +5980 -0
  185. pyegeria/omvs/asset_catalog.py +842 -0
  186. pyegeria/omvs/asset_maker.py +2736 -0
  187. pyegeria/omvs/automated_curation.py +4403 -0
  188. pyegeria/omvs/classification_manager.py +11213 -0
  189. pyegeria/omvs/collection_manager.py +5780 -0
  190. pyegeria/omvs/community_matters_omvs.py +468 -0
  191. pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
  192. pyegeria/{data_designer_omvs.py → omvs/data_designer.py} +1991 -1691
  193. pyegeria/omvs/data_discovery.py +869 -0
  194. pyegeria/omvs/data_engineer.py +372 -0
  195. pyegeria/omvs/digital_business.py +1133 -0
  196. pyegeria/omvs/external_links.py +1752 -0
  197. pyegeria/omvs/feedback_manager.py +834 -0
  198. pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
  199. pyegeria/omvs/glossary_manager.py +3231 -0
  200. pyegeria/omvs/governance_officer.py +3009 -0
  201. pyegeria/omvs/lineage_linker.py +314 -0
  202. pyegeria/omvs/location_arena.py +1525 -0
  203. pyegeria/omvs/metadata_expert.py +668 -0
  204. pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
  205. pyegeria/omvs/my_profile.py +1042 -0
  206. pyegeria/omvs/notification_manager.py +358 -0
  207. pyegeria/omvs/people_organizer.py +394 -0
  208. pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
  209. pyegeria/omvs/product_manager.py +1825 -0
  210. pyegeria/omvs/project_manager.py +1907 -0
  211. pyegeria/omvs/reference_data.py +1140 -0
  212. pyegeria/omvs/registered_info.py +334 -0
  213. pyegeria/omvs/runtime_manager.py +2817 -0
  214. pyegeria/omvs/schema_maker.py +446 -0
  215. pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
  216. pyegeria/omvs/solution_architect.py +6490 -0
  217. pyegeria/omvs/specification_properties.py +37 -0
  218. pyegeria/omvs/subject_area.py +1042 -0
  219. pyegeria/omvs/template_manager_omvs.py +236 -0
  220. pyegeria/omvs/time_keeper.py +1761 -0
  221. pyegeria/omvs/valid_metadata.py +3221 -0
  222. pyegeria/omvs/valid_metadata_lists.py +37 -0
  223. pyegeria/omvs/valid_type_lists.py +37 -0
  224. pyegeria/view/__init__.py +28 -0
  225. pyegeria/view/_output_format_models.py +514 -0
  226. pyegeria/view/_output_formats.py +14 -0
  227. pyegeria/view/base_report_formats.py +2719 -0
  228. pyegeria/view/dr_egeria_reports.py +56 -0
  229. pyegeria/view/format_set_executor.py +397 -0
  230. pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
  231. pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
  232. pyegeria/view/output_formatter.py +1297 -0
  233. pyegeria-5.5.3.3.dist-info/METADATA +218 -0
  234. pyegeria-5.5.3.3.dist-info/RECORD +241 -0
  235. {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
  236. pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
  237. pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
  238. commands/cat/.DS_Store +0 -0
  239. commands/cat/README.md +0 -16
  240. commands/cli/txt_custom_v2.tcss +0 -19
  241. commands/my/README.md +0 -17
  242. commands/ops/README.md +0 -24
  243. commands/ops/monitor_asset_events.py +0 -108
  244. commands/tech/README.md +0 -24
  245. pyegeria/.DS_Store +0 -0
  246. pyegeria/README.md +0 -35
  247. pyegeria/_globals.py +0 -47
  248. pyegeria/_validators.py +0 -385
  249. pyegeria/asset_catalog_omvs.py +0 -864
  250. pyegeria/automated_curation_omvs.py +0 -3765
  251. pyegeria/collection_manager_omvs.py +0 -2744
  252. pyegeria/dr.egeria spec.md +0 -9
  253. pyegeria/egeria_my_client.py +0 -56
  254. pyegeria/feedback_manager_omvs.py +0 -4573
  255. pyegeria/glossary_browser_omvs.py +0 -3728
  256. pyegeria/glossary_manager_omvs.py +0 -2440
  257. pyegeria/m_test.py +0 -118
  258. pyegeria/md_processing_helpers.py +0 -58
  259. pyegeria/md_processing_utils_orig.py +0 -1103
  260. pyegeria/metadata_explorer_omvs.py +0 -2326
  261. pyegeria/my_profile_omvs.py +0 -1022
  262. pyegeria/output_formatter.py +0 -389
  263. pyegeria/project_manager_omvs.py +0 -1933
  264. pyegeria/registered_info.py +0 -167
  265. pyegeria/solution_architect_omvs.py +0 -2156
  266. pyegeria/template_manager_omvs.py +0 -1414
  267. pyegeria/utils.py +0 -197
  268. pyegeria-5.3.9.9.3.dist-info/METADATA +0 -72
  269. pyegeria-5.3.9.9.3.dist-info/RECORD +0 -143
  270. pyegeria-5.3.9.9.3.dist-info/entry_points.txt +0 -99
  271. /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
  272. {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
@@ -13,10 +13,13 @@ import os
13
13
 
14
14
  import click
15
15
  from trogon import tui
16
+ from pyegeria import settings
17
+ from loguru import logger
16
18
 
19
+ from commands.cat.run_report import list_generic
17
20
  from commands.cat.dr_egeria_md import process_markdown_file
18
- from commands.cat.get_asset_graph import asset_viewer
19
- from commands.cat.get_collection import collection_viewer
21
+ from commands.cat.old_get_asset_graph import asset_viewer
22
+ from commands.cat.get_collection_tree import collection_viewer
20
23
  from commands.cat.get_project_dependencies import project_dependency_viewer
21
24
  from commands.cat.get_project_structure import project_structure_viewer
22
25
  from commands.cat.get_tech_type_elements import tech_viewer
@@ -33,7 +36,7 @@ from commands.cat.glossary_actions import (
33
36
  add_term_to_category,
34
37
  remove_term_from_category)
35
38
  from commands.cat.list_assets import display_assets
36
- from commands.cat.list_categories import display_categories
39
+
37
40
  from commands.cat.list_cert_types import display_certifications
38
41
  from commands.cat.list_collections import display_collections
39
42
  from commands.cat.list_deployed_catalogs import list_deployed_catalogs
@@ -58,110 +61,112 @@ from commands.my.todo_actions import (
58
61
  )
59
62
  from commands.tech.list_asset_types import display_asset_types
60
63
 
64
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
65
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
66
+ app_settings = settings
67
+
68
+ app_config = app_settings.Environment
69
+ # config_logging()
70
+
61
71
 
62
72
  # @tui
63
73
  # @tui('menu','menu','A textual object_action line interface')
64
74
  @tui()
65
- @click.version_option("0.0.1", prog_name="egeria_ops")
75
+ # @tui('menu', 'menu', 'A textual object_action line interface')
76
+ @click.version_option("5.4 ", prog_name="hey_egeria")
66
77
  @click.group()
67
78
  @click.option(
68
79
  "--server",
69
- default=os.environ.get("EGERIA_METADATA_STORE", "qs-metadata-store"),
80
+ default=app_config.egeria_metadata_store,
70
81
  help="Egeria metadata store to work with",
71
82
  )
72
83
  @click.option(
73
84
  "--url",
74
- default=os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443"),
85
+ default=app_config.egeria_platform_url,
75
86
  help="URL of Egeria metadata store platform to connect to",
76
87
  )
77
88
  @click.option(
78
89
  "--integration_daemon",
79
- default=os.environ.get("EGERIA_INTEGRATION_DAEMON", "qs-integration-daemon"),
90
+ default=app_config.egeria_integration_daemon,
80
91
  help="Egeria integration daemon to work with",
81
92
  )
82
93
  @click.option(
83
94
  "--integration_daemon_url",
84
- default=os.environ.get("EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"),
95
+ default=app_config.egeria_integration_daemon_url,
85
96
  help="URL of Egeria integration daemon platform to connect to",
86
97
  )
87
98
  @click.option(
88
99
  "--view_server",
89
- default=os.environ.get("EGERIA_VIEW_SERVER", "qs-view-server"),
100
+ default=app_config.egeria_view_server,
90
101
  help="Egeria view server to work with",
91
102
  )
92
103
  @click.option(
93
104
  "--view_server_url",
94
- default=os.environ.get("EGERIA_VIEW_SERVER_URL", "https://localhost:9443"),
105
+ default=app_config.egeria_view_server_url,
95
106
  help="URL of Egeria view server platform to connect to",
96
107
  )
97
108
  @click.option(
98
109
  "--engine_host",
99
- default=os.environ.get("EGERIA_ENGINE_HOST", "qs-engine-host"),
110
+ default=app_config.egeria_engine_host,
100
111
  help="Egeria engine host to work with",
101
112
  )
102
113
  @click.option(
103
114
  "--engine_host_url",
104
- default=os.environ.get("EGERIA_ENGINE_HOST_URL", "https://localhost:9443"),
115
+ default=app_config.egeria_engine_host_url,
105
116
  help="URL of Egeria engine host platform to connect to",
106
117
  )
107
- @click.option(
108
- "--admin_user",
109
- default=os.environ.get("EGERIA_ADMIN_USER", "garygeeke"),
110
- help="Egeria admin user",
111
- )
112
- @click.option(
113
- "--admin_user_password",
114
- default=os.environ.get("EGERIA_ADMIN_PASSWORD", "secret"),
115
- help="Egeria admin password",
116
- )
118
+
117
119
  @click.option(
118
120
  "--userid",
119
- default=os.environ.get("EGERIA_USER", "peterprofile"),
121
+ default=EGERIA_USER,
120
122
  help="Egeria user",
121
123
  )
122
124
  @click.option(
123
125
  "--password",
124
- default=os.environ.get("EGERIA_USER_PASSWORD", "secret"),
125
- help="Egeria user password",
126
+ default=EGERIA_USER_PASSWORD,
127
+ help="Egeria user password"
126
128
  )
129
+
127
130
  @click.option("--timeout", default=60, help="Number of seconds to wait")
131
+
128
132
  @click.option(
129
133
  "--jupyter",
130
134
  is_flag=True,
131
- default=os.environ.get("EGERIA_JUPYTER", "False"),
135
+ type=bool,
136
+ default=app_config.egeria_jupyter,
132
137
  help="Enable for rendering in a Jupyter terminal",
133
138
  )
134
139
  @click.option(
135
140
  "--width",
136
- default=os.environ.get("EGERIA_WIDTH", 200),
141
+ default=app_config.console_width,
137
142
  type=int,
138
143
  help="Screen width, in characters, to use",
139
144
  )
140
145
  @click.option(
141
- "--home_glossary_guid",
142
- default=os.environ.get("EGERIA_HOME_GLOSSARY_GUID", None),
143
- help="Glossary guid to use as the home glossary",
146
+ "--home_glossary_name",
147
+ default=app_settings.User_Profile.egeria_home_glossary_name,
148
+ help="Glossary name to use as the home glossary",
144
149
  )
145
150
  @click.option(
146
151
  "--glossary_path",
147
- default=os.environ.get("EGERIA_GLOSSARY_PATH", "/home/jovyan/loading-bay/glossary"),
152
+ default=app_config.egeria_glossary_path,
148
153
  help="Path to glossary import/export files",
149
154
  )
150
155
 
151
156
  @click.option(
152
157
  "--root_path",
153
- default=os.environ.get("EGERIA_ROOT_PATH", "/home/jovyan"),
158
+ default=app_config.pyegeria_root,
154
159
  help="Root path to use for file operations",
155
160
  )
156
161
 
157
162
  @click.option(
158
163
  "--inbox_path",
159
- default=os.environ.get("EGERIA_INBOX_PATH", "loading-bay/dr_egeria_inbox"),
164
+ default=app_config.dr_egeria_inbox,
160
165
  help="Path to inbox files",
161
166
  )
162
167
  @click.option(
163
168
  "--outbox_path",
164
- default=os.environ.get("EGERIA_OUTBOX_PATH", "distribution-hub/dr_egeria_outbox"),
169
+ default=app_config.dr_egeria_outbox,
165
170
  help="Path to outbox files",
166
171
  )
167
172
 
@@ -176,14 +181,12 @@ def cli(
176
181
  integration_daemon_url,
177
182
  engine_host,
178
183
  engine_host_url,
179
- admin_user,
180
- admin_user_password,
181
184
  userid,
182
185
  password,
183
186
  timeout,
184
187
  jupyter,
185
188
  width,
186
- home_glossary_guid,
189
+ home_glossary_name,
187
190
  glossary_path,
188
191
  root_path,
189
192
  inbox_path,
@@ -199,14 +202,12 @@ def cli(
199
202
  integration_daemon_url,
200
203
  engine_host,
201
204
  engine_host_url,
202
- admin_user,
203
- admin_user_password,
204
205
  userid,
205
206
  password,
206
207
  timeout,
207
208
  jupyter,
208
209
  width,
209
- home_glossary_guid,
210
+ home_glossary_name,
210
211
  glossary_path,
211
212
  root_path,
212
213
  inbox_path,
@@ -229,15 +230,29 @@ def info(ctx):
229
230
  pass
230
231
 
231
232
 
233
+ @info.command("Run Report")
234
+ @click.option("--report", help="Report to output", default="Digital-Products")
235
+ @click.option("--output-format", default = "TABLE", help="Output format type")
236
+ @click.option('--search-string', default="*", help="Search string")
237
+ @click.pass_context
238
+ def show_format_set(ctx, report, output_format, search_string):
239
+ """Dynamically generate output based on a format set"""
240
+ c = ctx.obj
241
+ logger.info(f"Hey Egeria: view server @ {c.view_server_url}")
242
+ execute_format_set_action(
243
+ report, c.view_server, c.view_server_url,
244
+ c.userid, c.password, output_format, search_string = search_string
245
+ )
246
+
247
+
248
+
232
249
  @info.command("tech-types")
233
250
  @click.option("--tech_type", default="*", help="Tech type to search for")
234
251
  @click.pass_context
235
252
  def show_tech_types(ctx, tech_type):
236
253
  """List deployed technology types"""
237
254
  c = ctx.obj
238
- display_tech_types(
239
- tech_type, c.view_server, c.view_server_url, c.userid, c.password
240
- )
255
+ display_tech_types(tech_type, c.view_server, c.view_server_url, c.userid, c.password)
241
256
 
242
257
 
243
258
  @info.command("collections")
@@ -357,7 +372,7 @@ def glossary_group(ctx):
357
372
  )
358
373
  @click.option(
359
374
  "--output-format",
360
- type=click.Choice(["FORM", "REPORT", "TABLE"]),
375
+ type_name = click.Choice(["FORM", "REPORT", "TABLE"]),
361
376
  default="TABLE",
362
377
  help="Display on screen as table, or as FORM or REPORT file",
363
378
  )
@@ -365,24 +380,14 @@ def glossary_group(ctx):
365
380
  def show_terms(ctx, search_string, glossary_guid, glossary_name, output_format):
366
381
  """Find and display glossary terms"""
367
382
  c = ctx.obj
368
- display_glossary_terms(
369
- search_string,
370
- glossary_guid,
371
- glossary_name,
372
- c.view_server,
373
- c.view_server_url,
374
- c.userid,
375
- c.password,
376
- c.jupyter,
377
- c.width,
378
- output_format,
379
- )
383
+ display_glossary_terms(search_string, glossary_guid, glossary_name, c.view_server, c.view_server_url, c.userid,
384
+ c.password, c.jupyter, c.width, output_format)
380
385
 
381
386
  @glossary_group.command("glossaries")
382
387
  @click.option("--search_string", default="*", help="Name to search for glossaries")
383
388
  @click.option(
384
389
  "--output-format",
385
- type=click.Choice(["FORM", "REPORT", "TABLE"]),
390
+ type_name = click.Choice(["FORM", "REPORT", "TABLE"]),
386
391
  default="TABLE",
387
392
  help="Display on screen as table, or as FORM or REPORT file",
388
393
  )
@@ -404,7 +409,7 @@ def glossaries(ctx, search_string, output_format):
404
409
  @click.option("--search_string", default="*", help="Name to search for categories")
405
410
  @click.option(
406
411
  "--output-format",
407
- type=click.Choice(["FORM", "REPORT", "TABLE"]),
412
+ type_name = click.Choice(["FORM", "REPORT", "TABLE"]),
408
413
  default="TABLE",
409
414
  help="Display on screen as table, or as FORM or REPORT file",
410
415
  )
@@ -478,16 +483,7 @@ def show_projects(ctx, search_string):
478
483
  def show_certification_types(ctx, search_string):
479
484
  """Show certification types"""
480
485
  c = ctx.obj
481
- display_certifications(
482
- search_string,
483
- c.view_server,
484
- c.view_server_url,
485
- c.userid,
486
- c.password,
487
- c.timeout,
488
- c.jupyter,
489
- c.width,
490
- )
486
+ display_certifications(search_string, c.view_server, c.view_server_url, c.userid, c.password, c.timeout, c.jupyter)
491
487
 
492
488
 
493
489
  @projects.command("project-structure")
@@ -538,7 +534,7 @@ def show_project_dependencies(ctx, project):
538
534
  @click.option("--search-string", default="*", help="View the list of To-Do items")
539
535
  @click.option(
540
536
  "--status",
541
- type=click.Choice(
537
+ type_name = click.Choice(
542
538
  ["OPEN", "IN_PROGRESS", "WAITING", "COMPLETE", "ABANDONED", "None"],
543
539
  case_sensitive=False,
544
540
  ),
@@ -599,15 +595,8 @@ def deployed_data(ctx):
599
595
  def show_deployed_servers(ctx, search_string):
600
596
  """Display deployed servers"""
601
597
  c = ctx.obj
602
- display_servers_by_dep_imp(
603
- search_string,
604
- c.view_server,
605
- c.view_server_url,
606
- c.userid,
607
- c.password,
608
- c.jupyter,
609
- c.width,
610
- )
598
+ display_servers_by_dep_imp(search_string, c.view_server, c.view_server_url, c.userid, c.password, c.jupyter,
599
+ c.width)
611
600
 
612
601
 
613
602
  @deployed_data.command("deployed-schemas")
@@ -649,9 +638,7 @@ def list_catalogs(ctx, search_server):
649
638
  def list_databases(ctx):
650
639
  """Display deployed databases"""
651
640
  c = ctx.obj
652
- list_deployed_databases(
653
- c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
654
- )
641
+ list_deployed_databases(c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width)
655
642
 
656
643
 
657
644
  #
commands/cli/egeria_my.py CHANGED
@@ -14,6 +14,7 @@ import os
14
14
  import click
15
15
  from trogon import tui
16
16
 
17
+ from commands.cat.my_reports import start_exp2
17
18
  from commands.cli.ops_config import Config
18
19
  from commands.my.list_my_profile import display_my_profile
19
20
  from commands.my.list_my_roles import display_my_roles
@@ -178,6 +179,18 @@ def show(ctx):
178
179
  """Display an Egeria Object"""
179
180
  pass
180
181
 
182
+ @show.command("my-reports")
183
+ @click.pass_context
184
+ def show_my_reports(ctx):
185
+ """Display my profiles
186
+
187
+ Usage: show my-profile
188
+
189
+ """
190
+ c = ctx.obj
191
+ start_exp2(
192
+ # c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width
193
+ )
181
194
 
182
195
  @show.command("my-profile")
183
196
  @click.pass_context
@@ -13,6 +13,8 @@ import os
13
13
 
14
14
  import click
15
15
  from trogon import tui
16
+ from loguru import logger
17
+ from pyegeria import config_logging, settings
16
18
 
17
19
  # from pyegeria import ServerOps
18
20
  from commands.cli.ops_config import Config
@@ -27,10 +29,10 @@ from commands.ops.gov_server_actions import (
27
29
  from commands.ops.list_archives import display_archive_list
28
30
  from commands.ops.list_catalog_targets import display_catalog_targets
29
31
  from commands.ops.load_archive import load_archive
30
- from commands.ops.monitor_engine_activity import display_engine_activity
31
- from commands.ops.monitor_engine_activity_c import display_engine_activity_c
32
- from commands.ops.monitor_gov_eng_status import display_gov_eng_status
33
- from commands.ops.monitor_integ_daemon_status import (
32
+ from commands.ops.monitor_active_engine_activity import display_engine_activity
33
+ from commands.ops.monitor_engine_activity import display_engine_activity_c
34
+ from commands.ops.monitor_engine_status import display_gov_eng_status
35
+ from commands.ops.monitor_daemon_status import (
34
36
  display_integration_daemon_status,
35
37
  )
36
38
  from commands.ops.monitor_platform_status import (
@@ -43,106 +45,109 @@ from commands.ops.monitor_server_status import (
43
45
  from commands.ops.refresh_integration_daemon import refresh_connector
44
46
  from commands.ops.restart_integration_daemon import restart_connector
45
47
 
46
- # class Config(object):
47
- # def __init__(self, server: str = None, url: str = None, userid:str = None, password:str = None,
48
- # timeout:int = 30, paging: bool = False):
49
- # self.server = server
50
- # self.url = url
51
- # self.userid = userid
52
- # self.password = password
53
- # self.timeout = timeout
54
- # self.paging = paging
55
- #
56
- #
57
- # pass_config = click.make_pass_decorator(Config)
58
-
48
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
49
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
50
+ app_settings = settings
51
+ app_config = app_settings.Environment
52
+ # config_logging()
59
53
 
60
54
  @tui()
61
55
  # @tui('menu', 'menu', 'A textual object_action line interface')
62
- @click.version_option("0.0.1", prog_name="egeria_ops")
56
+ @click.version_option("5.4 ", prog_name="hey_egeria")
63
57
  @click.group()
64
58
  @click.option(
65
59
  "--server",
66
- default=os.environ.get("EGERIA_METADATA_STORE", "qs-metadata-store"),
60
+ default=app_config.egeria_metadata_store,
67
61
  help="Egeria metadata store to work with",
68
62
  )
69
63
  @click.option(
70
64
  "--url",
71
- default=os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443"),
65
+ default=app_config.egeria_platform_url,
72
66
  help="URL of Egeria metadata store platform to connect to",
73
67
  )
74
68
  @click.option(
75
69
  "--integration_daemon",
76
- default=os.environ.get("EGERIA_INTEGRATION_DAEMON", "qs-integration-daemon"),
70
+ default=app_config.egeria_integration_daemon,
77
71
  help="Egeria integration daemon to work with",
78
72
  )
79
73
  @click.option(
80
74
  "--integration_daemon_url",
81
- default=os.environ.get("EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"),
75
+ default=app_config.egeria_integration_daemon_url,
82
76
  help="URL of Egeria integration daemon platform to connect to",
83
77
  )
84
78
  @click.option(
85
79
  "--view_server",
86
- default=os.environ.get("EGERIA_VIEW_SERVER", "qs-view-server"),
80
+ default=app_config.egeria_view_server,
87
81
  help="Egeria view server to work with",
88
82
  )
89
83
  @click.option(
90
84
  "--view_server_url",
91
- default=os.environ.get("EGERIA_VIEW_SERVER_URL", "https://localhost:9443"),
85
+ default=app_config.egeria_view_server_url,
92
86
  help="URL of Egeria view server platform to connect to",
93
87
  )
94
88
  @click.option(
95
89
  "--engine_host",
96
- default=os.environ.get("EGERIA_ENGINE_HOST", "qs-engine-host"),
90
+ default=app_config.egeria_engine_host,
97
91
  help="Egeria engine host to work with",
98
92
  )
99
93
  @click.option(
100
94
  "--engine_host_url",
101
- default=os.environ.get("EGERIA_ENGINE_HOST_URL", "https://localhost:9443"),
95
+ default=app_config.egeria_engine_host_url,
102
96
  help="URL of Egeria engine host platform to connect to",
103
97
  )
104
- @click.option(
105
- "--admin_user",
106
- default=os.environ.get("EGERIA_ADMIN_USER", "garygeeke"),
107
- help="Egeria admin user",
108
- )
109
- @click.option(
110
- "--admin_user_password",
111
- default=os.environ.get("EGERIA_ADMIN_PASSWORD", "secret"),
112
- help="Egeria admin password",
113
- )
98
+
114
99
  @click.option(
115
100
  "--userid",
116
- default=os.environ.get("EGERIA_USER", "peterprofile"),
101
+ default=EGERIA_USER,
117
102
  help="Egeria user",
118
103
  )
119
104
  @click.option(
120
105
  "--password",
121
- default=os.environ.get("EGERIA_USER_PASSWORD", "secret"),
106
+ default=EGERIA_USER_PASSWORD,
122
107
  help="Egeria user password",
123
108
  )
124
109
  @click.option("--timeout", default=60, help="Number of seconds to wait")
125
110
  @click.option(
126
111
  "--jupyter",
127
112
  is_flag=True,
128
- default=os.environ.get("EGERIA_JUPYTER", "False"),
113
+ type=bool,
114
+ default=app_config.egeria_jupyter,
129
115
  help="Enable for rendering in a Jupyter terminal",
130
116
  )
131
117
  @click.option(
132
118
  "--width",
133
- default=os.environ.get("EGERIA_WIDTH", "200"),
119
+ default=app_config.console_width,
120
+ type=int,
134
121
  help="Screen width, in characters, to use",
135
122
  )
136
123
  @click.option(
137
- "--home_glossary_guid",
138
- default=os.environ.get("EGERIA_HOME_GLOSSARY_GUID", None),
139
- help="Glossary guid to use as the home glossary",
124
+ "--home_glossary_name",
125
+ default=app_settings.User_Profile.egeria_home_glossary_name,
126
+ help="Glossary name to use as the home glossary",
140
127
  )
141
128
  @click.option(
142
129
  "--glossary_path",
143
- default=os.environ.get("EGERIA_GLOSSARY_PATH", "/home/jovyan/loading-bay/glossary"),
130
+ default=app_config.egeria_glossary_path,
144
131
  help="Path to glossary import/export files",
145
132
  )
133
+
134
+ @click.option(
135
+ "--root_path",
136
+ default=app_config.pyegeria_root,
137
+ help="Root path to use for file operations",
138
+ )
139
+
140
+ @click.option(
141
+ "--inbox_path",
142
+ default=app_config.dr_egeria_inbox,
143
+ help="Path to inbox files",
144
+ )
145
+ @click.option(
146
+ "--outbox_path",
147
+ default=app_config.dr_egeria_outbox,
148
+ help="Path to outbox files",
149
+ )
150
+
146
151
  @click.pass_context
147
152
  def cli(
148
153
  ctx,
@@ -154,15 +159,16 @@ def cli(
154
159
  integration_daemon_url,
155
160
  engine_host,
156
161
  engine_host_url,
157
- admin_user,
158
- admin_user_password,
159
162
  userid,
160
163
  password,
161
164
  timeout,
162
165
  jupyter,
163
166
  width,
164
- home_glossary_guid,
167
+ home_glossary_name,
165
168
  glossary_path,
169
+ root_path,
170
+ inbox_path,
171
+ outbox_path,
166
172
  ):
167
173
  """An Egeria Command Line interface for Operations"""
168
174
  ctx.obj = Config(
@@ -174,20 +180,22 @@ def cli(
174
180
  integration_daemon_url,
175
181
  engine_host,
176
182
  engine_host_url,
177
- admin_user,
178
- admin_user_password,
179
183
  userid,
180
184
  password,
181
185
  timeout,
182
186
  jupyter,
183
187
  width,
184
- home_glossary_guid,
188
+ home_glossary_name,
185
189
  glossary_path,
190
+ root_path,
191
+ inbox_path,
192
+ outbox_path
186
193
  )
187
- ctx.max_content_width = 200
194
+ ctx.max_content_width = 300
188
195
  ctx.ensure_object(Config)
189
196
 
190
197
 
198
+
191
199
  @cli.group("show")
192
200
  @click.pass_context
193
201
  def show(ctx):
@@ -208,7 +216,7 @@ def show_platform_status(ctx):
208
216
  """Display a live status view of known platforms"""
209
217
  c = ctx.obj
210
218
  p_display_status(
211
- c.view_server, c.view_server_url, c.admin_user, c.admin_user_password
219
+ c.view_server, c.view_server_url, c.userid, c.password
212
220
  )
213
221
 
214
222
 
@@ -311,7 +319,7 @@ def gov_eng_status(ctx, engine_list, list):
311
319
  )
312
320
 
313
321
 
314
- @engine_host.command("activity")
322
+ @engine_host.command("current-activity")
315
323
  @click.option(
316
324
  "--rowlimit",
317
325
  default=0,
@@ -319,13 +327,7 @@ def gov_eng_status(ctx, engine_list, list):
319
327
  show_default=True,
320
328
  help="If non-zero, limit the number of rows returned",
321
329
  )
322
- @click.option(
323
- "--compressed",
324
- is_flag=True,
325
- default=False,
326
- show_default=True,
327
- help="Compressed combines some attributes into a single column",
328
- )
330
+
329
331
  @click.option(
330
332
  "--list",
331
333
  is_flag=True,
@@ -334,16 +336,17 @@ def gov_eng_status(ctx, engine_list, list):
334
336
  help="If True, a paged list will be shown",
335
337
  )
336
338
  @click.pass_context
337
- def eng_activity_status(ctx, rowlimit: int, list: bool, compressed: bool):
339
+ def current_eng_activity_status(ctx, rowlimit: int, list: bool):
338
340
  """Show Governance Activity in engine-host"""
339
341
  c = ctx.obj
342
+ compressed = False
340
343
  if compressed:
341
344
  display_engine_activity_c(
342
345
  rowlimit,
343
346
  c.view_server,
344
347
  c.view_server_url,
345
- c.admin_user,
346
- c.admin_user_password,
348
+ c.userid,
349
+ c.password,
347
350
  list,
348
351
  c.jupyter,
349
352
  c.width,
@@ -353,8 +356,8 @@ def eng_activity_status(ctx, rowlimit: int, list: bool, compressed: bool):
353
356
  rowlimit,
354
357
  c.view_server,
355
358
  c.view_server_url,
356
- c.admin_user,
357
- c.admin_user_password,
359
+ c.userid,
360
+ c.password,
358
361
  list,
359
362
  c.jupyter,
360
363
  c.width,
@@ -401,15 +404,7 @@ def integrations_status(ctx, connector_list, list):
401
404
  def integrations_status(ctx, connector):
402
405
  """Display Catalog Targets for a connector"""
403
406
  c = ctx.obj
404
- display_catalog_targets(
405
- connector,
406
- c.view_server,
407
- c.view_server_url,
408
- c.userid,
409
- c.password,
410
- c.jupyter,
411
- c.width,
412
- )
407
+ display_catalog_targets(connector, c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width)
413
408
 
414
409
 
415
410
  #