pyegeria 5.2.0.20__py3-none-any.whl → 5.2.0.42.2__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.
Files changed (130) hide show
  1. pyegeria/commands/README.md +2 -1
  2. pyegeria/commands/cat/__init__.py +1 -5
  3. pyegeria/commands/cat/exp_list_glossaries.py +1 -1
  4. pyegeria/commands/cat/get_asset_graph.py +1 -1
  5. pyegeria/commands/cat/get_collection.py +1 -1
  6. pyegeria/commands/cat/get_project_dependencies.py +1 -1
  7. pyegeria/commands/cat/get_project_structure.py +1 -1
  8. pyegeria/commands/cat/get_tech_type_elements.py +2 -2
  9. pyegeria/commands/cat/glossary_actions.py +9 -3
  10. pyegeria/commands/cat/list_assets.py +1 -1
  11. pyegeria/commands/cat/list_cert_types.py +1 -1
  12. pyegeria/commands/cat/list_collections.py +1 -1
  13. pyegeria/commands/cat/list_deployed_catalogs.py +5 -3
  14. pyegeria/commands/cat/list_deployed_database_schemas.py +1 -1
  15. pyegeria/commands/cat/list_deployed_databases.py +3 -4
  16. pyegeria/commands/cat/list_glossaries.py +1 -1
  17. pyegeria/commands/cat/list_projects.py +1 -1
  18. pyegeria/commands/cat/list_servers_deployed_imp.py +1 -1
  19. pyegeria/commands/cat/list_tech_type_elements.py +190 -0
  20. pyegeria/commands/cat/list_tech_types.py +36 -24
  21. pyegeria/commands/cat/list_terms.py +5 -3
  22. pyegeria/commands/cat/list_todos.py +1 -1
  23. pyegeria/commands/cat/list_user_ids.py +1 -1
  24. pyegeria/commands/cli/egeria.py +71 -63
  25. pyegeria/commands/cli/egeria_cat.py +44 -44
  26. pyegeria/commands/cli/egeria_login_tui.py +1 -1
  27. pyegeria/commands/cli/egeria_my.py +24 -28
  28. pyegeria/commands/cli/egeria_ops.py +37 -39
  29. pyegeria/commands/cli/egeria_tech.py +49 -35
  30. pyegeria/commands/cli/ops_config.py +3 -1
  31. pyegeria/commands/doc/{command-overview.md → README.md} +50 -5
  32. pyegeria/commands/doc/Visual Command Reference/README.md +511 -0
  33. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/CleanShot 2024-12-19 at 13.23.11.mov +0 -0
  34. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/CleanShot 2024-12-19 at 19.56.26.mp4 +0 -0
  35. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs 2024-12-17 at 15.43.27@2x.png +0 -0
  36. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-12-17 at 15.48.38@2x.png +0 -0
  37. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-12-17 at 15.52.16@2x.png +0 -0
  38. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed_databases 2024-12-16 at 16.40.31@2x.png +0 -0
  39. pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_dependencies 2024-12-14 at 16.24.39@2x.png +0 -0
  40. pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_structure 2024-12-14 at 16.21.35@2x.png +0 -0
  41. pyegeria/commands/doc/Visual Command Reference/cat/show/projects/projects 2024-12-14 at 16.18.10@2x.png +0 -0
  42. pyegeria/commands/doc/Visual Command Reference/hey_egeria tui 2024-12-16 at 16.58.22@2x.png +0 -0
  43. pyegeria/commands/doc/Visual Command Reference/my/show/my_profile 2024-12-14 at 16.29.27@2x.png +0 -0
  44. pyegeria/commands/doc/Visual Command Reference/my/show/my_roles 2024-12-14 at 16.32.10@2x.png +0 -0
  45. pyegeria/commands/doc/Visual Command Reference/my/show/my_todos 2024-12-15 at 16.24.13@2x.png +0 -0
  46. pyegeria/commands/doc/Visual Command Reference/my/show/open_todos 2024-12-14 at 16.36.12@2x.png +0 -0
  47. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/list_engine_activity compressed 2024-12-15 at 16.48.48@2x.png +0 -0
  48. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity 2024-12-15 at 16.32.55@2x.png +0 -0
  49. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity compressed 2024-12-15 at 16.38.29@2x.png +0 -0
  50. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_status 2024-12-15 at 16.51.26.jpeg +0 -0
  51. pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_daemon_status 2024-12-15 at 16.57.12@2x.png +0 -0
  52. pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_targets 2024-12-15 at 17.02.19@2x.png +0 -0
  53. pyegeria/commands/doc/Visual Command Reference/ops/show/platforms/monitor_platform_status 2024-12-15 at 19.53.18@2x.png +0 -0
  54. pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status 2024-12-15 at 19.59.39@2x.png +0 -0
  55. pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status full 2024-12-15 at 20.01.57@2x.png +0 -0
  56. pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_startup_servers 2024-12-15 at 19.56.07@2x.png +0 -0
  57. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_anchored_elements 2024-12-15 at 21.25.41@2x.png +0 -0
  58. 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
  59. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/info_for_guid 2024-12-16 at 11.35.29@2x.png +0 -0
  60. 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
  61. 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
  62. 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
  63. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/related_elements 2024-12-16 at 14.55.01@2x.png +0 -0
  64. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/show_related_specifications 2024-12-16 at 15.04.55@2x.png +0 -0
  65. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/asset_types 2024-12-16 at 15.10.16@2x.png +0 -0
  66. 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
  67. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/governance_action_processes 2024-12-16 at 15.13.01@2x.png +0 -0
  68. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/registered_services 2024-12-16 at 16.44.54@2x.png +0 -0
  69. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-16 at 16.20.34@2x.png +0 -0
  70. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-19 at 10.51.54@2x.png +0 -0
  71. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/valid_metadata_values 2024-12-16 at 15.31.56@2x.png +0 -0
  72. 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
  73. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_technology_types 2024-12-16 at 15.39.20@2x.png +0 -0
  74. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_details 2024-12-16 at 15.37.21@2x.png +0 -0
  75. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_templates 2024-12-16 at 16.11.48@2x.png +0 -0
  76. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/{hey_egeria: overview.md → README.md } +1 -1
  77. pyegeria/commands/my/list_my_profile.py +1 -1
  78. pyegeria/commands/my/list_my_roles.py +1 -1
  79. pyegeria/commands/my/monitor_my_todos.py +18 -6
  80. pyegeria/commands/my/monitor_open_todos.py +2 -2
  81. pyegeria/commands/my/todo_actions.py +1 -1
  82. pyegeria/commands/ops/list_archives.py +1 -1
  83. pyegeria/commands/ops/list_catalog_targets.py +1 -1
  84. pyegeria/commands/ops/load_archive.py +1 -1
  85. pyegeria/commands/ops/monitor_asset_events.py +27 -22
  86. pyegeria/commands/ops/monitor_engine_activity.py +1 -1
  87. pyegeria/commands/ops/monitor_engine_activity_c.py +1 -1
  88. pyegeria/commands/ops/monitor_gov_eng_status.py +31 -4
  89. pyegeria/commands/ops/monitor_integ_daemon_status.py +11 -8
  90. pyegeria/commands/ops/monitor_platform_status.py +2 -2
  91. pyegeria/commands/ops/monitor_server_startup.py +1 -1
  92. pyegeria/commands/ops/monitor_server_status.py +1 -1
  93. pyegeria/commands/ops/orig_monitor_server_list.py +1 -1
  94. pyegeria/commands/ops/orig_monitor_server_status.py +36 -21
  95. pyegeria/commands/ops/refresh_integration_daemon.py +2 -2
  96. pyegeria/commands/ops/restart_integration_daemon.py +2 -2
  97. pyegeria/commands/ops/table_integ_daemon_status.py +1 -1
  98. pyegeria/commands/tech/get_element_info.py +1 -1
  99. pyegeria/commands/tech/get_guid_info.py +1 -1
  100. pyegeria/commands/tech/get_tech_details.py +79 -42
  101. pyegeria/commands/tech/get_tech_type_template.py +69 -53
  102. pyegeria/commands/tech/list_anchored_elements.py +19 -16
  103. pyegeria/commands/tech/list_asset_types.py +1 -1
  104. pyegeria/commands/tech/list_elements.py +1 -1
  105. pyegeria/commands/tech/list_elements_for_classification.py +1 -1
  106. pyegeria/commands/tech/list_elements_x.py +8 -5
  107. pyegeria/commands/tech/list_gov_action_processes.py +1 -1
  108. pyegeria/commands/tech/list_registered_services.py +2 -2
  109. pyegeria/commands/tech/list_related_elements.py +1 -1
  110. pyegeria/commands/tech/list_related_specification.py +1 -1
  111. pyegeria/commands/tech/list_relationship_types.py +20 -22
  112. pyegeria/commands/tech/list_relationships.py +8 -4
  113. pyegeria/commands/tech/list_tech_templates.py +1 -1
  114. pyegeria/commands/tech/list_valid_metadata_values.py +1 -1
  115. pyegeria/commands/tech/table_tech_templates.py +1 -1
  116. pyegeria/commands/tech/x_list_related_elements.py +1 -1
  117. pyegeria/create_tech_guid_lists.py +2 -2
  118. pyegeria/glossary_manager_omvs.py +64 -1
  119. pyegeria/mermaid_utilities.py +1 -1
  120. pyegeria/metadata_explorer_omvs.py +94 -45
  121. pyegeria/server_operations.py +4 -4
  122. {pyegeria-5.2.0.20.dist-info → pyegeria-5.2.0.42.2.dist-info}/METADATA +1 -1
  123. pyegeria-5.2.0.42.2.dist-info/RECORD +234 -0
  124. {pyegeria-5.2.0.20.dist-info → pyegeria-5.2.0.42.2.dist-info}/entry_points.txt +1 -0
  125. pyegeria/commands/doc/Visual Command Reference/cat/show/info/get-Collection 2024-12-12 at 09.29.25.png +0 -0
  126. pyegeria-5.2.0.20.dist-info/RECORD +0 -190
  127. /pyegeria/commands/doc/Visual Command Reference/cat/show/assets/{Asset-graph 2024-11-20 at 15.56.42.png → asset-graph 2024-11-20 at 15.56.42.png} +0 -0
  128. /pyegeria/commands/doc/Visual Command Reference/cat/show/assets/{Assets-in-domain 2024-11-20 at 15.49.55@2x.png → assets-in-domain 2024-11-20 at 15.49.55@2x.png} +0 -0
  129. {pyegeria-5.2.0.20.dist-info → pyegeria-5.2.0.42.2.dist-info}/LICENSE +0 -0
  130. {pyegeria-5.2.0.20.dist-info → pyegeria-5.2.0.42.2.dist-info}/WHEEL +0 -0
@@ -9,6 +9,8 @@ A command line interface for Egeria operations.
9
9
  This is an emerging capability based on the **click** package. Feedback welcome!
10
10
 
11
11
  """
12
+ import os
13
+
12
14
  import click
13
15
  from trogon import tui
14
16
 
@@ -63,85 +65,81 @@ from pyegeria.commands.ops.list_archives import display_archive_list
63
65
  @click.group()
64
66
  @click.option(
65
67
  "--server",
66
- default="active-metadata-store",
67
- envvar="EGERIA_METADATA_STORE",
68
+ default=os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store"),
68
69
  help="Egeria metadata store to work with",
69
70
  )
70
71
  @click.option(
71
72
  "--url",
72
- default="https://localhost:9443",
73
- envvar="EGERIA_PLATFORM_URL",
73
+ default=os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443"),
74
74
  help="URL of Egeria metadata store platform to connect to",
75
75
  )
76
76
  @click.option(
77
- "--integration-daemon",
78
- default="integration-daemon",
79
- envvar="EGERIA_INTEGRATION_DAEMON",
77
+ "--integration_daemon",
78
+ default=os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon"),
80
79
  help="Egeria integration daemon to work with",
81
80
  )
82
81
  @click.option(
83
82
  "--integration_daemon_url",
84
- default="https://localhost:9443",
85
- envvar="EGERIA_INTEGRATION_DAEMON_URL",
83
+ default=os.environ.get("EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"),
86
84
  help="URL of Egeria integration daemon platform to connect to",
87
85
  )
88
86
  @click.option(
89
87
  "--view_server",
90
- default="view-server",
91
- envvar="EGERIA_VIEW_SERVER",
88
+ default=os.environ.get("EGERIA_VIEW_SERVER", "view-server"),
92
89
  help="Egeria view server to work with",
93
90
  )
94
91
  @click.option(
95
92
  "--view_server_url",
96
- default="https://localhost:9443",
97
- envvar="EGERIA_VIEW_SERVER_URL",
93
+ default=os.environ.get("EGERIA_VIEW_SERVER_URL", "https://localhost:9443"),
98
94
  help="URL of Egeria view server platform to connect to",
99
95
  )
100
96
  @click.option(
101
97
  "--engine_host",
102
- default="engine-host",
103
- envvar="EGERIA_ENGINE_HOST",
98
+ default=os.environ.get("EGERIA_ENGINE_HOST", "engine-host"),
104
99
  help="Egeria engine host to work with",
105
100
  )
106
101
  @click.option(
107
102
  "--engine_host_url",
108
- default="https://localhost:9443",
109
- envvar="EGERIA_ENGINE_HOST_URL",
103
+ default=os.environ.get("EGERIA_ENGINE_HOST_URL", "https://localhost:9443"),
110
104
  help="URL of Egeria engine host platform to connect to",
111
105
  )
112
106
  @click.option(
113
107
  "--admin_user",
114
- default="garygeeke",
115
- envvar="EGERIA_ADMIN_USER",
108
+ default=os.environ.get("EGERIA_ADMIN_USER", "garygeeke"),
116
109
  help="Egeria admin user",
117
110
  )
118
111
  @click.option(
119
112
  "--admin_user_password",
120
- default="secret",
121
- envvar="EGERIA_ADMIN_PASSWORD",
113
+ default=os.environ.get("EGERIA_ADMIN_PASSWORD", "secret"),
122
114
  help="Egeria admin password",
123
115
  )
124
- @click.option("--userid", default="garygeeke", envvar="EGERIA_USER", help="Egeria user")
116
+ @click.option(
117
+ "--userid",
118
+ default=os.environ.get("EGERIA_USER", "peterprofile"),
119
+ help="Egeria user",
120
+ )
125
121
  @click.option(
126
122
  "--password",
127
- default="secret",
128
- envvar="EGERIA_USER_PASSWORD",
123
+ default=os.environ.get("EGERIA_USER_PASSWORD", "secret"),
129
124
  help="Egeria user password",
130
125
  )
131
126
  @click.option("--timeout", default=60, help="Number of seconds to wait")
132
127
  @click.option(
133
128
  "--jupyter",
134
129
  is_flag=True,
135
- default=False,
136
- envvar="EGERIA_JUPYTER",
130
+ default=os.environ.get("EGERIA_JUPYTER", "False"),
137
131
  help="Enable for rendering in a Jupyter terminal",
138
132
  )
139
133
  @click.option(
140
134
  "--width",
141
- default=200,
142
- envvar="EGERIA_WIDTH",
135
+ default=os.environ.get("EGERIA_WIDTH", "200"),
143
136
  help="Screen width, in characters, to use",
144
137
  )
138
+ @click.option(
139
+ "--home_glossary_guid",
140
+ default=os.environ.get("EGERIA_HOME_GLOSSARY_GUID", None),
141
+ help="Glossary guid to use as the home glossary",
142
+ )
145
143
  @click.pass_context
146
144
  def cli(
147
145
  ctx,
@@ -294,14 +292,14 @@ def gov_eng_status(ctx, engine_list, engine_host, list):
294
292
  c = ctx.obj
295
293
  display_gov_eng_status(
296
294
  [engine_list],
297
- engine_host,
298
- c.view_server,
299
- c.view_server_url,
300
- c.userid,
301
- c.password,
302
- list,
303
- c.jupyter,
304
- c.width,
295
+ engine_host=engine_host,
296
+ view_server=c.view_server,
297
+ url=c.view_server_url,
298
+ username=c.userid,
299
+ user_pass=c.password,
300
+ paging=list,
301
+ jupyter=c.jupyter,
302
+ width=c.width,
305
303
  )
306
304
 
307
305
 
@@ -373,7 +371,7 @@ def integrations(ctx):
373
371
  )
374
372
  @click.pass_context
375
373
  def integrations_status(ctx, connector_list, list):
376
- """Display integration-daemon status information"""
374
+ """Display integration_daemon status information"""
377
375
  c = ctx.obj
378
376
  display_integration_daemon_status(
379
377
  [connector_list],
@@ -389,7 +387,7 @@ def integrations_status(ctx, connector_list, list):
389
387
  )
390
388
 
391
389
 
392
- @integrations.command("targets")
390
+ @integrations.command("--targets")
393
391
  @click.pass_context
394
392
  @click.argument("connector", nargs=1)
395
393
  def integrations_status(ctx, connector):
@@ -432,7 +430,7 @@ servers.add_command(stop_server)
432
430
  @tell.group("integration-daemon")
433
431
  @click.pass_context
434
432
  def integration_daemon(ctx):
435
- """Group of commands to an integration-daemon"""
433
+ """Group of commands to an integration_daemon"""
436
434
  pass
437
435
 
438
436
 
@@ -9,6 +9,9 @@ A command line interface for Egeria Data techs.
9
9
  This is an emerging capability based on the **click** package. Feedback welcome!
10
10
 
11
11
  """
12
+ import os
13
+ import sys
14
+
12
15
  import click
13
16
  from trogon import tui
14
17
 
@@ -61,87 +64,81 @@ from pyegeria.commands.tech.get_tech_type_template import template_viewer
61
64
  @click.group()
62
65
  @click.option(
63
66
  "--server",
64
- default="active-metadata-store",
65
- envvar="EGERIA_METADATA_STORE",
67
+ default=os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store"),
66
68
  help="Egeria metadata store to work with",
67
69
  )
68
70
  @click.option(
69
71
  "--url",
70
- default="https://localhost:9443",
71
- envvar="EGERIA_PLATFORM_URL",
72
+ default=os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443"),
72
73
  help="URL of Egeria metadata store platform to connect to",
73
74
  )
74
75
  @click.option(
75
- "--integration-daemon",
76
- default="integration-daemon",
77
- envvar="EGERIA_INTEGRATION_DAEMON",
76
+ "--integration_daemon",
77
+ default=os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon"),
78
78
  help="Egeria integration daemon to work with",
79
79
  )
80
80
  @click.option(
81
81
  "--integration_daemon_url",
82
- default="https://localhost:9443",
83
- envvar="EGERIA_INTEGRATION_DAEMON_URL",
82
+ default=os.environ.get("EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"),
84
83
  help="URL of Egeria integration daemon platform to connect to",
85
84
  )
86
85
  @click.option(
87
86
  "--view_server",
88
- default="view-server",
89
- envvar="EGERIA_VIEW_SERVER",
87
+ default=os.environ.get("EGERIA_VIEW_SERVER", "view-server"),
90
88
  help="Egeria view server to work with",
91
89
  )
92
90
  @click.option(
93
91
  "--view_server_url",
94
- default="https://localhost:9443",
95
- envvar="EGERIA_VIEW_SERVER_URL",
92
+ default=os.environ.get("EGERIA_VIEW_SERVER_URL", "https://localhost:9443"),
96
93
  help="URL of Egeria view server platform to connect to",
97
94
  )
98
95
  @click.option(
99
96
  "--engine_host",
100
- default="engine-host",
101
- envvar="EGERIA_ENGINE_HOST",
97
+ default=os.environ.get("EGERIA_ENGINE_HOST", "engine-host"),
102
98
  help="Egeria engine host to work with",
103
99
  )
104
100
  @click.option(
105
101
  "--engine_host_url",
106
- default="https://localhost:9443",
107
- envvar="EGERIA_ENGINE_HOST_URL",
102
+ default=os.environ.get("EGERIA_ENGINE_HOST_URL", "https://localhost:9443"),
108
103
  help="URL of Egeria engine host platform to connect to",
109
104
  )
110
105
  @click.option(
111
106
  "--admin_user",
112
- default="garygeeke",
113
- envvar="EGERIA_ADMIN_USER",
107
+ default=os.environ.get("EGERIA_ADMIN_USER", "garygeeke"),
114
108
  help="Egeria admin user",
115
109
  )
116
110
  @click.option(
117
111
  "--admin_user_password",
118
- default="secret",
119
- envvar="EGERIA_ADMIN_PASSWORD",
112
+ default=os.environ.get("EGERIA_ADMIN_PASSWORD", "secret"),
120
113
  help="Egeria admin password",
121
114
  )
122
115
  @click.option(
123
- "--userid", default="peterprofile", envvar="EGERIA_USER", help="Egeria user"
116
+ "--userid",
117
+ default=os.environ.get("EGERIA_USER", "peterprofile"),
118
+ help="Egeria user",
124
119
  )
125
120
  @click.option(
126
121
  "--password",
127
- default="secret",
128
- envvar="EGERIA_PASSWORD",
122
+ default=os.environ.get("EGERIA_USER_PASSWORD", "secret"),
129
123
  help="Egeria user password",
130
124
  )
131
125
  @click.option("--timeout", default=60, help="Number of seconds to wait")
132
126
  @click.option(
133
127
  "--jupyter",
134
128
  is_flag=True,
135
- default=False,
136
- envvar="EGERIA_JUPYTER",
129
+ default=os.environ.get("EGERIA_JUPYTER", "False"),
137
130
  help="Enable for rendering in a Jupyter terminal",
138
131
  )
139
132
  @click.option(
140
133
  "--width",
141
- default=200,
142
- envvar="EGERIA_WIDTH",
134
+ default=os.environ.get("EGERIA_WIDTH", "200"),
143
135
  help="Screen width, in characters, to use",
144
136
  )
137
+ @click.option(
138
+ "--home_glossary_guid",
139
+ default=os.environ.get("EGERIA_HOME_GLOSSARY_GUID", None),
140
+ help="Glossary guid to use as the home glossary",
141
+ )
145
142
  @click.pass_context
146
143
  def cli(
147
144
  ctx,
@@ -213,7 +210,7 @@ def show_elements(ctx):
213
210
  @show_elements.command("guid-info")
214
211
  @click.argument("guid", nargs=1)
215
212
  @click.pass_context
216
- def show_guid_infos(ctx, guid):
213
+ def show_guid_info(ctx, guid):
217
214
  """Display guid information
218
215
 
219
216
  Usage: show guid-info <a guid>
@@ -240,22 +237,39 @@ def show_related_specifications(ctx, element_guid):
240
237
  )
241
238
 
242
239
 
243
- @show_elements.command("element-graph")
240
+ @show_elements.command("anchored-elements")
244
241
  @click.pass_context
245
- @click.option("--search-string", help="value we are searching for")
246
242
  @click.option(
247
- "--prop-list", default="anchorTypeName", help="List of properties we are searching"
243
+ "--search-string",
244
+ default="SoftwareCapability",
245
+ help="value we are searching for",
246
+ )
247
+ @click.option(
248
+ "--prop-list",
249
+ default="anchorDomainName",
250
+ help="List of properties we are searching",
248
251
  )
249
- def list_element_graph(ctx, search_string: str, prop_list: str):
252
+ def list_anchored_elements(ctx, search_string: str, prop_list: str):
250
253
  """List elements with the specified properties"""
251
254
  c = ctx.obj
255
+ # put guards around this to make it a list?
256
+ if type(prop_list) is str:
257
+ property_names = prop_list.split(",")
258
+ elif type(prop_list) is list:
259
+ property_names = prop_list
260
+ else:
261
+ property_names = []
262
+ print(f"\nError --> Invalid property list - must be a string or list")
263
+ sys.exit(4)
264
+
252
265
  display_anchored_elements(
253
266
  search_string,
254
- prop_list,
267
+ property_names,
255
268
  c.view_server,
256
269
  c.view_server_url,
257
270
  c.userid,
258
271
  c.password,
272
+ c.timeout,
259
273
  c.jupyter,
260
274
  c.width,
261
275
  )
@@ -367,7 +381,7 @@ def show_registered_services(ctx, services):
367
381
 
368
382
  @show_info.command("relationship-types")
369
383
  @click.option(
370
- "--rel-type",
384
+ "--om-type",
371
385
  default="AssetOwner",
372
386
  help="Relationship type to get information about",
373
387
  )
@@ -8,7 +8,7 @@ class Config(object):
8
8
  url: str = None,
9
9
  view_server: str = "view-server",
10
10
  view_server_url: str = "https://localhost:9443",
11
- integration_daemon: str = "integration-daemon",
11
+ integration_daemon: str = "integration_daemon",
12
12
  integration_daemon_url: str = "https://localhost:9443",
13
13
  engine_host: str = "engine-host",
14
14
  engine_host_url: str = "https://localhost:9443",
@@ -19,6 +19,7 @@ class Config(object):
19
19
  timeout: int = 30,
20
20
  jupyter: bool = False,
21
21
  width: int = 200,
22
+ home_glossary_guid: str = None,
22
23
  ):
23
24
  self.metadata_store = server
24
25
  self.metadata_store_url = url
@@ -37,6 +38,7 @@ class Config(object):
37
38
  self.width = width
38
39
  self.server = server
39
40
  self.url = url
41
+ self.home_glossary_guid = home_glossary_guid
40
42
 
41
43
 
42
44
  pass_config = click.make_pass_decorator(Config)
@@ -1,18 +1,60 @@
1
1
  <!-- SPDX-License-Identifier: CC-BY-4.0 -->
2
2
  <!-- Copyright Contributors to the Egeria project. -->
3
+
3
4
  # Overview
4
5
 
6
+ **hey_egeria** is a friendly, easy to use, command line interface (CLI) for Egeria with both a scriptable component and a textual user
7
+ interface to guide
8
+ users through the different commands and options. This interface is being actively maintained and enhanced. There are
9
+ currently about 70 commands in the interface and new ones are added based on perceived need and community feedback.
10
+
11
+ The CLI is written in python using the [click](https://click.palletsprojects.com/en/stable/) package
12
+ with [trogon](https://github.com/Textualize/trogon)
13
+ providing the textual user interface. The commands are written using [pyegeria](https://github.com/odpi/egeria-python)
14
+ or
15
+ https://pypi.org/project/pyegeria/. Commands are also available standalone. Simple standalone installation instructions
16
+ are
17
+ documented at [pyegeria](https://egeria-project.org/concepts/pyegeria). pyegeria and hey_egeria are pre-installed within
18
+ the **Egeria Workspaces** environment - [Egeria Workspaces](https://github.com/odpi/egeria-workspaces).
19
+
5
20
  # Command Line Interfaces
21
+ ## Commands
22
+ A command line interface provides a simple language for users to invoke commands. In the case of **hey_egeria**, once it
23
+ is installed, you can
24
+ start simply by typing `hey_egeria` on the command line and it will provide a list of options and commands that you can
25
+ use to interact with it. Commands are often arranged hierarchically - so, for instance if we type just `hey_egeria`, the
26
+ command options presented to us are:
27
+
28
+ ```aiignore
29
+ Commands:
30
+ cat Commands for all users
31
+ my Work with my information
32
+ ops Commands to understand and manage operations
33
+ tech Commands for tech Users
34
+ tui Open Textual TUI
35
+ ```
6
36
 
7
- ## hey_egeria
37
+ "cat", "my", "ops", and "tech" represent groups of commands oriented towards particular roles. If a user wants to only
38
+ use commands from a single role they can use a variant of hey_egeria that follows the pattern `hey_egeria_xxx`. So,
39
+ for example, `hey_egeria_cat` is the entry point for general catalog users.
8
40
 
9
- ## hey_egeria_cat
41
+ Within each of these categories, commands are further split between **show** and **tell**. **Show** commands display
42
+ information to the user on the terminal and **tell** commands instruct Egeria to take some action. Commands may be further
43
+ sub-divided into topics.
10
44
 
11
- ## hey_egeria_my
45
+ So for example the command to display the status of the Egeria Platform is:
12
46
 
13
- ## hey_egeria_ops
47
+ `hey_egeria ops show platforms status`
14
48
 
15
- ## hey_egeria_tech
49
+ And the command to list all glossaries is:
50
+
51
+ `hey_egeria cat show glossary glossaries`
52
+
53
+ ## Options & Parameters
54
+
55
+ Each command has a number of optional, and often some mandatory parameters. There are really two groups of options.
56
+ * General options - that are present for every command. Sensible defaults based on environment variables are set for each.
57
+ * Command specific optons & parameters
16
58
 
17
59
  # Command Reference
18
60
 
@@ -95,6 +137,9 @@
95
137
  | start_daemon | Start or restart an OMAG server from its known configuration | | | ✓ | | |
96
138
  | stop_daemon | Stop an OMAG server daemon | | | ✓ | | |
97
139
 
140
+
141
+ # Visual Command Reference
142
+ A visual command reference of all the `hey_egeria` **show** commands can be found [Visual Command Reference](https://github.com/odpi/egeria-python/tree/main/pyegeria/commands/doc/Visual%20Command%20Reference)
98
143
  ----
99
144
  License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
100
145
  Copyright Contributors to the Egeria project.