pyegeria 5.3.9.9.7__py3-none-any.whl → 5.4.0__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 (163) hide show
  1. commands/cat/debug_log +2806 -0
  2. commands/cat/debug_log.2025-07-15_14-28-38_087378.zip +0 -0
  3. commands/cat/debug_log.2025-07-16_15-48-50_037087.zip +0 -0
  4. commands/cat/dr_egeria_command_help.py +273 -0
  5. commands/cat/dr_egeria_md.py +90 -20
  6. commands/cat/glossary_actions.py +2 -2
  7. commands/cat/list_collections.py +24 -10
  8. commands/cat/list_data_designer.py +183 -0
  9. md_processing/__init__.py +28 -5
  10. md_processing/data/commands.json +31474 -1096
  11. md_processing/dr_egeria_outbox-pycharm/.obsidian/app.json +1 -0
  12. md_processing/dr_egeria_outbox-pycharm/.obsidian/appearance.json +1 -0
  13. md_processing/dr_egeria_outbox-pycharm/.obsidian/core-plugins.json +31 -0
  14. md_processing/dr_egeria_outbox-pycharm/.obsidian/workspace.json +177 -0
  15. md_processing/dr_egeria_outbox-pycharm/monday/processed-2025-07-14 12:38-data_designer_out.md +663 -0
  16. md_processing/dr_egeria_outbox-pycharm/thursday/processed-2025-07-17 15:00-Derive-Dr-Gov-Defs.md +719 -0
  17. md_processing/dr_egeria_outbox-pycharm/thursday/processed-2025-07-17 20:13-Derive-Dr-Gov-Defs.md +41 -0
  18. md_processing/dr_egeria_outbox-pycharm/thursday/processed-2025-07-17 20:14-Derive-Dr-Gov-Defs.md +33 -0
  19. md_processing/dr_egeria_outbox-pycharm/thursday/processed-2025-07-17 20:50-Derive-Dr-Gov-Defs.md +192 -0
  20. md_processing/dr_egeria_outbox-pycharm/tuesday/processed-2025-07-16 19:15-gov_def2.md +527 -0
  21. md_processing/dr_egeria_outbox-pycharm/tuesday/processed-2025-07-17 12:08-gov_def2.md +527 -0
  22. md_processing/dr_egeria_outbox-pycharm/tuesday/processed-2025-07-17 14:27-gov_def2.md +474 -0
  23. md_processing/family_docs/Data Designer/Create_Data_Class.md +164 -0
  24. md_processing/family_docs/Data Designer/Create_Data_Dictionary.md +30 -0
  25. md_processing/family_docs/Data Designer/Create_Data_Field.md +162 -0
  26. md_processing/family_docs/Data Designer/Create_Data_Specification.md +36 -0
  27. md_processing/family_docs/Data Designer/Create_Data_Structure.md +38 -0
  28. md_processing/family_docs/Data Designer/View_Data_Classes.md +78 -0
  29. md_processing/family_docs/Data Designer/View_Data_Dictionaries.md +78 -0
  30. md_processing/family_docs/Data Designer/View_Data_Fields.md +78 -0
  31. md_processing/family_docs/Data Designer/View_Data_Specifications.md +78 -0
  32. md_processing/family_docs/Data Designer/View_Data_Structures.md +78 -0
  33. md_processing/family_docs/Data Designer.md +842 -0
  34. md_processing/family_docs/Digital Product Manager/Add_Member->Collection.md +42 -0
  35. md_processing/family_docs/Digital Product Manager/Attach_Collection->Resource.md +36 -0
  36. md_processing/family_docs/Digital Product Manager/Create_Agreement.md +96 -0
  37. md_processing/family_docs/Digital Product Manager/Create_Data_Sharing_Agreement.md +72 -0
  38. md_processing/family_docs/Digital Product Manager/Create_DigitalSubscription.md +102 -0
  39. md_processing/family_docs/Digital Product Manager/Create_Digital_Product.md +134 -0
  40. md_processing/family_docs/Digital Product Manager/Link_Agreement_Items.md +60 -0
  41. md_processing/family_docs/Digital Product Manager/Link_Contracts.md +26 -0
  42. md_processing/family_docs/Digital Product Manager/Link_Digital_Product_-_Digital_Product.md +30 -0
  43. md_processing/family_docs/Digital Product Manager/Link_Subscribers.md +48 -0
  44. md_processing/family_docs/Digital Product Manager.md +668 -0
  45. md_processing/family_docs/Glossary/Attach_Category_Parent.md +18 -0
  46. md_processing/family_docs/Glossary/Attach_Term-Term_Relationship.md +26 -0
  47. md_processing/family_docs/Glossary/Create_Category.md +38 -0
  48. md_processing/family_docs/Glossary/Create_Glossary.md +42 -0
  49. md_processing/family_docs/Glossary/Create_Term.md +70 -0
  50. md_processing/family_docs/Glossary.md +206 -0
  51. md_processing/family_docs/Governance Officer/Create_Business_Imperative.md +106 -0
  52. md_processing/family_docs/Governance Officer/Create_Certification_Type.md +112 -0
  53. md_processing/family_docs/Governance Officer/Create_Governance_Approach.md +114 -0
  54. md_processing/family_docs/Governance Officer/Create_Governance_Obligation.md +114 -0
  55. md_processing/family_docs/Governance Officer/Create_Governance_Principle.md +114 -0
  56. md_processing/family_docs/Governance Officer/Create_Governance_Procedure.md +128 -0
  57. md_processing/family_docs/Governance Officer/Create_Governance_Process.md +122 -0
  58. md_processing/family_docs/Governance Officer/Create_Governance_Processing_Purpose.md +106 -0
  59. md_processing/family_docs/Governance Officer/Create_Governance_Responsibility.md +122 -0
  60. md_processing/family_docs/Governance Officer/Create_Governance_Rule.md +122 -0
  61. md_processing/family_docs/Governance Officer/Create_Governance_Strategy.md +106 -0
  62. md_processing/family_docs/Governance Officer/Create_License_Type.md +112 -0
  63. md_processing/family_docs/Governance Officer/Create_Naming_Standard_Rule.md +122 -0
  64. md_processing/family_docs/Governance Officer/Create_Regulation_Article.md +106 -0
  65. md_processing/family_docs/Governance Officer/Create_Regulation_Definition.md +118 -0
  66. md_processing/family_docs/Governance Officer/Create_Security_Access_Control.md +114 -0
  67. md_processing/family_docs/Governance Officer/Create_Security_Group.md +120 -0
  68. md_processing/family_docs/Governance Officer/Create_Service_Level_Objectives.md +122 -0
  69. md_processing/family_docs/Governance Officer/Create_Threat_Definition.md +106 -0
  70. md_processing/family_docs/Governance Officer/Link_Governance_Controls.md +32 -0
  71. md_processing/family_docs/Governance Officer/Link_Governance_Drivers.md +32 -0
  72. md_processing/family_docs/Governance Officer/Link_Governance_Policies.md +32 -0
  73. md_processing/family_docs/Governance Officer/View_Governance_Definitions.md +82 -0
  74. md_processing/family_docs/Governance Officer.md +2412 -0
  75. md_processing/family_docs/Solution Architect/Create_Information_Supply_Chain.md +70 -0
  76. md_processing/family_docs/Solution Architect/Create_Solution_Blueprint.md +44 -0
  77. md_processing/family_docs/Solution Architect/Create_Solution_Component.md +96 -0
  78. md_processing/family_docs/Solution Architect/Create_Solution_Role.md +66 -0
  79. md_processing/family_docs/Solution Architect/Link_Information_Supply_Chain_Peers.md +32 -0
  80. md_processing/family_docs/Solution Architect/Link_Solution_Component_Peers.md +32 -0
  81. md_processing/family_docs/Solution Architect/View_Information_Supply_Chains.md +32 -0
  82. md_processing/family_docs/Solution Architect/View_Solution_Blueprints.md +32 -0
  83. md_processing/family_docs/Solution Architect/View_Solution_Components.md +32 -0
  84. md_processing/family_docs/Solution Architect/View_Solution_Roles.md +32 -0
  85. md_processing/family_docs/Solution Architect.md +490 -0
  86. md_processing/md_commands/data_designer_commands.py +1192 -710
  87. md_processing/md_commands/glossary_commands.py +19 -32
  88. md_processing/md_commands/governance_officer_commands.py +420 -0
  89. md_processing/md_commands/product_manager_commands.py +1180 -0
  90. md_processing/md_commands/project_commands.py +5 -2
  91. md_processing/md_commands/solution_architect_commands.py +1140 -0
  92. md_processing/md_processing_utils/common_md_proc_utils.py +288 -96
  93. md_processing/md_processing_utils/common_md_utils.py +205 -6
  94. md_processing/md_processing_utils/debug_log +574 -0
  95. md_processing/md_processing_utils/dr-egeria-help-2025-07-17T17:22:09.md +2065 -0
  96. md_processing/md_processing_utils/extraction_utils.py +1 -1
  97. md_processing/md_processing_utils/generate_dr_help.py +165 -0
  98. md_processing/md_processing_utils/generate_md_cmd_templates.py +143 -0
  99. md_processing/md_processing_utils/generate_md_templates.py +92 -0
  100. md_processing/md_processing_utils/generated_help_terms.md +842 -0
  101. md_processing/md_processing_utils/md_processing_constants.py +94 -17
  102. pyegeria/__init__.py +1 -0
  103. pyegeria/_client.py +39 -1
  104. pyegeria/classification_manager_omvs.py +1 -1
  105. pyegeria/collection_manager_omvs.py +4667 -1178
  106. pyegeria/data_designer_omvs.py +348 -31
  107. pyegeria/egeria_tech_client.py +9 -25
  108. pyegeria/glossary_browser_omvs.py +5 -6
  109. pyegeria/glossary_manager_omvs.py +2 -2
  110. pyegeria/governance_officer_omvs.py +2367 -0
  111. pyegeria/output_formatter.py +157 -32
  112. pyegeria/solution_architect_omvs.py +5063 -1110
  113. pyegeria/utils.py +22 -2
  114. {pyegeria-5.3.9.9.7.dist-info → pyegeria-5.4.0.dist-info}/METADATA +3 -1
  115. pyegeria-5.4.0.dist-info/RECORD +243 -0
  116. {pyegeria-5.3.9.9.7.dist-info → pyegeria-5.4.0.dist-info}/entry_points.txt +5 -0
  117. commands/cat/.DS_Store +0 -0
  118. md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +0 -254
  119. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +0 -696
  120. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +0 -254
  121. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +0 -298
  122. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +0 -608
  123. md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +0 -94
  124. md_processing/dr_egeria_inbox/archive/freddie_intro.md +0 -284
  125. md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +0 -275
  126. md_processing/dr_egeria_inbox/archive/test-term.md +0 -110
  127. md_processing/dr_egeria_inbox/cat_test.md +0 -100
  128. md_processing/dr_egeria_inbox/data_field.md +0 -54
  129. md_processing/dr_egeria_inbox/data_spec.md +0 -77
  130. md_processing/dr_egeria_inbox/data_spec_test.md +0 -2406
  131. md_processing/dr_egeria_inbox/data_test.md +0 -86
  132. md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +0 -168
  133. md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +0 -280
  134. md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +0 -313
  135. md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +0 -1073
  136. md_processing/dr_egeria_inbox/dr_egeria_isc1.md +0 -44
  137. md_processing/dr_egeria_inbox/glossary_test1.md +0 -324
  138. md_processing/dr_egeria_inbox/rel.md +0 -8
  139. md_processing/dr_egeria_inbox/sb.md +0 -119
  140. md_processing/dr_egeria_inbox/search_test.md +0 -39
  141. md_processing/dr_egeria_inbox/solution-components.md +0 -154
  142. md_processing/dr_egeria_inbox/solution_blueprints.md +0 -118
  143. md_processing/dr_egeria_inbox/synonym_test.md +0 -42
  144. md_processing/dr_egeria_inbox/t1.md +0 -0
  145. md_processing/dr_egeria_inbox/t2.md +0 -268
  146. md_processing/dr_egeria_outbox/processed-2025-05-15 19:52-data_test.md +0 -94
  147. md_processing/dr_egeria_outbox/processed-2025-05-16 07:39-data_test.md +0 -88
  148. md_processing/dr_egeria_outbox/processed-2025-05-17 16:01-data_field.md +0 -56
  149. md_processing/dr_egeria_outbox/processed-2025-05-18 15:51-data_test.md +0 -103
  150. md_processing/dr_egeria_outbox/processed-2025-05-18 16:47-data_test.md +0 -94
  151. md_processing/dr_egeria_outbox/processed-2025-05-19 07:14-data_test.md +0 -96
  152. md_processing/dr_egeria_outbox/processed-2025-05-19 07:20-data_test.md +0 -100
  153. md_processing/dr_egeria_outbox/processed-2025-05-19 07:22-data_test.md +0 -88
  154. md_processing/dr_egeria_outbox/processed-2025-05-19 09:26-data_test.md +0 -91
  155. md_processing/dr_egeria_outbox/processed-2025-05-19 10:27-data_test.md +0 -91
  156. md_processing/dr_egeria_outbox/processed-2025-05-19 14:04-data_test.md +0 -91
  157. md_processing/md_commands/blueprint_commands.py +0 -303
  158. pyegeria/.DS_Store +0 -0
  159. pyegeria/m_test.py +0 -118
  160. pyegeria-5.3.9.9.7.dist-info/RECORD +0 -196
  161. /commands/cat/{list_data_structures.py → list_data_structures_full.py} +0 -0
  162. {pyegeria-5.3.9.9.7.dist-info → pyegeria-5.4.0.dist-info}/LICENSE +0 -0
  163. {pyegeria-5.3.9.9.7.dist-info → pyegeria-5.4.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,183 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+ List categories for a category.
7
+
8
+
9
+ A simple display for category terms
10
+ """
11
+ import argparse
12
+ import os
13
+ import sys
14
+ import time
15
+
16
+ from rich import box, print
17
+ from rich.console import Console
18
+ from rich.prompt import Prompt
19
+ from rich.table import Table
20
+ from rich.text import Text
21
+ from rich.console import Console
22
+ from rich.markdown import Markdown
23
+
24
+
25
+ from pyegeria import (
26
+ EgeriaTech,
27
+ InvalidParameterException,
28
+ PropertyServerException,
29
+ UserNotAuthorizedException,
30
+ print_exception_response,
31
+ NO_ELEMENTS_FOUND
32
+ )
33
+
34
+ disable_ssl_warnings = True
35
+
36
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
37
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
38
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
39
+ EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
40
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
41
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
42
+ )
43
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
44
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
45
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
46
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
47
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
48
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
49
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "150"))
50
+ EGERIA_category_PATH = os.environ.get("EGERIA_category_PATH", None)
51
+ EGERIA_ROOT_PATH = os.environ.get("EGERIA_ROOT_PATH", "../../")
52
+ EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "md_processing/dr_egeria_inbox")
53
+ EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "md_processing/dr_egeria_outbox")
54
+
55
+ console = Console(width=EGERIA_WIDTH)
56
+
57
+
58
+ def display_data_obj(
59
+ object_type: str,
60
+ search_string: str = "*",
61
+ view_server: str = EGERIA_VIEW_SERVER,
62
+ view_url: str = EGERIA_VIEW_SERVER_URL,
63
+ user: str = EGERIA_USER,
64
+ user_pass: str = EGERIA_USER_PASSWORD,
65
+ jupyter: bool = EGERIA_JUPYTER,
66
+ width: int = EGERIA_WIDTH,
67
+ output_format: str = "TABLE",
68
+ ):
69
+ """Display either a specified category or all categories if the search_string is '*'.
70
+ Parameters
71
+ ----------
72
+ object_type: str
73
+ The type of object to display,
74
+ search_string : str, default is '*'
75
+ The string used to search for categories.
76
+ view_server : str
77
+ The view server name or address where the Egeria services are hosted.
78
+ view_url : str
79
+ The URL of the platform the view server is on.
80
+ user : str
81
+ The user ID for authentication with the Egeria server.
82
+ user_pass : str
83
+ The password for authentication with the Egeria server.
84
+ jupyter : bool, optional
85
+ A boolean indicating whether the output is intended for a Jupyter notebook (default is EGERIA_JUPYTER).
86
+ width : int, optional
87
+ The width of the console output (default is EGERIA_WIDTH).
88
+ output_format: str, optional, default is 'JSON'
89
+ One of FORM, REPORT, TABLE
90
+ """
91
+ m_client = EgeriaTech(view_server, view_url, user_id=user, user_pwd=user_pass)
92
+ token = m_client.create_egeria_bearer_token()
93
+
94
+ match object_type:
95
+ case "Data Structures":
96
+ find_proc = m_client.find_data_structures
97
+ case "Data Fields":
98
+ find_proc = m_client.find_data_fields
99
+ case "Data Classes":
100
+ find_proc = m_client.find_data_classes
101
+ case _: #catch invalid patterns
102
+ print(f"Invalid object type: {object_type}")
103
+ return
104
+
105
+ try:
106
+ if not callable(find_proc):
107
+ raise TypeError(f"find_proc is not callable for object type '{object_type}'")
108
+
109
+ if output_format == "FORM":
110
+ action = "Update-Form"
111
+ elif output_format == "REPORT":
112
+ action = "Report"
113
+ if output_format != "TABLE":
114
+ file_path = os.path.join(EGERIA_ROOT_PATH, EGERIA_OUTBOX_PATH)
115
+ file_name = f"{object_type}-{time.strftime('%Y-%m-%d-%H-%M-%S')}-{action}.md"
116
+ full_file_path = os.path.join(file_path, file_name)
117
+ os.makedirs(os.path.dirname(full_file_path), exist_ok=True)
118
+ output = find_proc(search_string, output_format=output_format)
119
+ if output == NO_ELEMENTS_FOUND:
120
+ print(f"\n==> No elements found for search string '{search_string}'")
121
+ return
122
+ with open(full_file_path, 'w') as f:
123
+ f.write(output)
124
+ print(f"\n==> Elements output written to {full_file_path}")
125
+ return
126
+ else:
127
+ output =find_proc(search_string, output_format="LIST")
128
+ if output == NO_ELEMENTS_FOUND:
129
+ print(f"\n==> No elements found for search string '{search_string}'")
130
+ return
131
+ console.print(Markdown(output))
132
+ return
133
+
134
+
135
+
136
+
137
+ except (InvalidParameterException, PropertyServerException) as e:
138
+ print_exception_response(e)
139
+ finally:
140
+ m_client.close_session()
141
+
142
+
143
+ def main_structs():
144
+ main(object_type = "Data Structures")
145
+
146
+ def main_fields():
147
+ main(object_type = "Data Fields")
148
+
149
+ def main_classes():
150
+ main(object_type = "Data Classes")
151
+
152
+ def main(object_type: str="Data Fields"):
153
+ parser = argparse.ArgumentParser()
154
+ parser.add_argument("--kind", choices=["Data Structures", "Data Fields", "Data Classes"])
155
+ parser.add_argument("--server", help="Name of the server to display status for")
156
+ parser.add_argument("--url", help="URL Platform to connect to")
157
+ parser.add_argument("--userid", help="User Id")
158
+ parser.add_argument("--password", help="User Password")
159
+
160
+ args = parser.parse_args()
161
+
162
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
163
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
164
+ userid = args.userid if args.userid is not None else EGERIA_USER
165
+ user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
166
+ kind = args.kind if args.kind is not None else object_type
167
+
168
+ try:
169
+ search_string = Prompt.ask(
170
+ "Enter the element you are searching for or '*' for all:", default="*"
171
+ )
172
+ output_format = Prompt.ask("What output format do you want?", choices=["TABLE", "FORM", "REPORT"],
173
+ default="TABLE")
174
+
175
+ display_data_obj(kind, search_string, server, url, userid,
176
+ user_pass, output_format = output_format)
177
+
178
+ except KeyboardInterrupt:
179
+ pass
180
+
181
+
182
+ if __name__ == "__main__":
183
+ main()
md_processing/__init__.py CHANGED
@@ -1,13 +1,29 @@
1
1
  """
2
2
  This package contains functions to parse and process Egeria Markdown (Freddie)
3
3
  """
4
+ from md_processing.md_commands.governance_officer_commands import (process_gov_definition_upsert_command,
5
+ process_gov_def_link_detach_command,
6
+ process_gov_definition_list_command,
7
+ process_gov_def_context_command)
8
+
9
+
10
+ from md_processing.md_commands.product_manager_commands import (process_digital_product_upsert_command,
11
+ process_agreement_upsert_command)
12
+
13
+ from md_processing.md_commands.solution_architect_commands import (process_blueprint_upsert_command,
14
+ process_solution_component_upsert_command,
15
+ process_component_link_unlink_command,
16
+ process_information_supply_chain_upsert_command,
17
+ process_information_supply_chain_link_unlink_command,
18
+ process_sol_arch_list_command)
4
19
 
5
- from md_processing.md_commands.blueprint_commands import (process_blueprint_upsert_command,
6
- process_solution_component_upsert_command)
7
20
  from md_processing.md_commands.data_designer_commands import (process_data_field_upsert_command,
8
21
  process_data_spec_upsert_command,
9
22
  process_data_dict_upsert_command,
10
- process_data_dict_list_command,
23
+ process_data_collection_list_command,
24
+ process_data_structure_list_command,
25
+ process_data_field_list_command,
26
+ process_data_class_list_command,
11
27
  process_data_structure_upsert_command)
12
28
 
13
29
  from md_processing.md_commands.glossary_commands import (process_glossary_upsert_command, process_glossary_list_command,
@@ -26,7 +42,12 @@ from md_processing.md_processing_utils.common_md_utils import (render_markdown,
26
42
  console, debug_level, get_element_dictionary,
27
43
  update_element_dictionary, clear_element_dictionary,
28
44
  is_present, find_key_with_value,
29
- process_provenance_command)
45
+ process_provenance_command, set_metadata_source_request_body,
46
+ set_rel_request_body, set_filter_request_body,
47
+ set_update_body, set_peer_gov_def_request_body,
48
+ set_gov_prop_body, set_prop_body, set_create_body,
49
+
50
+ )
30
51
  from md_processing.md_processing_utils.extraction_utils import (extract_command_plus, extract_command,
31
52
  extract_attribute, process_simple_attribute,
32
53
  process_name_list, process_element_identifiers,
@@ -41,9 +62,11 @@ from md_processing.md_processing_utils.md_processing_constants import (ALWAYS, E
41
62
  SOLUTION_LINKING_ROLE_LABELS, OUTPUT_LABELS,
42
63
  SEARCH_LABELS, GUID_LABELS,
43
64
  ELEMENT_OUTPUT_FORMATS, TERM_RELATIONSHPS,
44
- command_list, COMMAND_DEFINITIONS)
65
+ command_list, COMMAND_DEFINITIONS, GOV_COM_LIST,
66
+ GOV_LINK_LIST)
45
67
  # Import functions from md_processing_constants
46
68
  from md_processing.md_processing_utils.md_processing_constants import (load_commands, get_command_spec, get_attribute,
47
69
  get_attribute_labels, get_alternate_names)
48
70
  # Import message constants
49
71
  from md_processing.md_processing_utils.message_constants import (message_types, ALWAYS, ERROR, INFO, WARNING)
72
+