pyegeria 0.5.9.2__tar.gz → 0.5.9.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/PKG-INFO +1 -1
  2. pyegeria-0.5.9.4/examples/widgets/cli/egeria.py +641 -0
  3. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/cli/egeria_cat.py +1 -1
  4. pyegeria-0.5.9.2/examples/widgets/cli/egeria_my.py → pyegeria-0.5.9.4/examples/widgets/cli/egeria_per.py +2 -2
  5. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/personal/list_my_profile.py +1 -1
  6. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyproject.toml +3 -2
  7. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/LICENSE +0 -0
  8. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/README.md +0 -0
  9. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/doc_samples/Create_Collection_Sample.py +0 -0
  10. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/doc_samples/Create_Sustainability_Collection_Sample.py +0 -0
  11. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/README.md +0 -0
  12. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/__init__.py +0 -0
  13. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/get_asset_graph.py +0 -0
  14. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/get_collection.py +0 -0
  15. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/get_tech_type_elements.py +0 -0
  16. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/get_tech_type_template.py +0 -0
  17. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/list_assets.py +0 -0
  18. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/list_glossary.py +0 -0
  19. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/list_projects.py +0 -0
  20. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/list_tech_types.py +0 -0
  21. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/catalog_user/list_todos.py +0 -0
  22. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/cli/__init__.py +0 -0
  23. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/cli/egeria_ops.py +0 -0
  24. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/cli/egeria_tech.py +0 -0
  25. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/cli/ops_config.py +0 -0
  26. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/README.md +0 -0
  27. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/__init__.py +0 -0
  28. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/engine_actions.py +0 -0
  29. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/integration_daemon_actions.py +0 -0
  30. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/list_catalog_targets.py +0 -0
  31. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/load_archive.py +0 -0
  32. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/monitor_asset_events.py +0 -0
  33. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/monitor_coco_status.py +0 -0
  34. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/monitor_engine_activity.py +0 -0
  35. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/monitor_gov_eng_status.py +0 -0
  36. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/monitor_integ_daemon_status.py +0 -0
  37. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/monitor_platform_status.py +0 -0
  38. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/monitor_server_list.py +0 -0
  39. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/monitor_server_status.py +0 -0
  40. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/refresh_integration_daemon.py +0 -0
  41. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/operational/restart_integration_daemon.py +0 -0
  42. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/personal/README.md +0 -0
  43. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/personal/__init__.py +0 -0
  44. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/personal/list_my_roles.py +0 -0
  45. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/personal/monitor_my_todos.py +0 -0
  46. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/personal/monitor_open_todos.py +0 -0
  47. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/tech/README.md +0 -0
  48. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/tech/__init__.py +0 -0
  49. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/tech/get_guid_info.py +0 -0
  50. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/tech/get_tech_details.py +0 -0
  51. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/tech/list_asset_types.py +0 -0
  52. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/tech/list_registered_services.py +0 -0
  53. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/tech/list_relationship_types.py +0 -0
  54. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/tech/list_tech_templates.py +0 -0
  55. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/examples/widgets/tech/list_valid_metadata_values.py +0 -0
  56. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/Xfeedback_manager_omvs.py +0 -0
  57. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/Xloaded_resources_omvs.py +0 -0
  58. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/__init__.py +0 -0
  59. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/_client.py +0 -0
  60. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/_deprecated_gov_engine.py +0 -0
  61. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/_exceptions.py +0 -0
  62. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/_globals.py +0 -0
  63. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/_validators.py +0 -0
  64. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/action_author_omvs.py +0 -0
  65. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/asset_catalog_omvs.py +0 -0
  66. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/automated_curation_omvs.py +0 -0
  67. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/collection_manager_omvs.py +0 -0
  68. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/core_omag_server_config.py +0 -0
  69. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/create_tech_guid_lists.py +0 -0
  70. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/full_omag_server_config.py +0 -0
  71. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/glossary_browser_omvs.py +0 -0
  72. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/glossary_manager_omvs.py +0 -0
  73. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/my_profile_omvs.py +0 -0
  74. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/platform_services.py +0 -0
  75. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/project_manager_omvs.py +0 -0
  76. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/registered_info.py +0 -0
  77. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/runtime_manager_omvs.py +0 -0
  78. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/server_operations.py +0 -0
  79. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/utils.py +0 -0
  80. {pyegeria-0.5.9.2 → pyegeria-0.5.9.4}/pyegeria/valid_metadata_omvs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 0.5.9.2
3
+ Version: 0.5.9.4
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -0,0 +1,641 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+
7
+ A command line interface for Egeria Users - all commands
8
+
9
+ This is an emerging capability based on the **click** package. Feedback welcome!
10
+
11
+ """
12
+ import click
13
+ from trogon import tui
14
+
15
+ from examples.widgets.catalog_user.get_asset_graph import asset_viewer
16
+ from examples.widgets.catalog_user.get_collection import collection_viewer
17
+ from examples.widgets.catalog_user.get_tech_type_elements import tech_viewer
18
+ from examples.widgets.catalog_user.get_tech_type_template import template_viewer
19
+ from examples.widgets.catalog_user.list_assets import display_assets
20
+ from examples.widgets.catalog_user.list_glossary import display_glossary_terms
21
+ from examples.widgets.catalog_user.list_projects import display_project_list
22
+ from examples.widgets.catalog_user.list_tech_types import display_tech_types
23
+ from examples.widgets.catalog_user.list_todos import display_to_dos
24
+ from examples.widgets.cli.ops_config import Config
25
+ from examples.widgets.operational.engine_actions import start_server as start_engine_host, \
26
+ stop_server as stop_engine_host
27
+ from examples.widgets.operational.integration_daemon_actions import (add_catalog_target, remove_catalog_target,
28
+ update_catalog_target, stop_server, start_server)
29
+ from examples.widgets.operational.list_catalog_targets import display_catalog_targets
30
+ from examples.widgets.operational.load_archive import load_archive
31
+ from examples.widgets.operational.monitor_engine_activity import display_engine_activity
32
+ from examples.widgets.operational.monitor_gov_eng_status import display_gov_eng_status
33
+ from examples.widgets.operational.monitor_integ_daemon_status import display_integration_daemon_status
34
+ from examples.widgets.operational.monitor_platform_status import display_status as p_display_status
35
+ from examples.widgets.operational.monitor_server_list import display_status as display_list
36
+ from examples.widgets.operational.monitor_server_status import display_status as s_display_status
37
+ from examples.widgets.operational.refresh_integration_daemon import refresh_connector
38
+ from examples.widgets.operational.restart_integration_daemon import restart_connector
39
+ from examples.widgets.personal.list_my_profile import display_my_profile
40
+ from examples.widgets.personal.list_my_roles import display_my_roles
41
+ from examples.widgets.personal.monitor_my_todos import display_my_todos
42
+ from examples.widgets.personal.monitor_open_todos import display_todos
43
+ from examples.widgets.tech.get_guid_info import display_guid
44
+ from examples.widgets.tech.get_tech_details import tech_details_viewer
45
+ from examples.widgets.tech.list_asset_types import display_asset_types
46
+ from examples.widgets.tech.list_registered_services import display_registered_svcs
47
+ from examples.widgets.tech.list_relationship_types import display_relationship_types
48
+ from examples.widgets.tech.list_tech_templates import display_templates_spec
49
+ from examples.widgets.tech.list_valid_metadata_values import display_metadata_values
50
+
51
+
52
+ @tui()
53
+ # @tui('menu', 'menu', 'A textual command line interface')
54
+ @click.version_option("0.0.1", prog_name="egeria_ops")
55
+ @click.group()
56
+ @click.option('--server', default='active-metadata-store', envvar='EGERIA_METADATA_STORE',
57
+ help='Egeria metadata store to work with')
58
+ @click.option('--url', default='https://localhost:9443', envvar='EGERIA_PLATFORM_URL',
59
+ help='URL of Egeria metadata store platform to connect to')
60
+ @click.option('--integration-daemon', default='integration-daemon', envvar='EGERIA_INTEGRATION_DAEMON',
61
+ help='Egeria integration daemon to work with')
62
+ @click.option('--integration_daemon_url', default='https://localhost:9443', envvar='EGERIA_INTEGRATION_DAEMON_URL',
63
+ help='URL of Egeria integration daemon platform to connect to')
64
+ @click.option('--view_server', default='view-server', envvar='EGERIA_VIEW_SERVER',
65
+ help='Egeria view server to work with')
66
+ @click.option('--view_server_url', default='https://localhost:9443', envvar='EGERIA_VIEW_SERVER_URL',
67
+ help='URL of Egeria view server platform to connect to')
68
+ @click.option('--engine_host', default='engine-host', envvar='EGERIA_ENGINE_HOST',
69
+ help='Egeria engine host to work with')
70
+ @click.option('--engine_host_url', default='https://localhost:9443', envvar='EGERIA_ENGINE_HOST_URL',
71
+ help='URL of Egeria engine host platform to connect to')
72
+ @click.option('--admin_user', default='garygeeke', envvar='EGERIA_ADMIN_USER', help='Egeria admin user')
73
+ @click.option('--admin_user_password', default='secret', envvar='EGERIA_ADMIN_PASSWORD',
74
+ help='Egeria admin password')
75
+ @click.option('--userid', default='garygeeke', envvar='EGERIA_USER', help='Egeria user')
76
+ @click.option('--password', default='secret', envvar='EGERIA_PASSWORD',
77
+ help='Egeria user password')
78
+ @click.option('--timeout', default=60, help='Number of seconds to wait')
79
+ @click.option('--verbose', is_flag=True, default=False, help='Enable verbose mode')
80
+ @click.option('--paging', is_flag=True, default=False, help='Enable paging snapshots vs live updates')
81
+ @click.option('--jupyter', is_flag=True, default=False, envvar='EGERIA_JUPYTER',
82
+ help='Enable for rendering in a Jupyter terminal')
83
+ @click.option('--width', default=200, envvar='EGERIA_WIDTH', help='Screen width, in characters, to use')
84
+ @click.pass_context
85
+ def cli(ctx, server, url, view_server, view_server_url, integration_daemon, integration_daemon_url,
86
+ engine_host, engine_host_url, admin_user, admin_user_password, userid, password, timeout, paging,
87
+ verbose, jupyter, width):
88
+ """An Egeria Command Line interface for Operations """
89
+ ctx.obj = Config(server, url, view_server, view_server_url, integration_daemon,
90
+ integration_daemon_url, engine_host, engine_host_url,
91
+ admin_user, admin_user_password, userid, password,
92
+ timeout, paging, verbose, jupyter, width)
93
+ ctx.max_content_width = 200
94
+ ctx.ensure_object(Config)
95
+ if verbose:
96
+ click.echo(f"we are in verbose mode - server is {server}")
97
+
98
+
99
+ #
100
+ # Personal: Show
101
+ #
102
+ @cli.group('personal')
103
+ @click.pass_context
104
+ def personal(ctx):
105
+ "Work with my information"
106
+ pass
107
+
108
+
109
+ @personal.group("show")
110
+ @click.pass_context
111
+ def show(ctx):
112
+ """Display an Egeria Object"""
113
+ pass
114
+
115
+
116
+ @show.command('my-profile')
117
+ @click.pass_context
118
+ def show_my_profile(ctx):
119
+ """Display my profiles
120
+
121
+ Usage: show my-profile
122
+
123
+ """
124
+ c = ctx.obj
125
+ display_my_profile(c.view_server, c.view_server_url,
126
+ c.userid, c.password, c.jupyter, c.width)
127
+
128
+
129
+ @show.command('my-roles')
130
+ @click.pass_context
131
+ def show_my_roles(ctx):
132
+ """Display my profiles
133
+
134
+ Usage: show my-profile
135
+
136
+ """
137
+ c = ctx.obj
138
+ display_my_roles(c.view_server, c.view_server_url,
139
+ c.userid, c.password, c.jupyter, c.width)
140
+
141
+
142
+ @show.command('my-to-dos')
143
+ @click.pass_context
144
+ def show_my_todos(ctx):
145
+ """Show my To-Dos
146
+
147
+ Usage: show my-to-dos
148
+
149
+ """
150
+ c = ctx.obj
151
+ display_my_todos(c.view_server, c.view_server_url,
152
+ c.userid, c.password, c.jupyter, c.width)
153
+
154
+
155
+ @show.command('open-to-dos')
156
+ @click.pass_context
157
+ def show_open_todos(ctx):
158
+ """Display a live status view of Egeria servers for the specified Egeria platform
159
+
160
+ Usage: show tech-details <tech-name>
161
+
162
+ tech-name is a valid technology name (see 'show tech-types')
163
+ """
164
+ c = ctx.obj
165
+ display_todos(c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width)
166
+
167
+
168
+ #
169
+ # Personal: Tell
170
+ #
171
+
172
+ @personal.group('tell')
173
+ @click.pass_context
174
+ def tell(ctx):
175
+ """Perform actions an Egeria Objects"""
176
+ pass
177
+
178
+
179
+ #
180
+ # Technical User: Show
181
+ #
182
+ @cli.group("technical")
183
+ @click.pass_context
184
+ def technical(ctx):
185
+ """Commands for Technical Users"""
186
+ pass
187
+
188
+
189
+ @technical.group("show")
190
+ @click.pass_context
191
+ def show(ctx):
192
+ """Display an Egeria Object"""
193
+ pass
194
+
195
+
196
+ @show.command('guid-info')
197
+ @click.argument('guid', nargs=1)
198
+ @click.pass_context
199
+ def show_guid_infos(ctx, guid):
200
+ """Display a live status view of known platforms
201
+
202
+ Usage: show guid-info <a guid>
203
+
204
+ """
205
+ c = ctx.obj
206
+ display_guid(guid, c.server, c.url,
207
+ c.user_id, c.password, c.jupyter, c.width)
208
+
209
+
210
+ @show.command('tech-types')
211
+ @click.option('--search-string', default='*', help='Tech type to search for')
212
+ @click.pass_context
213
+ def show_tech_types(ctx, search_string):
214
+ """List deployed technology types
215
+
216
+ Usage: show tech-types <optional search-string>
217
+
218
+ All tech-types will be returned if no search-string is specified.
219
+
220
+ """
221
+
222
+ c = ctx.obj
223
+ display_tech_types(search_string, c.view_server, c.view_server_url,
224
+ c.userid, c.password)
225
+
226
+
227
+ @show.command('tech-details')
228
+ @click.argument('tech-name')
229
+ @click.pass_context
230
+ def show_tech_details(ctx, tech_name):
231
+ """Display a live status view of Egeria servers for the specified Egeria platform
232
+
233
+ Usage: show tech-details <tech-name>
234
+
235
+ tech-name is a valid technology name (see 'show tech-types')
236
+ """
237
+ c = ctx.obj
238
+ tech_details_viewer(tech_name, c.view_server, c.view_server_url, c.userid, c.password, c.jupyter, c.width)
239
+
240
+
241
+ @show.command("asset-types")
242
+ @click.pass_context
243
+ def show_asset_types(ctx):
244
+ """Display engine-host status information"""
245
+ c = ctx.obj
246
+ display_asset_types(c.view_server, c.view_server_url,
247
+ c.userid, c.password,
248
+ c.jupyter, c.width)
249
+
250
+
251
+ @show.command('registered-services')
252
+ @click.option('--services',
253
+ type=click.Choice(['all', 'access-services', 'common-services', 'engine-services',
254
+ 'governance-services', 'integration-services', 'view-services'],
255
+ case_sensitive=False), default='all', help='Which service group to display')
256
+ @click.pass_context
257
+ def show_registered_services(ctx, services):
258
+ """Show information about a registered services"""
259
+ c = ctx.obj
260
+ display_registered_svcs(services, c.view_server, c.view_server_url,
261
+ c.userid, c.password, c.jupyter, c.width)
262
+
263
+
264
+ @show.command('relationship-types')
265
+ @click.option('--rel-type', default='AssetOwner', help='Relationship type to get information about')
266
+ @click.pass_context
267
+ def show_relationship_types(ctx, rel_type):
268
+ """Show information about the specified relationship type"""
269
+ c = ctx.obj
270
+ display_relationship_types(rel_type, c.view_server, c.view_server_url,
271
+
272
+ c.userid, c.password, False, c.jupyter, c.width)
273
+
274
+
275
+ @show.command("tech-templates")
276
+ @click.pass_context
277
+ @click.option('--search-string', default='*', help='Technology type to get information about')
278
+ def tech_templates(ctx, search_string):
279
+ """Display template information about the specified technology."""
280
+ c = ctx.obj
281
+ template_viewer(search_string, c.view_server, c.view_server_url,
282
+ c.userid, c.password, c.jupyter, c.width)
283
+
284
+
285
+ @show.command("tech-template-spec")
286
+ @click.pass_context
287
+ @click.option('--search-string', default='*', help='Technology type to get information about')
288
+ def tech_template_spec(ctx, search_string):
289
+ """Display template specification information about the specified technology."""
290
+ c = ctx.obj
291
+ display_templates_spec(search_string, c.view_server, c.view_server_url,
292
+ c.userid, c.password, c.jupyter, c.width)
293
+
294
+
295
+ @show.command("valid-metadata-values")
296
+ @click.pass_context
297
+ @click.option('--property', default='projectHealth', help='Metadata property to query')
298
+ @click.option('--type-name', default='Project', help='Metadata type to query')
299
+ def valid_metadata_values(ctx, property, type_name):
300
+ """Display the valid metadata values for a property and type"""
301
+ c = ctx.obj
302
+ display_metadata_values(property, type_name, c.view_server, c.view_server_url,
303
+ c.userid, c.password, False, c.jupyter, c.width)
304
+
305
+
306
+ #
307
+ # Technical Users: Tell
308
+ #
309
+
310
+ @technical.group('tell')
311
+ @click.pass_context
312
+ def tell(ctx):
313
+ """Perform actions an Egeria Objects"""
314
+ pass
315
+
316
+
317
+ #
318
+ # Catalog User: Show
319
+ #
320
+
321
+ @cli.group('catalog_user')
322
+ @click.pass_context
323
+ def catalog_user(ctx):
324
+ """Commands for the more technical user"""
325
+ pass
326
+
327
+
328
+ @catalog_user.group("show")
329
+ @click.pass_context
330
+ def show(ctx):
331
+ """Display an Egeria Object"""
332
+ pass
333
+
334
+
335
+ @show.command('tech-types')
336
+ @click.option('--tech_type', default='*', help='Tech type to search for')
337
+ @click.pass_context
338
+ def show_tech_types(ctx, tech_type):
339
+ """List deployed technology types"""
340
+ c = ctx.obj
341
+ display_tech_types(tech_type, c.view_server, c.view_server_url,
342
+ c.userid, c.password)
343
+
344
+
345
+ @show.command('tech-type-elements')
346
+ @click.option('--tech_type', default='PostgreSQL Server', help='Specific tech type to get elements for')
347
+ @click.pass_context
348
+ def show_tech_type_elements(ctx, tech_type):
349
+ """List technology type elements"""
350
+ c = ctx.obj
351
+ tech_viewer(tech_type, c.view_server, c.view_server_url,
352
+ c.userid, c.password)
353
+
354
+
355
+ @show.command('tech-type-templates')
356
+ @click.option('--tech-type', default='PostgreSQL Server', help='Specific tech type to get elements for')
357
+ @click.pass_context
358
+ def show_tech_type_templates(ctx, tech_type):
359
+ """List technology type templates"""
360
+ c = ctx.obj
361
+ template_viewer(tech_type, c.view_server, c.view_server_url, c.userid,
362
+ c.password, c.jupyter, c.width)
363
+
364
+
365
+ @show.command('assets')
366
+ @click.argument('search-string')
367
+ @click.pass_context
368
+ def show_assets(ctx, search_string):
369
+ """Find and display assets
370
+
371
+ Usage: show assets <search-string>
372
+
373
+ search-string must be greater than four characters.
374
+ """
375
+ c = ctx.obj
376
+ display_assets(search_string, c.view_server, c.view_server_url, c.userid,
377
+ c.password, 60, c.jupyter, c.width)
378
+
379
+
380
+ @show.command('glossary-terms')
381
+ @click.option('--search-string', default='*',
382
+ help='List glossary terms similar to search string - minimum of 4 characters')
383
+ @click.option('--glossary_guid', default=None, help='Optionally restrict search to glossary with the specified guid')
384
+ @click.pass_context
385
+ def show_terms(ctx, search_string, glossary_guid):
386
+ """Find and display glossary terms"""
387
+ c = ctx.obj
388
+ display_glossary_terms(search_string, glossary_guid, c.view_server, c.view_server_url, c.userid,
389
+ c.password, c.jupyter, c.width)
390
+
391
+
392
+ @show.command('asset-graph')
393
+ @click.argument('asset_guid', nargs=1)
394
+ @click.pass_context
395
+ def show_asset_graph(ctx, asset_guid):
396
+ """Display a tree graph of information about an asset
397
+
398
+ Usage: show asset-graph <asset-guid>
399
+
400
+ asset-guid must be a valid asset guid. These can be found through other commands such as 'show tech-type-elements'
401
+
402
+ """
403
+ c = ctx.obj
404
+ asset_viewer(asset_guid, c.view_server, c.view_server_url, c.userid,
405
+ c.password, c.jupyter, c.width)
406
+
407
+
408
+ @show.command('collection')
409
+ @click.option('--root_collection', default='Root Sustainability Collection',
410
+ help='View of tree of collections from a given root')
411
+ @click.pass_context
412
+ def show_asset_graph(ctx, root_collection):
413
+ """Display a tree graph of information about an asset """
414
+ c = ctx.obj
415
+ collection_viewer(root_collection, c.view_server, c.view_server_url, c.userid,
416
+ c.password, c.jupyter, c.width)
417
+
418
+
419
+ @show.command('projects')
420
+ @click.option('--search-string', default='*',
421
+ help='List Projects by Search String')
422
+ @click.pass_context
423
+ def show_projects(ctx, search_string):
424
+ """Display a list of Egeria projects """
425
+ c = ctx.obj
426
+ display_project_list(search_string, c.view_server, c.view_server_url, c.userid,
427
+ c.password, False, c.jupyter, c.width)
428
+
429
+
430
+ @show.command('to-dos')
431
+ @click.option('--search-string', default='*',
432
+ help='View the list of To-Do items')
433
+ @click.pass_context
434
+ def show_todos(ctx, search_string):
435
+ """Display a tree graph of information about an asset """
436
+ c = ctx.obj
437
+ display_to_dos(search_string, c.view_server, c.view_server_url, c.userid,
438
+ c.password, c.jupyter, c.width)
439
+
440
+
441
+ #
442
+ # Catalog User: Tell
443
+ #
444
+
445
+ @catalog_user.group('tell')
446
+ @click.pass_context
447
+ def tell(ctx):
448
+ """Perform actions an Egeria Objects"""
449
+ pass
450
+
451
+
452
+ @tell.group('survey')
453
+ @click.pass_context
454
+ def survey(ctx):
455
+ """Refresh the specified integration connector or ALL connectors if not specified"""
456
+ c = ctx.obj
457
+ pass
458
+
459
+
460
+ @survey.command('survey-uc-server')
461
+ @click.pass_context
462
+ @click.option('--uc_endpoint', default='https://localhost:8080',
463
+ help="Endpoint of the Unity Catalog Server to Survey")
464
+ def survey_uc_server(ctx, uc_endpoint):
465
+ """Survey the Unity Catalog server at the given endpoint"""
466
+ c = ctx.obj
467
+ pass
468
+ # restart_connector(connector, c.integration_daemon, c.integration_daemon_url,
469
+ # c.userid, c.password)
470
+
471
+
472
+ #
473
+ # Operations: Show
474
+ #
475
+
476
+ @cli.group('operations')
477
+ @click.pass_context
478
+ def operations(ctx):
479
+ """ Commands to understand and manage operations"""
480
+ pass
481
+
482
+
483
+ @operations.group("show")
484
+ @click.pass_context
485
+ def show(ctx):
486
+ """Display an Egeria Object"""
487
+ pass
488
+
489
+
490
+ @show.group('platforms')
491
+ @click.pass_context
492
+ def show_platform(ctx):
493
+ """Group of commands to show information about Egeria platforms"""
494
+ pass
495
+
496
+
497
+ @show_platform.command('status')
498
+ @click.pass_context
499
+ def show_platform_status(ctx):
500
+ """Display a live status view of known platforms"""
501
+ c = ctx.obj
502
+ p_display_status(c.view_server, c.view_server_url,
503
+ c.admin_user, c.admin_user_password)
504
+
505
+
506
+ @show.group("servers")
507
+ @click.pass_context
508
+ def show_server(ctx):
509
+ """Group of commands to show information about Egeria servers"""
510
+ pass
511
+
512
+
513
+ @show_server.command('status')
514
+ @click.option('--full', is_flag=True, default=False, help='If True, full server descriptions will be shown')
515
+ @click.pass_context
516
+ def show_server_status(ctx, full):
517
+ """Display a live status view of Egeria servers for the specified Egeria platform"""
518
+ c = ctx.obj
519
+ if full:
520
+ display_list(c.metadata_store, c.metadata_store_url, c.admin_user, c.admin_user_password, c.jupyter, c.width)
521
+ else:
522
+ s_display_status(c.metadata_store, c.metadata_store_url, c.admin_user, c.admin_user_password, c.jupyter,
523
+ c.width)
524
+
525
+
526
+ @show.group("engines")
527
+ @click.pass_context
528
+ def engine_host(ctx):
529
+ """Group of commands to show information about Egeria engines"""
530
+ pass
531
+
532
+
533
+ @engine_host.command("status")
534
+ @click.option('--list', is_flag=True, default=False, help='If True, a paged list will be shown')
535
+ @click.pass_context
536
+ def gov_eng_status(ctx, list):
537
+ """Display engine-host status information"""
538
+ c = ctx.obj
539
+ display_gov_eng_status(c.engine_host, c.engine_host_url,
540
+ c.userid, c.password,
541
+ list, c.jupyter, c.width)
542
+
543
+
544
+ @engine_host.command('activity')
545
+ @click.option('--list', is_flag=True, default=False, help='If True, a paged list will be shown')
546
+ @click.pass_context
547
+ def eng_activity_status(ctx, list):
548
+ """Show Governance Activity in engine-host"""
549
+ c = ctx.obj
550
+ display_engine_activity(c.view_server, c.view_server_url,
551
+ c.admin_user, c.admin_user_password,
552
+ list, c.jupyter, c.width)
553
+
554
+
555
+ @show.group('integrations')
556
+ @click.pass_context
557
+ def integrations(ctx):
558
+ """Group of commands to show information about Egeria integrations"""
559
+ pass
560
+
561
+
562
+ @integrations.command("status")
563
+ @click.option('--list', is_flag=True, default=False, help='If True, a paged list will be shown')
564
+ @click.pass_context
565
+ def integrations_status(ctx, list):
566
+ """Display integration-daemon status information"""
567
+ c = ctx.obj
568
+ display_integration_daemon_status(c.integration_daemon, c.integration_daemon_url,
569
+ c.view_server, c.view_server_url,
570
+ c.userid, c.password, list, c.jupyter, c.width)
571
+
572
+
573
+ @integrations.command("targets")
574
+ @click.pass_context
575
+ @click.argument('connector', nargs=1)
576
+ def integrations_status(ctx, connector):
577
+ """Display Catalog Targets for a connector"""
578
+ c = ctx.obj
579
+ display_catalog_targets(connector, c.view_server, c.view_server_url,
580
+ c.userid, c.password, c.jupyter, c.width)
581
+
582
+
583
+ #
584
+ # Operations: Tell
585
+ #
586
+
587
+ @operations.group('tell')
588
+ @click.pass_context
589
+ def tell(ctx):
590
+ """Perform actions an Egeria Objects"""
591
+ pass
592
+
593
+
594
+ @tell.group('integration-daemon')
595
+ @click.pass_context
596
+ def integration_daemon(ctx):
597
+ """Group of commands to an integration-daemon"""
598
+ pass
599
+
600
+
601
+ @integration_daemon.command('refresh')
602
+ @click.pass_context
603
+ @click.option('--connector', default='all', help="Name of connector to refresh or 'all' to refresh all")
604
+ def refresh_connectors(ctx, connector):
605
+ """Refresh the specified integration connector or ALL connectors if not specified"""
606
+ c = ctx.obj
607
+ refresh_connector(connector, c.integration_daemon, c.integration_daemon_url,
608
+ c.userid, c.password)
609
+
610
+
611
+ @integration_daemon.command('restart')
612
+ @click.pass_context
613
+ @click.option('--connector', default='all', help="Name of connector to restart or 'all' to restart all")
614
+ def restart_connectors(ctx, connector):
615
+ """Restart the specified integration connector or ALL connectors if not specified"""
616
+ c = ctx.obj
617
+ restart_connector(connector, c.integration_daemon, c.integration_daemon_url,
618
+ c.userid, c.password)
619
+
620
+
621
+ integration_daemon.add_command(add_catalog_target)
622
+ integration_daemon.add_command(remove_catalog_target)
623
+ integration_daemon.add_command(update_catalog_target)
624
+ integration_daemon.add_command(stop_server)
625
+ integration_daemon.add_command(start_server)
626
+
627
+
628
+ @tell.group('engine-host')
629
+ @click.pass_context
630
+ def engine_host(ctx):
631
+ """Group of commands to an engine-host"""
632
+ pass
633
+
634
+
635
+ engine_host.add_command(start_engine_host)
636
+ engine_host.add_command(stop_engine_host)
637
+
638
+ tell.add_command(load_archive)
639
+
640
+ if __name__ == '__main__':
641
+ cli()
@@ -218,7 +218,7 @@ def survey(ctx):
218
218
  pass
219
219
 
220
220
 
221
- @survey.command('survey_uc_server')
221
+ @survey.command('survey-uc-server')
222
222
  @click.pass_context
223
223
  @click.option('--uc_endpoint', default='https://localhost:8080',
224
224
  help="Endpoint of the Unity Catalog Server to Survey")
@@ -16,7 +16,7 @@ from examples.widgets.cli.ops_config import Config
16
16
 
17
17
  from examples.widgets.personal.monitor_open_todos import display_todos
18
18
  from examples.widgets.personal.monitor_my_todos import display_my_todos
19
- from examples.widgets.personal.list_my_profile import display_my_profiles
19
+ from examples.widgets.personal.list_my_profile import display_my_profile
20
20
  from examples.widgets.personal.list_my_roles import display_my_roles
21
21
 
22
22
 
@@ -98,7 +98,7 @@ def show_my_profile(ctx):
98
98
 
99
99
  """
100
100
  c = ctx.obj
101
- display_my_profiles( c.view_server, c.view_server_url,
101
+ display_my_profile( c.view_server, c.view_server_url,
102
102
  c.userid, c.password, c.jupyter, c.width)
103
103
 
104
104
  @show.command('my-roles')
@@ -41,7 +41,7 @@ EGERIA_ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'secret')
41
41
  EGERIA_USER = os.environ.get('EGERIA_USER', 'erinoverview')
42
42
  EGERIA_USER_PASSWORD = os.environ.get('EGERIA_USER_PASSWORD', 'secret')
43
43
  EGERIA_JUPYTER = bool(os.environ.get('EGERIA_JUPYTER', 'False'))
44
- EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '250'))
44
+ EGERIA_WIDTH = int(os.environ.get('EGERIA_WIDTH', '200'))
45
45
 
46
46
  def display_my_profile(server: str, url: str, username: str, user_pass:str,
47
47
  jupyter:bool=EGERIA_JUPYTER, width:int = EGERIA_WIDTH):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pyegeria"
3
- version = "0.5.9.2"
3
+ version = "0.5.9.4"
4
4
  license = 'Apache 2.0'
5
5
  authors = ["Dan Wolfson <dan.wolfson@pdr-associates.com>"]
6
6
  readme = "README.md"
@@ -87,7 +87,8 @@ pytest = "^8.2.2"
87
87
  # egeria_cat_menu = "examples.widgets.cli.egeria_cat:menu"
88
88
  egeria_tech = "examples.widgets.cli.egeria_cat:cli"
89
89
  # egeria_tech_menu = "examples.widgets.cli.egeria_cat:menu"
90
- egeria_my = "examples.widgets.cli.egeria_my:cli"
90
+ egeria_per = "examples.widgets.cli.egeria_per:cli"
91
+ egeria = "examples.widgets.cli.egeria:cli"
91
92
 
92
93
  get_guid_info = "examples.widgets.tech.get_guid_info:main"
93
94
  get_tech_details = "examples.widgets.tech.get_tech_details:main"
File without changes
File without changes
File without changes