pyegeria 5.4.0.4__py3-none-any.whl → 5.4.0.6__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.
@@ -14,7 +14,8 @@ from httpx import Response
14
14
  from loguru import logger
15
15
  from prompt_toolkit import data_structures
16
16
 
17
- from pyegeria._output_formats import select_output_format_set
17
+ from pyegeria import Client2
18
+ from pyegeria._output_formats import select_output_format_set, get_output_format_type_match
18
19
  from pyegeria._client import Client, max_paging_size
19
20
  from pyegeria._globals import NO_ELEMENTS_FOUND
20
21
  from pyegeria.output_formatter import (extract_mermaid_only, extract_basic_dict, generate_output,
@@ -46,7 +47,7 @@ def base_path(client, view_server: str):
46
47
  return f"{client.platform_url}/servers/{view_server}/api/open-metadata/data-designer"
47
48
 
48
49
 
49
- class DataDesigner(Client):
50
+ class DataDesigner(Client2):
50
51
  """DataDesigner is a class that extends the Client class. The Data Designer OMVS provides APIs for
51
52
  building specifications for data. This includes common data fields in a data dictionary, data specifications
52
53
  for a project and data classes for data quality validation.
@@ -1116,7 +1117,7 @@ r replace_all_properties: bool, default = False
1116
1117
  loop.run_until_complete(self._async_delete_data_field(data_struct_guid, body, cascade))
1117
1118
 
1118
1119
  async def _async_find_all_data_structures(self, start_from: int = 0, page_size: int = max_paging_size,
1119
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1120
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
1120
1121
  """Returns a list of all known data structures. Async version.
1121
1122
 
1122
1123
  Parameters
@@ -1127,7 +1128,7 @@ r replace_all_properties: bool, default = False
1127
1128
  - maximum number of elements to return.
1128
1129
  output_format: str, default = "DICT"
1129
1130
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
1130
- columns_struct: dict, optional, default = None
1131
+ output_format_set: dict, optional, default = None
1131
1132
  - The desired output columns/field options.
1132
1133
  Returns
1133
1134
  -------
@@ -1158,11 +1159,11 @@ r replace_all_properties: bool, default = False
1158
1159
  if type(elements) is str:
1159
1160
  return NO_ELEMENTS_FOUND
1160
1161
  if output_format != 'JSON': # return other representations
1161
- return self._generate_data_structure_output(elements, filter, output_format, columns_struct)
1162
+ return self._generate_data_structure_output(elements, filter, output_format, output_format_set)
1162
1163
  return elements
1163
1164
 
1164
1165
  def find_all_data_structures(self, start_from: int = 0, page_size: int = max_paging_size,
1165
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1166
+ output_format: str = 'JSON', output_format_set: dict = None) -> list | str:
1166
1167
  """ Returns a list of all known data structures.
1167
1168
 
1168
1169
  Parameters
@@ -1193,13 +1194,13 @@ r replace_all_properties: bool, default = False
1193
1194
  """
1194
1195
 
1195
1196
  loop = asyncio.get_event_loop()
1196
- response = loop.run_until_complete(self._async_find_all_data_structures(start_from, page_size, output_format, columns_struct))
1197
+ response = loop.run_until_complete(self._async_find_all_data_structures(start_from, page_size, output_format, output_format_set))
1197
1198
  return response
1198
1199
 
1199
1200
  async def _async_find_data_structures_w_body(self, body: dict, start_from: int = 0,
1200
1201
  page_size: int = max_paging_size, starts_with: bool = True,
1201
1202
  ends_with: bool = False, ignore_case: bool = True,
1202
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1203
+ output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1203
1204
  """ Retrieve the list of data structure metadata elements that contain the search string.
1204
1205
  Async version.
1205
1206
 
@@ -1219,7 +1220,7 @@ r replace_all_properties: bool, default = False
1219
1220
  - If True, the case of the search string is ignored.
1220
1221
  output_format: str, default = "DICT"
1221
1222
  - output format of the data structure. Possible values: "DICT", 'REPORT', 'FORM', "JSON", "MERMAID".
1222
- columns_struct: dict, optional, default = None
1223
+ output_format_set: str | dict, optional, default = None
1223
1224
  - The desired output columns/field options.
1224
1225
 
1225
1226
  Returns
@@ -1267,12 +1268,12 @@ r replace_all_properties: bool, default = False
1267
1268
  if type(elements) is list and len(elements) == 0:
1268
1269
  return NO_ELEMENTS_FOUND
1269
1270
  if output_format != 'JSON': # return other representations
1270
- return self._generate_data_structure_output(elements, filter, output_format, columns_struct)
1271
+ return self._generate_data_structure_output(elements, filter, output_format, output_format_set)
1271
1272
  return elements
1272
1273
 
1273
1274
  def find_data_structures_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
1274
1275
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
1275
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1276
+ output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1276
1277
  """ Retrieve the list of data structure metadata elements that contain the search string.
1277
1278
 
1278
1279
  Parameters
@@ -1291,7 +1292,7 @@ r replace_all_properties: bool, default = False
1291
1292
  - If True, the case of the search string is ignored.
1292
1293
  output_format: str, default = "DICT"
1293
1294
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
1294
- columns_struct: dict, optional, default = None
1295
+ output_format_set: str | dict, optional, default = None
1295
1296
  - The desired output columns/field options.
1296
1297
  Returns
1297
1298
  -------
@@ -1326,7 +1327,7 @@ r replace_all_properties: bool, default = False
1326
1327
  loop = asyncio.get_event_loop()
1327
1328
  response = loop.run_until_complete(
1328
1329
  self._async_find_data_structures_w_body(body, start_from, page_size, starts_with, ends_with, ignore_case,
1329
- output_format, columns_struct))
1330
+ output_format, output_format_set))
1330
1331
  return response
1331
1332
 
1332
1333
  async def _async_find_data_structures(self, search_string: str, start_from: int = 0, page_size: int = max_paging_size,
@@ -1443,7 +1444,7 @@ r replace_all_properties: bool, default = False
1443
1444
 
1444
1445
  async def _async_get_data_structures_by_name(self, filter: str, body: dict = None, start_from: int = 0,
1445
1446
  page_size: int = max_paging_size,
1446
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1447
+ output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1447
1448
  """ Get the list of data structure metadata elements with a matching name to the search string filter.
1448
1449
  Async version.
1449
1450
 
@@ -1459,7 +1460,7 @@ r replace_all_properties: bool, default = False
1459
1460
  - maximum number of elements to return.
1460
1461
  output_format: str, default = "DICT"
1461
1462
  - one of "DICT", "MERMAID" or "JSON"
1462
- columns_struct: dict, optional, default = None
1463
+ output_format_set: str | dict, optional, default = None
1463
1464
  - The desired output columns/field options.
1464
1465
 
1465
1466
  Returns
@@ -1504,11 +1505,11 @@ r replace_all_properties: bool, default = False
1504
1505
  if type(elements) is str:
1505
1506
  return NO_ELEMENTS_FOUND
1506
1507
  if output_format != 'JSON': # return other representations
1507
- return self._generate_data_structure_output(elements, filter, output_format, columns_struct)
1508
+ return self._generate_data_structure_output(elements, filter, output_format, output_format_set)
1508
1509
  return elements
1509
1510
 
1510
1511
  def get_data_structures_by_name(self, filter: str, body: dict = None, start_from: int = 0,
1511
- page_size: int = max_paging_size, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1512
+ page_size: int = max_paging_size, output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1512
1513
  """ Get the list of data structure metadata elements with a matching name to the search string filter.
1513
1514
 
1514
1515
  Parameters
@@ -1523,7 +1524,7 @@ r replace_all_properties: bool, default = False
1523
1524
  - maximum number of elements to return.
1524
1525
  output_format: str, default = "DICT"
1525
1526
  - one of "DICT", "MERMAID" or "JSON"
1526
- columns_struct: dict, optional, default = None
1527
+ output_format_set: str | dict, optional, default = None
1527
1528
  - The desired output columns/field options.
1528
1529
 
1529
1530
  Returns
@@ -1545,11 +1546,11 @@ r replace_all_properties: bool, default = False
1545
1546
 
1546
1547
  loop = asyncio.get_event_loop()
1547
1548
  response = loop.run_until_complete(
1548
- self._async_get_data_structures_by_name(filter, body, start_from, page_size, output_format, columns_struct))
1549
+ self._async_get_data_structures_by_name(filter, body, start_from, page_size, output_format, output_format_set))
1549
1550
  return response
1550
1551
 
1551
1552
  async def _async_get_data_structure_by_guid(self, guid: str, body: dict = None,
1552
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1553
+ output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1553
1554
  """ Get the data structure metadata elements for the specified GUID.
1554
1555
  Async version.
1555
1556
 
@@ -1561,7 +1562,7 @@ r replace_all_properties: bool, default = False
1561
1562
  - optional request body.
1562
1563
  output_format: str, default = "DICT"
1563
1564
  - one of "DICT", "MERMAID" or "JSON"
1564
- columns_struct: dict, optional, default = None
1565
+ output_format_set: str | dict, optional, default = None
1565
1566
  - The desired output columns/field options.
1566
1567
 
1567
1568
  Returns
@@ -1602,10 +1603,10 @@ r replace_all_properties: bool, default = False
1602
1603
  if type(element) is str:
1603
1604
  return NO_ELEMENTS_FOUND
1604
1605
  if output_format != 'JSON': # return other representations
1605
- return self._generate_data_structure_output(element, filter, output_format, columns_struct)
1606
+ return self._generate_data_structure_output(element, filter, output_format, output_format_set)
1606
1607
  return element
1607
1608
 
1608
- def get_data_structure_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
1609
+ def get_data_structure_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', output_format_set: str | dict = None) -> list | str:
1609
1610
  """ Get the data structure metadata element with the specified unique identifier..
1610
1611
 
1611
1612
  Parameters
@@ -1616,7 +1617,7 @@ r replace_all_properties: bool, default = False
1616
1617
  - optional request body.
1617
1618
  output_format: str, default = "DICT"
1618
1619
  - one of "DICT", "MERMAID" or "JSON"
1619
- columns_struct: dict, optional, default = None
1620
+ output_format_set: str | dict, optional, default = None
1620
1621
  - The desired output columns/field options.
1621
1622
 
1622
1623
  Returns
@@ -1648,7 +1649,7 @@ r replace_all_properties: bool, default = False
1648
1649
  """
1649
1650
 
1650
1651
  loop = asyncio.get_event_loop()
1651
- response = loop.run_until_complete(self._async_get_data_structure_by_guid(guid, body, output_format, columns_struct))
1652
+ response = loop.run_until_complete(self._async_get_data_structure_by_guid(guid, body, output_format, output_format_set))
1652
1653
  return response
1653
1654
 
1654
1655
  #
@@ -2478,7 +2479,7 @@ r replace_all_properties: bool, default = False
2478
2479
  loop.run_until_complete(self._async_delete_data_field(data_field_guid, body, cascade))
2479
2480
 
2480
2481
  async def _async_find_all_data_fields(self, start_from: int = 0, page_size: int = max_paging_size,
2481
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2482
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2482
2483
  """Returns a list of all known data fields. Async version.
2483
2484
 
2484
2485
  Parameters
@@ -2489,7 +2490,7 @@ r replace_all_properties: bool, default = False
2489
2490
  - maximum number of elements to return.
2490
2491
  output_format: str, default = "DICT"
2491
2492
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2492
- columns_struct: dict, optional, default = None
2493
+ output_format_set: str|dict, optional, default = None
2493
2494
  - The desired output columns/field options.
2494
2495
 
2495
2496
  Returns
@@ -2521,11 +2522,11 @@ r replace_all_properties: bool, default = False
2521
2522
  if type(elements) is str:
2522
2523
  return NO_ELEMENTS_FOUND
2523
2524
  if output_format != 'JSON': # return other representations
2524
- return self._generate_data_field_output(elements, filter, output_format, columns_struct)
2525
+ return self._generate_data_field_output(elements, filter, output_format, output_format_set)
2525
2526
  return elements
2526
2527
 
2527
2528
  def find_all_data_fields(self, start_from: int = 0, page_size: int = max_paging_size,
2528
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2529
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2529
2530
  """ Returns a list of all known data fields.
2530
2531
 
2531
2532
  Parameters
@@ -2536,7 +2537,7 @@ r replace_all_properties: bool, default = False
2536
2537
  - maximum number of elements to return.
2537
2538
  output_format: str, default = "DICT"
2538
2539
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2539
- columns_struct: dict, optional, default = None
2540
+ output_format_set: str|dict, optional, default = None
2540
2541
  - The desired output columns/field options.
2541
2542
 
2542
2543
  Returns
@@ -2556,12 +2557,12 @@ r replace_all_properties: bool, default = False
2556
2557
  """
2557
2558
 
2558
2559
  loop = asyncio.get_event_loop()
2559
- response = loop.run_until_complete(self._async_find_all_data_fields(start_from, page_size, output_format,columns_struct))
2560
+ response = loop.run_until_complete(self._async_find_all_data_fields(start_from, page_size, output_format, output_format_set))
2560
2561
  return response
2561
2562
 
2562
2563
  async def _async_find_data_fields_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
2563
2564
  starts_with: bool = True, ends_with: bool = False,
2564
- ignore_case: bool = True, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2565
+ ignore_case: bool = True, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2565
2566
  """ Retrieve the list of data class metadata elements that contain the search string.
2566
2567
  Async version.
2567
2568
 
@@ -2581,7 +2582,7 @@ r replace_all_properties: bool, default = False
2581
2582
  - If True, the case of the search string is ignored.
2582
2583
  output_format: str, default = "DICT"
2583
2584
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2584
- columns_struct: dict, optional, default = None
2585
+ output_format_set: str|dict, optional, default = None
2585
2586
  - The desired output columns/field options.
2586
2587
 
2587
2588
 
@@ -2632,12 +2633,12 @@ r replace_all_properties: bool, default = False
2632
2633
  if type(elements) is str:
2633
2634
  return NO_ELEMENTS_FOUND
2634
2635
  if output_format != 'JSON': # return other representations
2635
- return self._generate_data_field_output(elements, filter, output_format, columns_struct)
2636
+ return self._generate_data_field_output(elements, filter, output_format, output_format_set)
2636
2637
  return elements
2637
2638
 
2638
2639
  def find_data_fields_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
2639
2640
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
2640
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2641
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2641
2642
  """ Retrieve the list of data class metadata elements that contain the search string.
2642
2643
 
2643
2644
  Parameters
@@ -2656,7 +2657,7 @@ r replace_all_properties: bool, default = False
2656
2657
  - If True, the case of the search string is ignored.
2657
2658
  output_format: str, default = "DICT"
2658
2659
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2659
- columns_struct: dict, optional, default = None
2660
+ output_format_set: str|dict, optional, default = None
2660
2661
  - The desired output columns/field options.
2661
2662
 
2662
2663
 
@@ -2693,12 +2694,12 @@ r replace_all_properties: bool, default = False
2693
2694
  loop = asyncio.get_event_loop()
2694
2695
  response = loop.run_until_complete(
2695
2696
  self._async_find_data_fields_w_body(body, start_from, page_size, starts_with, ends_with, ignore_case,
2696
- output_format,columns_struct))
2697
+ output_format,output_format_set))
2697
2698
  return response
2698
2699
 
2699
2700
  async def _async_find_data_fields(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
2700
2701
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
2701
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2702
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2702
2703
  """ Find the list of data class elements that contain the search string.
2703
2704
  Async version.
2704
2705
 
@@ -2718,7 +2719,7 @@ r replace_all_properties: bool, default = False
2718
2719
  - If True, the case of the search string is ignored.
2719
2720
  output_format: str, default = "DICT"
2720
2721
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2721
- columns_struct: dict, optional, default = None
2722
+ output_format_set: str|dict, optional, default = None
2722
2723
  - The desired output columns/field options.
2723
2724
 
2724
2725
  Returns
@@ -2755,12 +2756,12 @@ r replace_all_properties: bool, default = False
2755
2756
  if type(elements) is str:
2756
2757
  return NO_ELEMENTS_FOUND
2757
2758
  if output_format != 'JSON': # return other representations
2758
- return self._generate_data_field_output(elements, filter, output_format, columns_struct)
2759
+ return self._generate_data_field_output(elements, filter, output_format, output_format_set)
2759
2760
  return elements
2760
2761
 
2761
2762
  def find_data_fields(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
2762
2763
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
2763
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2764
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2764
2765
  """ Retrieve the list of data fields elements that contain the search string filter.
2765
2766
 
2766
2767
  Parameters
@@ -2779,7 +2780,7 @@ r replace_all_properties: bool, default = False
2779
2780
  - If True, the case of the search string is ignored.
2780
2781
  output_format: str, default = "DICT"
2781
2782
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2782
- columns_struct: dict, optional, default = None
2783
+ output_format_set: str|dict, optional, default = None
2783
2784
  - The desired output columns/field options.
2784
2785
 
2785
2786
  Returns
@@ -2802,12 +2803,12 @@ r replace_all_properties: bool, default = False
2802
2803
  loop = asyncio.get_event_loop()
2803
2804
  response = loop.run_until_complete(
2804
2805
  self._async_find_data_fields(filter, start_from, page_size, starts_with, ends_with, ignore_case,
2805
- output_format, columns_struct))
2806
+ output_format, output_format_set))
2806
2807
  return response
2807
2808
 
2808
2809
  async def _async_get_data_fields_by_name(self, filter: str, body: dict = None, start_from: int = 0,
2809
2810
  page_size: int = max_paging_size,
2810
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2811
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2811
2812
  """ Get the list of data class metadata elements with a matching name to the search string filter.
2812
2813
  Async version.
2813
2814
 
@@ -2823,7 +2824,7 @@ r replace_all_properties: bool, default = False
2823
2824
  - maximum number of elements to return.
2824
2825
  output_format: str, default = "DICT"
2825
2826
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2826
- columns_struct: dict, optional, default = None
2827
+ output_format_set: str|dict, optional, default = None
2827
2828
  - The desired output columns/field options.
2828
2829
 
2829
2830
  Returns
@@ -2868,11 +2869,11 @@ r replace_all_properties: bool, default = False
2868
2869
  if type(elements) is str:
2869
2870
  return NO_ELEMENTS_FOUND
2870
2871
  if output_format != 'JSON': # return other representations
2871
- return self._generate_data_field_output(elements, filter, output_format, columns_struct)
2872
+ return self._generate_data_field_output(elements, filter, output_format, output_format_set)
2872
2873
  return elements
2873
2874
 
2874
2875
  def get_data_fields_by_name(self, filter: str, body: dict = None, start_from: int = 0,
2875
- page_size: int = max_paging_size, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2876
+ page_size: int = max_paging_size, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2876
2877
  """ Get the list of data class elements with a matching name to the search string filter.
2877
2878
 
2878
2879
  Parameters
@@ -2887,7 +2888,7 @@ r replace_all_properties: bool, default = False
2887
2888
  - maximum number of elements to return.
2888
2889
  output_format: str, default = "DICT"
2889
2890
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2890
- columns_struct: dict, optional, default = None
2891
+ output_format_set: str|dict, optional, default = None
2891
2892
  - The desired output columns/field options.
2892
2893
 
2893
2894
  Returns
@@ -2923,11 +2924,11 @@ r replace_all_properties: bool, default = False
2923
2924
 
2924
2925
  loop = asyncio.get_event_loop()
2925
2926
  response = loop.run_until_complete(
2926
- self._async_get_data_fields_by_name(filter, body, start_from, page_size, output_format, columns_struct))
2927
+ self._async_get_data_fields_by_name(filter, body, start_from, page_size, output_format, output_format_set))
2927
2928
  return response
2928
2929
 
2929
2930
  async def _async_get_data_field_by_guid(self, guid: str, body: dict = None,
2930
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2931
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2931
2932
  """ Get the data class elements for the specified GUID.
2932
2933
  Async version.
2933
2934
 
@@ -2939,7 +2940,7 @@ r replace_all_properties: bool, default = False
2939
2940
  - optional request body.
2940
2941
  output_format: str, default = "DICT"
2941
2942
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2942
- columns_struct: dict, optional, default = None
2943
+ output_format_set: str|dict, optional, default = None
2943
2944
  - The desired output columns/field options.
2944
2945
 
2945
2946
  Returns
@@ -2981,10 +2982,10 @@ r replace_all_properties: bool, default = False
2981
2982
  if type(elements) is str:
2982
2983
  return NO_ELEMENTS_FOUND
2983
2984
  if output_format != 'JSON': # return other representations
2984
- return self._generate_data_field_output(elements, None, output_format, columns_struct)
2985
+ return self._generate_data_field_output(elements, None, output_format, output_format_set)
2985
2986
  return elements
2986
2987
 
2987
- def get_data_field_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
2988
+ def get_data_field_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
2988
2989
  """ Get the data structure metadata element with the specified unique identifier..
2989
2990
 
2990
2991
  Parameters
@@ -2995,7 +2996,7 @@ r replace_all_properties: bool, default = False
2995
2996
  - optional request body.
2996
2997
  output_format: str, default = "DICT"
2997
2998
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
2998
- columns_struct: dict, optional, default = None
2999
+ output_format_set: str|dict, optional, default = None
2999
3000
  - The desired output columns/field options.
3000
3001
 
3001
3002
  Returns
@@ -3027,7 +3028,7 @@ r replace_all_properties: bool, default = False
3027
3028
  """
3028
3029
 
3029
3030
  loop = asyncio.get_event_loop()
3030
- response = loop.run_until_complete(self._async_get_data_field_by_guid(guid, body, output_format, columns_struct))
3031
+ response = loop.run_until_complete(self._async_get_data_field_by_guid(guid, body, output_format, output_format_set))
3031
3032
  return response
3032
3033
 
3033
3034
  ###
@@ -4060,7 +4061,7 @@ r replace_all_properties: bool, default = False
4060
4061
  loop.run_until_complete(self._async_delete_data_class(data_class_guid, body, cascade))
4061
4062
 
4062
4063
  async def _async_find_all_data_classes(self, start_from: int = 0, page_size: int = max_paging_size,
4063
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4064
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4064
4065
  """ Returns a list of all data classes. Async version.
4065
4066
 
4066
4067
  Parameters
@@ -4071,7 +4072,7 @@ r replace_all_properties: bool, default = False
4071
4072
  - maximum number of elements to return.
4072
4073
  output_format: str, default = "DICT"
4073
4074
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4074
- columns_struct: dict, optional, default = None
4075
+ output_format_set: str|dict, optional, default = None
4075
4076
  - The desired output columns/field options.
4076
4077
 
4077
4078
 
@@ -4104,11 +4105,11 @@ r replace_all_properties: bool, default = False
4104
4105
  if type(elements) is str:
4105
4106
  return NO_ELEMENTS_FOUND
4106
4107
  if output_format != 'JSON': # return other representations
4107
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4108
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4108
4109
  return elements
4109
4110
 
4110
4111
  def find_all_data_classes(self, start_from: int = 0, page_size: int = max_paging_size,
4111
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4112
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4112
4113
  """ Returns a list of all data classes.
4113
4114
 
4114
4115
  Parameters
@@ -4119,7 +4120,7 @@ r replace_all_properties: bool, default = False
4119
4120
  - maximum number of elements to return.
4120
4121
  output_format: str, default = "DICT"
4121
4122
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4122
- columns_struct: dict, optional, default = None
4123
+ output_format_set: str|dict, optional, default = None
4123
4124
  - The desired output columns/field options.
4124
4125
 
4125
4126
  Returns
@@ -4139,12 +4140,12 @@ r replace_all_properties: bool, default = False
4139
4140
  """
4140
4141
 
4141
4142
  loop = asyncio.get_event_loop()
4142
- response = loop.run_until_complete(self._async_find_all_data_classes(start_from, page_size, output_format, columns_struct))
4143
+ response = loop.run_until_complete(self._async_find_all_data_classes(start_from, page_size, output_format, output_format_set))
4143
4144
  return response
4144
4145
 
4145
4146
  async def _async_find_data_classes_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
4146
4147
  starts_with: bool = True, ends_with: bool = False,
4147
- ignore_case: bool = True, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4148
+ ignore_case: bool = True, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4148
4149
  """ Retrieve the list of data class metadata elements that contain the search string.
4149
4150
  Async version.
4150
4151
 
@@ -4164,7 +4165,7 @@ r replace_all_properties: bool, default = False
4164
4165
  - If True, the case of the search string is ignored.
4165
4166
  output_format: str, default = "DICT"
4166
4167
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4167
- columns_struct: dict, optional, default = None
4168
+ output_format_set: str|dict, optional, default = None
4168
4169
  - The desired output columns/field options.
4169
4170
 
4170
4171
 
@@ -4214,12 +4215,12 @@ r replace_all_properties: bool, default = False
4214
4215
  if type(elements) is str:
4215
4216
  return NO_ELEMENTS_FOUND
4216
4217
  if output_format != 'JSON': # return other representations
4217
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4218
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4218
4219
  return elements
4219
4220
 
4220
4221
  def find_data_classes_w_body(self, body: dict, start_from: int = 0, page_size: int = max_paging_size,
4221
4222
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
4222
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4223
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4223
4224
  """ Retrieve the list of data class metadata elements that contain the search string.
4224
4225
 
4225
4226
  Parameters
@@ -4238,7 +4239,7 @@ r replace_all_properties: bool, default = False
4238
4239
  - If True, the case of the search string is ignored.
4239
4240
  output_format: str, default = "DICT"
4240
4241
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4241
- columns_struct: dict, optional, default = None
4242
+ output_format_set: str|dict, optional, default = None
4242
4243
  - The desired output columns/field options.
4243
4244
 
4244
4245
 
@@ -4275,12 +4276,12 @@ r replace_all_properties: bool, default = False
4275
4276
  loop = asyncio.get_event_loop()
4276
4277
  response = loop.run_until_complete(
4277
4278
  self._async_find_data_classes_w_body(body, start_from, page_size, starts_with, ends_with, ignore_case,
4278
- output_format, columns_struct))
4279
+ output_format, output_format_set))
4279
4280
  return response
4280
4281
 
4281
4282
  async def _async_find_data_classes(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
4282
4283
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
4283
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4284
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4284
4285
  """ Find the list of data class elements that contain the search string.
4285
4286
  Async version.
4286
4287
 
@@ -4300,7 +4301,7 @@ r replace_all_properties: bool, default = False
4300
4301
  - If True, the case of the search string is ignored.
4301
4302
  output_format: str, default = "DICT"
4302
4303
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4303
- columns_struct: dict, optional, default = None
4304
+ output_format_set: str|dict, optional, default = None
4304
4305
  - The desired output columns/field options.
4305
4306
 
4306
4307
 
@@ -4340,12 +4341,12 @@ r replace_all_properties: bool, default = False
4340
4341
  if type(elements) is str:
4341
4342
  return NO_ELEMENTS_FOUND
4342
4343
  if output_format != 'JSON': # return other representations
4343
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4344
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4344
4345
  return elements
4345
4346
 
4346
4347
  def find_data_classes(self, filter: str, start_from: int = 0, page_size: int = max_paging_size,
4347
4348
  starts_with: bool = True, ends_with: bool = False, ignore_case: bool = True,
4348
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4349
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4349
4350
  """ Retrieve the list of data fields elements that contain the search string filter.
4350
4351
 
4351
4352
  Parameters
@@ -4364,7 +4365,7 @@ r replace_all_properties: bool, default = False
4364
4365
  - If True, the case of the search string is ignored.
4365
4366
  output_format: str, default = "DICT"
4366
4367
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4367
- columns_struct: dict, optional, default = None
4368
+ output_format_set: str|dict, optional, default = None
4368
4369
  - The desired output columns/field options.
4369
4370
 
4370
4371
 
@@ -4388,12 +4389,12 @@ r replace_all_properties: bool, default = False
4388
4389
  loop = asyncio.get_event_loop()
4389
4390
  response = loop.run_until_complete(
4390
4391
  self._async_find_data_classes(filter, start_from, page_size, starts_with, ends_with, ignore_case,
4391
- output_format, columns_struct))
4392
+ output_format, output_format_set))
4392
4393
  return response
4393
4394
 
4394
4395
  async def _async_get_data_classes_by_name(self, filter: str, body: dict = None, start_from: int = 0,
4395
4396
  page_size: int = max_paging_size,
4396
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4397
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4397
4398
  """ Get the list of data class metadata elements with a matching name to the search string filter.
4398
4399
  Async version.
4399
4400
 
@@ -4409,7 +4410,7 @@ r replace_all_properties: bool, default = False
4409
4410
  - maximum number of elements to return.
4410
4411
  output_format: str, default = "DICT"
4411
4412
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4412
- columns_struct: dict, optional, default = None
4413
+ output_format_set: str|dict, optional, default = None
4413
4414
  - The desired output columns/field options.
4414
4415
 
4415
4416
  Returns
@@ -4454,11 +4455,11 @@ r replace_all_properties: bool, default = False
4454
4455
  if type(elements) is str:
4455
4456
  return NO_ELEMENTS_FOUND
4456
4457
  if output_format != 'JSON': # return other representations
4457
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4458
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4458
4459
  return elements
4459
4460
 
4460
4461
  def get_data_classes_by_name(self, filter: str, body: dict = None, start_from: int = 0,
4461
- page_size: int = max_paging_size, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4462
+ page_size: int = max_paging_size, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4462
4463
  """ Get the list of data class elements with a matching name to the search string filter.
4463
4464
 
4464
4465
  Parameters
@@ -4473,7 +4474,7 @@ r replace_all_properties: bool, default = False
4473
4474
  - maximum number of elements to return.
4474
4475
  output_format: str, default = "DICT"
4475
4476
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4476
- columns_struct: dict, optional, default = None
4477
+ output_format_set: str|dict, optional, default = None
4477
4478
  - The desired output columns/field options.
4478
4479
 
4479
4480
 
@@ -4505,16 +4506,15 @@ r replace_all_properties: bool, default = False
4505
4506
  "filter": "Add name here"
4506
4507
  }
4507
4508
 
4508
-
4509
4509
  """
4510
4510
 
4511
4511
  loop = asyncio.get_event_loop()
4512
4512
  response = loop.run_until_complete(
4513
- self._async_get_data_classes_by_name(filter, body, start_from, page_size, output_format, columns_struct))
4513
+ self._async_get_data_classes_by_name(filter, body, start_from, page_size, output_format, output_format_set))
4514
4514
  return response
4515
4515
 
4516
4516
  async def _async_get_data_class_by_guid(self, guid: str, body: dict = None,
4517
- output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4517
+ output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4518
4518
  """ Get the data class elements for the specified GUID.
4519
4519
  Async version.
4520
4520
 
@@ -4526,7 +4526,7 @@ r replace_all_properties: bool, default = False
4526
4526
  - optional request body.
4527
4527
  output_format: str, default = "DICT"
4528
4528
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4529
- columns_struct: dict, optional, default = None
4529
+ output_format_set: str|dict, optional, default = None
4530
4530
  - The desired output columns/field options.
4531
4531
 
4532
4532
  Returns
@@ -4567,10 +4567,10 @@ r replace_all_properties: bool, default = False
4567
4567
  if type(elements) is str:
4568
4568
  return NO_ELEMENTS_FOUND
4569
4569
  if output_format != 'JSON': # return other representations
4570
- return self._generate_data_class_output(elements, filter, output_format, columns_struct)
4570
+ return self._generate_data_class_output(elements, filter, output_format, output_format_set)
4571
4571
  return elements
4572
4572
 
4573
- def get_data_class_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', columns_struct: dict = None) -> list | str:
4573
+ def get_data_class_by_guid(self, guid: str, body: str = None, output_format: str = 'JSON', output_format_set: str|dict = None) -> list | str:
4574
4574
  """ Get the data structure metadata element with the specified unique identifier..
4575
4575
 
4576
4576
  Parameters
@@ -4581,7 +4581,7 @@ r replace_all_properties: bool, default = False
4581
4581
  - optional request body.
4582
4582
  output_format: str, default = "DICT"
4583
4583
  - output format of the data structure. Possible values: "DICT", "JSON", "MERMAID".
4584
- columns_struct: dict, optional, default = None
4584
+ output_format_set: str|dict, optional, default = None
4585
4585
  - The desired output columns/field options.
4586
4586
 
4587
4587
  Returns
@@ -4613,7 +4613,7 @@ r replace_all_properties: bool, default = False
4613
4613
  """
4614
4614
 
4615
4615
  loop = asyncio.get_event_loop()
4616
- response = loop.run_until_complete(self._async_get_data_class_by_guid(guid, body, output_format, columns_struct))
4616
+ response = loop.run_until_complete(self._async_get_data_class_by_guid(guid, body, output_format, output_format_set))
4617
4617
  return response
4618
4618
 
4619
4619
  ###
@@ -5380,7 +5380,8 @@ r replace_all_properties: bool, default = False
5380
5380
  )
5381
5381
 
5382
5382
 
5383
- def _generate_data_structure_output(self, elements, filter, output_format: str = "DICT", output_format_set: str|dict = None) -> str | list:
5383
+ def _generate_data_structure_output(self, elements: dict|list[dict], filter:str = None,
5384
+ output_format: str = "DICT", output_format_set: str|dict = None) -> str | list:
5384
5385
  """
5385
5386
  Generate output for data structures in the specified format.
5386
5387
 
@@ -5400,10 +5401,10 @@ r replace_all_properties: bool, default = False
5400
5401
  if isinstance(output_format_set, str):
5401
5402
  output_formats = select_output_format_set(output_format_set, output_format)
5402
5403
  if isinstance(output_format_set, dict):
5403
- output_formats = output_format_set
5404
+ output_formats = get_output_format_type_match(output_format_set, output_format)
5404
5405
  else:
5405
5406
  output_formats = None
5406
- logger.trace(f"Executing generate_data_structure_output for {entity_type}: {output_formats}")
5407
+ logger.trace(f"Executing _generate_data_structure_output for {entity_type}: {output_formats}")
5407
5408
  return generate_output(elements,
5408
5409
  filter,
5409
5410
  entity_type,
@@ -5413,7 +5414,7 @@ r replace_all_properties: bool, default = False
5413
5414
  output_formats,
5414
5415
  )
5415
5416
 
5416
- def _generate_data_class_output(self, elements: dict, filter: str, output_format: str, columns_struct: dict = None) -> str | list:
5417
+ def _generate_data_class_output(self, elements: dict|list[dict], filter: str = None, output_format: str = "DICT", output_format_set: str|dict = None) -> str | list:
5417
5418
  """
5418
5419
  Generate output for data classes in the specified format.
5419
5420
 
@@ -5421,26 +5422,34 @@ r replace_all_properties: bool, default = False
5421
5422
  elements: Dictionary or list of dictionaries containing data class elements
5422
5423
  filter: The search string used to find the elements
5423
5424
  output_format: The desired output format (MD, FORM, REPORT, LIST, DICT, MERMAID, HTML)
5424
- columns_struct: Optional columns structure
5425
+ output_format_set: Optional output format set
5425
5426
  - Option column/attribute selection and definition.
5426
5427
  Returns:
5427
5428
  Formatted output as either a string or list of dictionaries
5428
5429
  """
5429
5430
  entity_type = "Data Class"
5430
- if columns_struct is None:
5431
- columns_struct = select_output_format_set(entity_type, output_format)
5431
+ if output_format_set is None:
5432
+ output_format_set = select_output_format_set(entity_type, output_format)
5432
5433
 
5434
+ if output_format_set:
5435
+ if isinstance(output_format_set, str):
5436
+ output_formats = select_output_format_set(output_format_set, output_format)
5437
+ if isinstance(output_format_set, dict):
5438
+ output_formats = get_output_format_type_match(output_format_set, output_format)
5439
+ else:
5440
+ output_formats = None
5441
+ logger.trace(f"Executing _generate_data_class_output for {entity_type}: {output_formats}")
5433
5442
  return generate_output(elements,
5434
5443
  filter,
5435
5444
  entity_type,
5436
5445
  output_format,
5437
5446
  self._extract_data_class_properties,
5438
5447
  None,
5439
- columns_struct,
5448
+ output_formats,
5440
5449
  )
5441
5450
 
5442
- def _generate_data_field_output(self, elements: dict, filter: str, output_format: str,
5443
- columns_struct: dict = None) -> str | list:
5451
+ def _generate_data_field_output(self, elements: dict|list[dict], filter: str = None, output_format: str = "DICT",
5452
+ output_format_set: str|dict = None) -> str | list:
5444
5453
  """
5445
5454
  Generate output for data fields in the specified format.
5446
5455
 
@@ -5448,24 +5457,32 @@ r replace_all_properties: bool, default = False
5448
5457
  elements: Dictionary or list of dictionaries containing data field elements
5449
5458
  filter: The search string used to find the elements
5450
5459
  output_format: The desired output format (MD, FORM, REPORT, LIST, DICT, MERMAID, HTML)
5451
- columns_struct: dict, Optional, default = None
5460
+ output_format_set: str|dict, Optional, default = None
5452
5461
  - Option column/attribute selection and definition.
5453
5462
 
5454
5463
  Returns:
5455
5464
  Formatted output as a string or list of dictionaries
5456
5465
  """
5457
5466
  entity_type = "Data Field"
5458
- if columns_struct is None:
5459
- columns_struct = select_output_format_set(entity_type, output_format)
5467
+ if output_format_set is None:
5468
+ output_format_set = select_output_format_set(entity_type, output_format)
5460
5469
 
5470
+ if output_format_set:
5471
+ if isinstance(output_format_set, str):
5472
+ output_formats = select_output_format_set(output_format_set, output_format)
5473
+ if isinstance(output_format_set, dict):
5474
+ output_formats = get_output_format_type_match(output_format_set, output_format)
5475
+ else:
5476
+ output_formats = None
5477
+ logger.trace(f"Executing _generate_data_field_output for {entity_type}: {output_formats}")
5461
5478
  return generate_output(elements,
5462
- filter,
5463
- entity_type,
5464
- output_format,
5465
- self._extract_data_field_properties,
5466
- None,
5467
- columns_struct,
5468
- )
5479
+ filter,
5480
+ entity_type,
5481
+ output_format,
5482
+ self._extract_data_field_properties,
5483
+ None,
5484
+ output_formats,
5485
+ )
5469
5486
 
5470
5487
 
5471
5488