pyegeria 5.4.7.8__py3-none-any.whl → 5.4.8__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 (49) hide show
  1. commands/cat/dr_egeria_command_help.py +1 -1
  2. commands/cat/list_collections.py +2 -2
  3. commands/cat/run_report.py +12 -12
  4. commands/ops/list_archives.py +1 -3
  5. md_processing/data/generated_format_sets.json +43 -43
  6. md_processing/md_commands/data_designer_commands.py +10 -10
  7. md_processing/md_commands/ext_ref_commands.py +2 -2
  8. md_processing/md_commands/glossary_commands.py +3 -3
  9. md_processing/md_commands/governance_officer_commands.py +2 -2
  10. md_processing/md_commands/product_manager_commands.py +8 -8
  11. md_processing/md_commands/project_commands.py +2 -2
  12. md_processing/md_commands/solution_architect_commands.py +3 -3
  13. md_processing/md_commands/view_commands.py +7 -7
  14. md_processing/md_processing_utils/common_md_proc_utils.py +8 -8
  15. md_processing/md_processing_utils/gen_format_sets.py +12 -12
  16. md_processing/md_processing_utils/generate_dr_help.py +1 -1
  17. pyegeria/__init__.py +3 -3
  18. pyegeria/_base_client.py +564 -0
  19. pyegeria/_client_new.py +3378 -722
  20. pyegeria/_output_format_models.py +41 -16
  21. pyegeria/_output_formats.py +9 -2642
  22. pyegeria/automated_curation.py +90 -81
  23. pyegeria/base_report_formats.py +2835 -0
  24. pyegeria/classification_manager.py +184 -199
  25. pyegeria/classification_manager_omvs.py +45 -69
  26. pyegeria/collection_manager.py +87 -75
  27. pyegeria/data_designer.py +110 -110
  28. pyegeria/egeria_cat_client.py +23 -67
  29. pyegeria/egeria_client.py +2 -2
  30. pyegeria/egeria_tech_client.py +2 -2
  31. pyegeria/{external_references.py → external_links.py} +33 -34
  32. pyegeria/feedback_manager.py +191 -3931
  33. pyegeria/feedback_manager_omvs.py +104 -306
  34. pyegeria/format_set_executor.py +16 -16
  35. pyegeria/glossary_manager.py +30 -30
  36. pyegeria/governance_officer.py +22 -22
  37. pyegeria/mcp_adapter.py +6 -6
  38. pyegeria/output_formatter.py +59 -43
  39. pyegeria/platform_services.py +2 -1
  40. pyegeria/project_manager.py +45 -45
  41. pyegeria/reference_data.py +28 -28
  42. pyegeria/solution_architect.py +73 -73
  43. {pyegeria-5.4.7.8.dist-info → pyegeria-5.4.8.dist-info}/METADATA +33 -3
  44. {pyegeria-5.4.7.8.dist-info → pyegeria-5.4.8.dist-info}/RECORD +48 -47
  45. pyegeria/egeria_my_client.py +0 -91
  46. {pyegeria-5.4.7.8.dist-info → pyegeria-5.4.8.dist-info}/WHEEL +0 -0
  47. {pyegeria-5.4.7.8.dist-info → pyegeria-5.4.8.dist-info}/entry_points.txt +0 -0
  48. {pyegeria-5.4.7.8.dist-info → pyegeria-5.4.8.dist-info}/licenses/LICENSE +0 -0
  49. {pyegeria-5.4.7.8.dist-info → pyegeria-5.4.8.dist-info}/top_level.txt +0 -0
@@ -26,12 +26,12 @@ from pyegeria.governance_officer import GovernanceOfficer
26
26
  from pyegeria.glossary_manager import GlossaryManager
27
27
  from pyegeria._globals import NO_ELEMENTS_FOUND
28
28
  from pyegeria.config import settings
29
- from pyegeria.external_references import ExternalReferences
29
+ from pyegeria.external_links import ExternalReferences
30
30
  from pyegeria._exceptions_new import PyegeriaException
31
- from pyegeria._output_formats import (
32
- select_output_format_set,
33
- get_output_format_set_heading,
34
- get_output_format_set_description,
31
+ from pyegeria.base_report_formats import (
32
+ select_report_spec,
33
+ get_report_spec_heading,
34
+ get_report_spec_description,
35
35
  )
36
36
 
37
37
 
@@ -95,7 +95,7 @@ async def _async_run_report(
95
95
  user_pwd = egeria_client.user_pwd
96
96
 
97
97
  # Resolve the format set and action
98
- fmt = select_output_format_set(report_name, output_format)
98
+ fmt = select_report_spec(report_name, output_format)
99
99
  if not fmt:
100
100
  raise ValueError(
101
101
  f"Output format set '{report_name}' does not have a compatible '{output_format}' format."
@@ -133,9 +133,9 @@ async def _async_run_report(
133
133
  # Include fixed specifics
134
134
  call_params.update(spec_params)
135
135
 
136
- # Always include output_format and output_format_set for downstream rendering
136
+ # Always include output_format and report_spec for downstream rendering
137
137
  call_params["output_format"] = output_format
138
- call_params["output_format_set"] = report_name
138
+ call_params["report_spec"] = report_name
139
139
 
140
140
  client_class, method_name = _resolve_client_and_method(func_decl)
141
141
 
@@ -173,8 +173,8 @@ async def _async_run_report(
173
173
  return {"kind": "empty"}
174
174
 
175
175
  # Prepare optional preamble for narrative outputs
176
- heading = get_output_format_set_heading(report_name)
177
- desc = get_output_format_set_description(report_name)
176
+ heading = get_report_spec_heading(report_name)
177
+ desc = get_report_spec_description(report_name)
178
178
  preamble = f"# {heading}\n{desc}\n\n" if heading and desc else ""
179
179
 
180
180
  if output_format in {"DICT", "JSON", "ALL"}:
@@ -201,7 +201,7 @@ async def _async_run_report(
201
201
 
202
202
 
203
203
 
204
- def exec_format_set(
204
+ def exec_report_spec(
205
205
  format_set_name: str,
206
206
  *,
207
207
  output_format: str = "DICT",
@@ -224,7 +224,7 @@ def exec_format_set(
224
224
  params = dict(params or {})
225
225
 
226
226
  # Resolve the format set and action
227
- fmt = select_output_format_set(format_set_name, output_format)
227
+ fmt = select_report_spec(format_set_name, output_format)
228
228
  if not fmt:
229
229
  raise ValueError(
230
230
  f"Output format set '{format_set_name}' does not have a compatible '{output_format}' format."
@@ -255,9 +255,9 @@ def exec_format_set(
255
255
  # Include fixed specifics
256
256
  call_params.update(spec_params)
257
257
 
258
- # Always include output_format and output_format_set for downstream rendering
258
+ # Always include output_format and report_spec for downstream rendering
259
259
  call_params["output_format"] = output_format
260
- call_params["output_format_set"] = format_set_name
260
+ call_params["report_spec"] = format_set_name
261
261
 
262
262
  client_class, method_name = _resolve_client_and_method(func_decl)
263
263
  client = client_class(view_server, view_url, user_id=user, user_pwd=user_pass)
@@ -276,8 +276,8 @@ def exec_format_set(
276
276
  return {"kind": "empty"}
277
277
 
278
278
  # Prepare optional preamble for narrative outputs
279
- heading = get_output_format_set_heading(format_set_name)
280
- desc = get_output_format_set_description(format_set_name)
279
+ heading = get_report_spec_heading(format_set_name)
280
+ desc = get_report_spec_description(format_set_name)
281
281
  preamble = f"# {heading}\n{desc}\n\n" if heading and desc else ""
282
282
 
283
283
  if output_format in {"DICT", "JSON", "ALL"}:
@@ -27,7 +27,7 @@ from pyegeria.models import (NewElementRequestBody,
27
27
  ReferenceableProperties, UpdateElementRequestBody, DeleteRequestBody, TemplateRequestBody,
28
28
  NewRelationshipRequestBody, UpdateRelationshipRequestBody, NewClassificationRequestBody,
29
29
  FilterRequestBody, GetRequestBody, SearchStringRequestBody, UpdateStatusRequestBody)
30
- from pyegeria._output_formats import select_output_format_set, get_output_format_type_match
30
+ from pyegeria.base_report_formats import select_report_spec, get_report_spec_match
31
31
  from pyegeria.output_formatter import (generate_output,
32
32
  _extract_referenceable_properties, populate_columns_from_properties,
33
33
  get_required_relationships, populate_common_columns, overlay_additional_values, resolve_output_formats)
@@ -2510,7 +2510,7 @@ class GlossaryManager(CollectionManager):
2510
2510
  # Use centralized population
2511
2511
  col_data = populate_common_columns(element, columns_struct)
2512
2512
  # Term-specific classifications (collectionCategories) to 'classifications' column
2513
- columns_list = col_data.get('formats', {}).get('columns', [])
2513
+ columns_list = col_data.get('formats', {}).get('attributes', [])
2514
2514
  try:
2515
2515
  classification_names = ""
2516
2516
  classifications = element.get('elementHeader', {}).get("collectionCategories", [])
@@ -2568,9 +2568,9 @@ class GlossaryManager(CollectionManager):
2568
2568
  def _generate_glossary_output(self, elements: dict | list[dict], search_string: str,
2569
2569
  element_type_name: str | None,
2570
2570
  output_format: str = 'DICT',
2571
- output_format_set: dict | str = None) -> str | list[dict]:
2571
+ report_spec: dict | str = None) -> str | list[dict]:
2572
2572
  entity_type = 'Glossary'
2573
- output_formats = resolve_output_formats(entity_type, output_format, output_format_set)
2573
+ output_formats = resolve_output_formats(entity_type, output_format, report_spec)
2574
2574
  return generate_output(
2575
2575
  elements=elements,
2576
2576
  search_string=search_string,
@@ -2584,9 +2584,9 @@ class GlossaryManager(CollectionManager):
2584
2584
  def _generate_term_output(self, elements: dict | list[dict], search_string: str,
2585
2585
  element_type_name: str | None,
2586
2586
  output_format: str = 'DICT',
2587
- output_format_set: dict | str = None) -> str | list[dict]:
2587
+ report_spec: dict | str = None) -> str | list[dict]:
2588
2588
  entity_type = 'GlossaryTerm'
2589
- output_formats = resolve_output_formats(entity_type, output_format, output_format_set)
2589
+ output_formats = resolve_output_formats(entity_type, output_format, report_spec)
2590
2590
  return generate_output(
2591
2591
  elements=elements,
2592
2592
  search_string=search_string,
@@ -2645,56 +2645,56 @@ class GlossaryManager(CollectionManager):
2645
2645
  metadata_element_types: list[str] = ["Glossary"],
2646
2646
  starts_with: bool = False, ends_with: bool = False, ignore_case: bool = False,
2647
2647
  start_from: int = 0,page_size: int = 0, output_format: str = 'JSON',
2648
- output_format_set: str | dict = None,
2648
+ report_spec: str | dict = None,
2649
2649
  body: dict | SearchStringRequestBody = None) -> list | str:
2650
2650
 
2651
2651
  response = await self._async_find_collections(search_string, classificaton_names,
2652
2652
  metadata_element_types, starts_with, ends_with, ignore_case,
2653
- start_from, page_size, output_format, output_format_set, body)
2653
+ start_from, page_size, output_format, report_spec, body)
2654
2654
  return response
2655
2655
 
2656
2656
  def find_glossaries(self, search_string: str = "*", classificaton_names: list[str] = None,
2657
2657
  metadata_element_types: list[str] = ["Glossary"],
2658
2658
  starts_with: bool = False, ends_with: bool = False, ignore_case: bool = False,
2659
2659
  start_from: int = 0,page_size: int = 0, output_format: str = 'JSON',
2660
- output_format_set: str | dict = None,
2660
+ report_spec: str | dict = None,
2661
2661
  body: dict | SearchStringRequestBody = None) -> list | str:
2662
2662
  loop = asyncio.get_event_loop()
2663
2663
  response = loop.run_until_complete(
2664
- self._async_find_glossaries(search_string, classificaton_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, output_format_set, body))
2664
+ self._async_find_glossaries(search_string, classificaton_names, metadata_element_types, starts_with, ends_with, ignore_case, start_from, page_size, output_format, report_spec, body))
2665
2665
  return response
2666
2666
 
2667
2667
  async def _async_get_glossaries_by_name(self, filter_string: str = None, classification_names: list[str] = None,
2668
2668
  body: dict | FilterRequestBody = None,
2669
2669
  start_from: int = 0, page_size: int = 0,
2670
2670
  output_format: str = 'JSON',
2671
- output_format_set: str | dict = None) -> dict | str:
2672
- return await self._async_get_collections_by_name(filter_string, classification_names, body, start_from, page_size, output_format, output_format_set)
2671
+ report_spec: str | dict = None) -> dict | str:
2672
+ return await self._async_get_collections_by_name(filter_string, classification_names, body, start_from, page_size, output_format, report_spec)
2673
2673
 
2674
2674
 
2675
2675
  def get_glossaries_by_name(self, filter_string: str = None, classification_names: list[str] = None,
2676
2676
  body: dict | FilterRequestBody = None,
2677
2677
  start_from: int = 0, page_size: int = 0,
2678
2678
  output_format: str = 'JSON',
2679
- output_format_set: str | dict = None) -> dict | str:
2679
+ report_spec: str | dict = None) -> dict | str:
2680
2680
  loop = asyncio.get_event_loop()
2681
2681
  response = loop.run_until_complete(
2682
2682
  self._async_get_glossaries_by_name(filter_string, classification_names, body,start_from, page_size,
2683
- output_format, output_format_set))
2683
+ output_format, report_spec))
2684
2684
  return response
2685
2685
 
2686
2686
  async def _async_get_glossary_by_guid(self, glossary_guid: str, element_type: str = "Glossary", body: dict | GetRequestBody = None,
2687
- output_format: str = "JSON", output_format_set: str | dict = None) -> dict | str:
2687
+ output_format: str = "JSON", report_spec: str | dict = None) -> dict | str:
2688
2688
 
2689
- return await self._async_get_collection_by_guid(glossary_guid, element_type, body, output_format, output_format_set)
2689
+ return await self._async_get_collection_by_guid(glossary_guid, element_type, body, output_format, report_spec)
2690
2690
 
2691
2691
 
2692
2692
 
2693
2693
  def get_glossary_by_guid(self, glossary_guid: str, element_type: str = "Glossary", body: dict| GetRequestBody=None,
2694
- output_format: str = "JSON", output_format_set: str | dict = None) -> dict | str:
2694
+ output_format: str = "JSON", report_spec: str | dict = None) -> dict | str:
2695
2695
  loop = asyncio.get_event_loop()
2696
2696
  response = loop.run_until_complete(
2697
- self._async_get_glossary_by_guid(glossary_guid, element_type, body,output_format, output_format_set))
2697
+ self._async_get_glossary_by_guid(glossary_guid, element_type, body,output_format, report_spec))
2698
2698
  return response
2699
2699
 
2700
2700
 
@@ -2703,7 +2703,7 @@ class GlossaryManager(CollectionManager):
2703
2703
  body: dict | FilterRequestBody = None,
2704
2704
  start_from: int = 0, page_size: int = 0,
2705
2705
  output_format: str = 'JSON',
2706
- output_format_set: str | dict = None) -> list:
2706
+ report_spec: str | dict = None) -> list:
2707
2707
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/glossary-manager/glossaries/"
2708
2708
  f"terms/by-name")
2709
2709
  response = await self._async_get_name_request(url, _type="GlossaryTerm",
@@ -2711,7 +2711,7 @@ class GlossaryManager(CollectionManager):
2711
2711
  filter_string=filter_string,
2712
2712
  classification_names=classification_names,
2713
2713
  start_from=start_from, page_size=page_size,
2714
- output_format=output_format, output_format_set=output_format_set,
2714
+ output_format=output_format, report_spec=report_spec,
2715
2715
  body=body)
2716
2716
  return response
2717
2717
 
@@ -2719,34 +2719,34 @@ class GlossaryManager(CollectionManager):
2719
2719
  body: dict | FilterRequestBody = None,
2720
2720
  start_from: int = 0, page_size: int = 0,
2721
2721
  output_format: str = 'JSON',
2722
- output_format_set: str | dict = None) -> list:
2722
+ report_spec: str | dict = None) -> list:
2723
2723
  loop = asyncio.get_event_loop()
2724
2724
  response = loop.run_until_complete(
2725
2725
  self._async_get_terms_by_name(filter_string, classification_names, body,start_from, page_size,
2726
- output_format, output_format_set))
2726
+ output_format, report_spec))
2727
2727
  return response
2728
2728
 
2729
2729
  async def _async_get_term_by_guid(self, term_guid: str, element_type: str = "GlossaryTerm", body: dict| GetRequestBody=None,
2730
- output_format: str = "JSON", output_format_set: str | dict = None) -> dict | str:
2730
+ output_format: str = "JSON", report_spec: str | dict = None) -> dict | str:
2731
2731
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/glossary-manager/glossaries/terms/"
2732
2732
  f"{term_guid}")
2733
2733
  response = await self._async_get_guid_request(url, _type=element_type,
2734
2734
  _gen_output=self._generate_term_output,
2735
- output_format=output_format, output_format_set=output_format_set,
2735
+ output_format=output_format, report_spec=report_spec,
2736
2736
  body=body)
2737
2737
  return response
2738
2738
 
2739
2739
  def get_term_by_guid(self, term_guid: str, element_type: str = "GlossaryTerm", body: dict| GetRequestBody=None,
2740
- output_format: str = "JSON", output_format_set: str | dict = None) -> dict | str:
2740
+ output_format: str = "JSON", report_spec: str | dict = None) -> dict | str:
2741
2741
  loop = asyncio.get_event_loop()
2742
- response = loop.run_until_complete(self._async_get_term_by_guid(term_guid, element_type, body, output_format, output_format_set))
2742
+ response = loop.run_until_complete(self._async_get_term_by_guid(term_guid, element_type, body, output_format, report_spec))
2743
2743
  return response
2744
2744
 
2745
2745
  async def _async_find_glossary_terms(self, search_string: str, starts_with: bool = True,
2746
2746
  ends_with: bool = False, ignore_case: bool = False, type_name: str = "GlossaryTerm",
2747
2747
  classification_names: list[str] = None, start_from: int = 0,
2748
2748
  page_size: int = 0, output_format: str = 'JSON',
2749
- output_format_set: str | dict = "Glossary-Term-DrE", body: dict = None) -> list | str:
2749
+ report_spec: str | dict = "Glossary-Term-DrE", body: dict = None) -> list | str:
2750
2750
  url = (f"{self.platform_url}/servers/{self.view_server}/api/open-metadata/glossary-manager/glossaries/terms/"
2751
2751
  f"by-search-string")
2752
2752
  response = await self._async_find_request(url, _type= type_name,
@@ -2755,7 +2755,7 @@ class GlossaryManager(CollectionManager):
2755
2755
  metadata_element_types = ["GlossaryTerm"],
2756
2756
  starts_with = starts_with, ends_with = ends_with, ignore_case = ignore_case,
2757
2757
  start_from = start_from, page_size = page_size,
2758
- output_format=output_format, output_format_set=output_format_set,
2758
+ output_format=output_format, report_spec=report_spec,
2759
2759
  body=body)
2760
2760
  return response
2761
2761
 
@@ -2763,13 +2763,13 @@ class GlossaryManager(CollectionManager):
2763
2763
  ends_with: bool = False, ignore_case: bool = False, type_name: str = "GlossaryTerm",
2764
2764
  classification_names: list[str] = None, start_from: int = 0,
2765
2765
  page_size: int = 0, output_format: str = 'JSON',
2766
- output_format_set: str | dict = None, body: dict = None) -> list | str:
2766
+ report_spec: str | dict = None, body: dict = None) -> list | str:
2767
2767
  loop = asyncio.get_event_loop()
2768
2768
  response = loop.run_until_complete(
2769
2769
  self._async_find_glossary_terms(search_string, starts_with,
2770
2770
  ends_with, ignore_case, type_name,classification_names,
2771
2771
  start_from,
2772
- page_size, output_format, output_format_set, body))
2772
+ page_size, output_format, report_spec, body))
2773
2773
  return response
2774
2774
 
2775
2775
 
@@ -24,7 +24,7 @@ from pyegeria.output_formatter import (
24
24
  get_required_relationships,
25
25
  populate_common_columns,
26
26
  )
27
- from pyegeria._output_formats import select_output_format_set, get_output_format_type_match
27
+ from pyegeria.base_report_formats import select_report_spec, get_report_spec_match
28
28
 
29
29
  sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
30
30
  from pyegeria._exceptions_new import PyegeriaInvalidParameterException
@@ -106,7 +106,7 @@ class GovernanceOfficer(Client2):
106
106
  # Extract properties functions
107
107
  #
108
108
  def _generate_governance_definition_output(self, elements: list | dict, search_string: str, element_type_name: str = None,
109
- output_format: str = 'DICT', output_format_set: dict | str = None
109
+ output_format: str = 'DICT', report_spec: dict | str = None
110
110
  ) -> str | list:
111
111
  """
112
112
  Render governance definitions using the shared output pipeline.
@@ -121,7 +121,7 @@ class GovernanceOfficer(Client2):
121
121
  Friendly type label to display (defaults to "Governance Definition").
122
122
  output_format : str
123
123
  One of: MD, FORM, REPORT, LIST, DICT, MERMAID, HTML.
124
- output_format_set : dict | str, optional
124
+ report_spec : dict | str, optional
125
125
  Either a label for a format set or a concrete format-set dict. When omitted, a sensible
126
126
  default for Governance Definitions is chosen, falling back to "Default".
127
127
 
@@ -136,18 +136,18 @@ class GovernanceOfficer(Client2):
136
136
 
137
137
  entity_type = element_type_name if element_type_name else "Governance Definition"
138
138
  # Resolve columns_struct via output format sets
139
- if output_format_set:
140
- if isinstance(output_format_set, str):
141
- output_formats = select_output_format_set(output_format_set, output_format)
142
- elif isinstance(output_format_set, dict):
143
- output_formats = get_output_format_type_match(output_format_set, output_format)
139
+ if report_spec:
140
+ if isinstance(report_spec, str):
141
+ output_formats = select_report_spec(report_spec, output_format)
142
+ elif isinstance(report_spec, dict):
143
+ output_formats = get_report_spec_match(report_spec, output_format)
144
144
  else:
145
145
  output_formats = None
146
146
  else:
147
147
  # Default to the Governance Definitions format set
148
- output_formats = select_output_format_set("Governance Definitions", output_format)
148
+ output_formats = select_report_spec("Governance Definitions", output_format)
149
149
  if output_formats is None:
150
- output_formats = select_output_format_set("Default", output_format)
150
+ output_formats = select_report_spec("Default", output_format)
151
151
 
152
152
  logger.trace(f"Executing generate_governance_definition_output: {output_formats}")
153
153
  return generate_output(
@@ -1672,7 +1672,7 @@ class GovernanceOfficer(Client2):
1672
1672
  starts_with: bool = True,
1673
1673
  ends_with: bool = False, ignore_case: bool = False,
1674
1674
  start_from: int = 0, page_size: int = 0,
1675
- output_format: str = 'JSON', output_format_set: dict = None,
1675
+ output_format: str = 'JSON', report_spec: dict = None,
1676
1676
  body: dict | SearchStringRequestBody = None,
1677
1677
  ) -> list | str:
1678
1678
  """ Retrieve the list of governance definition metadata elements that contain the search string.
@@ -1741,7 +1741,7 @@ class GovernanceOfficer(Client2):
1741
1741
  metadata_element_types=metadata_element_types,
1742
1742
  starts_with=starts_with, ends_with=ends_with, ignore_case=ignore_case,
1743
1743
  start_from=start_from, page_size=page_size,
1744
- output_format=output_format, output_format_set=output_format_set,
1744
+ output_format=output_format, report_spec=report_spec,
1745
1745
  body=body)
1746
1746
 
1747
1747
  @dynamic_catch
@@ -1749,7 +1749,7 @@ class GovernanceOfficer(Client2):
1749
1749
  metadata_element_types: list[str] = None,
1750
1750
  starts_with: bool = True, ends_with: bool = False,
1751
1751
  ignore_case: bool = False, start_from: int = 0, page_size: int = 0,
1752
- output_format: str = 'JSON', output_format_set: dict = None,
1752
+ output_format: str = 'JSON', report_spec: dict = None,
1753
1753
  body: dict | SearchStringRequestBody = None, ) -> list | str:
1754
1754
  """ Retrieve the list of governance definition metadata elements that contain the search string.
1755
1755
 
@@ -1810,7 +1810,7 @@ class GovernanceOfficer(Client2):
1810
1810
  response = loop.run_until_complete(
1811
1811
  self._async_find_governance_definitions(search_string, classification_names, metadata_element_types,
1812
1812
  starts_with, ends_with, ignore_case, start_from,
1813
- page_size, output_format, output_format_set, body))
1813
+ page_size, output_format, report_spec, body))
1814
1814
  return response
1815
1815
 
1816
1816
  @dynamic_catch
@@ -1819,7 +1819,7 @@ class GovernanceOfficer(Client2):
1819
1819
  body: dict | FilterRequestBody = None,
1820
1820
  start_from: int = 0, page_size: int = 0,
1821
1821
  output_format: str = "JSON",
1822
- output_format_set: dict = None) -> list | str:
1822
+ report_spec: dict = None) -> list | str:
1823
1823
  """ Returns the list of governance definitions with a particular name. Async Version.
1824
1824
 
1825
1825
  Parameters
@@ -1877,7 +1877,7 @@ class GovernanceOfficer(Client2):
1877
1877
  filter_string=filter_string,
1878
1878
  classification_names=classification_names,
1879
1879
  start_from=start_from, page_size=page_size,
1880
- output_format=output_format, output_format_set=output_format_set,
1880
+ output_format=output_format, report_spec=report_spec,
1881
1881
  body=body)
1882
1882
 
1883
1883
  return response
@@ -1887,7 +1887,7 @@ class GovernanceOfficer(Client2):
1887
1887
  body: dict | FilterRequestBody = None,
1888
1888
  start_from: int = 0, page_size: int = 0,
1889
1889
  output_format: str = "JSON",
1890
- output_format_set: dict = None) -> list | str:
1890
+ report_spec: dict = None) -> list | str:
1891
1891
  """ Returns the list of governance definitions with a particular name."""
1892
1892
 
1893
1893
  """ Returns the list of information governance definitions with a particular name. Async Version.
@@ -1947,14 +1947,14 @@ class GovernanceOfficer(Client2):
1947
1947
  loop = asyncio.get_event_loop()
1948
1948
  response = loop.run_until_complete(
1949
1949
  self._async_get_governance_definitions_by_name(filter_string, classification_names, body,
1950
- start_from, page_size, output_format, output_format_set))
1950
+ start_from, page_size, output_format, report_spec))
1951
1951
  return response
1952
1952
 
1953
1953
  @dynamic_catch
1954
1954
  async def _async_get_governance_definition_by_guid(self, guid: str, element_type: str = None,
1955
1955
  body: dict | FilterRequestBody = None,
1956
1956
  output_format: str = "JSON",
1957
- output_format_set: dict = None) -> dict | str:
1957
+ report_spec: dict = None) -> dict | str:
1958
1958
 
1959
1959
  """ Get governance definition by guid.
1960
1960
  Async version.
@@ -2008,7 +2008,7 @@ class GovernanceOfficer(Client2):
2008
2008
 
2009
2009
  response = await self._async_get_guid_request(url, _type=type,
2010
2010
  _gen_output=self._generate_governance_definition_output,
2011
- output_format=output_format, output_format_set=output_format_set,
2011
+ output_format=output_format, report_spec=report_spec,
2012
2012
  body=body)
2013
2013
 
2014
2014
  return response
@@ -2016,7 +2016,7 @@ class GovernanceOfficer(Client2):
2016
2016
  @dynamic_catch
2017
2017
  def get_governance_definition_by_guid(self, guid: str, element_type: str = None, body: dict = None,
2018
2018
  output_format: str = "JSON",
2019
- output_format_set: dict = None) -> dict | str:
2019
+ report_spec: dict = None) -> dict | str:
2020
2020
 
2021
2021
  """ Get governance definition by guid.
2022
2022
 
@@ -2063,7 +2063,7 @@ class GovernanceOfficer(Client2):
2063
2063
  loop = asyncio.get_event_loop()
2064
2064
  response = loop.run_until_complete(self._async_get_governance_definition_by_guid(guid, element_type, body,
2065
2065
  output_format,
2066
- output_format_set))
2066
+ report_spec))
2067
2067
  return response
2068
2068
 
2069
2069
  @dynamic_catch
pyegeria/mcp_adapter.py CHANGED
@@ -15,12 +15,12 @@ from typing import Any, Dict, Optional
15
15
 
16
16
  from loguru import logger
17
17
 
18
- from pyegeria._output_formats import (
18
+ from pyegeria.base_report_formats import (
19
19
  list_mcp_format_sets,
20
- select_output_format_set,
20
+ select_report_spec,
21
21
  )
22
22
  from pyegeria.egeria_tech_client import EgeriaTech
23
- from pyegeria.format_set_executor import exec_format_set, _async_run_report
23
+ from pyegeria.format_set_executor import exec_report_spec, _async_run_report
24
24
 
25
25
 
26
26
  def list_reports() -> dict:
@@ -33,7 +33,7 @@ def describe_report(name: str, output_type: str = "DICT") -> Dict[str, Any]:
33
33
  Describe a format set for MCP discovery. If outputType != ANY, a concrete format
34
34
  will be resolved; otherwise only metadata/action are returned.
35
35
  """
36
- meta = select_output_format_set(name, output_type)
36
+ meta = select_report_spec(name, output_type)
37
37
  if not meta:
38
38
  raise ValueError(f"Unknown or incompatible format set: {name}")
39
39
  return meta
@@ -62,7 +62,7 @@ def _execute_egeria_call_blocking(
62
62
  from pyegeria.config import settings as _settings
63
63
 
64
64
 
65
- return exec_format_set(
65
+ return exec_report_spec(
66
66
  format_set_name=report,
67
67
  output_format="DICT",
68
68
  params=params or {},
@@ -97,7 +97,7 @@ def run_report(
97
97
  # Lazy import of settings to avoid circulars when optional args are None
98
98
  from pyegeria.config import settings as _settings
99
99
  logger.info(f"Format set: {report}\nparams: {json.dumps(params)}\nview_server: {view_server}\nview_url: {view_url}\nuser: {user}\nuser_pass: {user_pass}")
100
- return exec_format_set(
100
+ return exec_report_spec(
101
101
  format_set_name=report,
102
102
  output_format="DICT",
103
103
  params=params or {},