pyegeria 5.4.0.25__py3-none-any.whl → 5.4.0.27__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 (52) hide show
  1. commands/cat/debug_log +868 -7794
  2. commands/cat/debug_log.2025-08-18_11-34-38_088636.zip +0 -0
  3. commands/cat/list_collections.py +1 -1
  4. commands/cat/list_format_set.py +6 -8
  5. commands/cli/egeria.py +2 -2
  6. commands/cli/egeria_cat.py +3 -2
  7. commands/ops/load_archive.py +2 -2
  8. md_processing/data/commands.json +7 -7
  9. md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +7 -7
  10. md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +36 -31
  11. md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:22-dr_egeria_intro_part1.md +312 -0
  12. md_processing/dr_egeria_outbox/friday/processed-2025-08-22 21:23-dr_egeria_intro_part1.md +265 -0
  13. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:06-dr_egeria_intro_part1.md +230 -0
  14. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:30-dr_egeria_intro_part1.md +296 -0
  15. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 15:31-dr_egeria_intro_part1.md +253 -0
  16. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:08-dr_egeria_intro_part2.md +343 -0
  17. md_processing/dr_egeria_outbox/friday/processed-2025-08-23 16:12-dr_egeria_intro_part2.md +343 -0
  18. md_processing/md_commands/glossary_commands.py +888 -951
  19. md_processing/md_commands/product_manager_commands.py +8 -270
  20. md_processing/md_commands/project_commands.py +1 -1
  21. md_processing/md_processing_utils/common_md_proc_utils.py +138 -64
  22. md_processing/md_processing_utils/common_md_utils.py +2 -1
  23. pyegeria/__init__.py +5 -302
  24. pyegeria/_client_new.py +5 -4
  25. pyegeria/_output_formats.py +23 -3
  26. pyegeria/collection_manager.py +31 -28
  27. pyegeria/{load_config.py → config.py} +7 -2
  28. pyegeria/data_designer.py +154 -194
  29. pyegeria/egeria_cat_client.py +48 -30
  30. pyegeria/egeria_client.py +74 -75
  31. pyegeria/egeria_config_client.py +37 -7
  32. pyegeria/egeria_my_client.py +45 -10
  33. pyegeria/egeria_tech_client.py +69 -58
  34. pyegeria/glossary_manager.py +494 -122
  35. pyegeria/governance_officer.py +2 -2
  36. pyegeria/logging_configuration.py +1 -4
  37. pyegeria/models.py +1 -1
  38. pyegeria/project_manager.py +381 -741
  39. pyegeria/solution_architect_omvs.py +1 -1
  40. pyegeria/utils.py +1 -3
  41. {pyegeria-5.4.0.25.dist-info → pyegeria-5.4.0.27.dist-info}/METADATA +1 -1
  42. {pyegeria-5.4.0.25.dist-info → pyegeria-5.4.0.27.dist-info}/RECORD +45 -44
  43. commands/cat/debug_log.2025-08-15_09-14-07_444802.zip +0 -0
  44. commands/cat/debug_log.2025-08-16_10-21-59_388912.zip +0 -0
  45. commands/cat/debug_log.2025-08-17_11-34-27_981852.zip +0 -0
  46. md_processing/md_processing_utils/solution_architect_log.log +0 -0
  47. pyegeria/collection_manager_omvs.py +0 -6541
  48. pyegeria/glossary_browser.py +0 -1259
  49. pyegeria/project_manager_omvs.py +0 -1933
  50. {pyegeria-5.4.0.25.dist-info → pyegeria-5.4.0.27.dist-info}/LICENSE +0 -0
  51. {pyegeria-5.4.0.25.dist-info → pyegeria-5.4.0.27.dist-info}/WHEEL +0 -0
  52. {pyegeria-5.4.0.25.dist-info → pyegeria-5.4.0.27.dist-info}/entry_points.txt +0 -0
pyegeria/__init__.py CHANGED
@@ -31,7 +31,7 @@ from ._exceptions_new import (PyegeriaInvalidParameterException,PyegeriaAPIExcep
31
31
  PyegeriaUnauthorizedException, PyegeriaClientException, PyegeriaUnknownException,
32
32
  PyegeriaConnectionException, PyegeriaNotFoundException,
33
33
  print_exception_table, print_basic_exception, print_validation_error)
34
- from .load_config import load_app_config, get_app_config
34
+ from .config import load_app_config, get_app_config, settings
35
35
  from .logging_configuration import config_logging, console_log_filter, init_logging
36
36
  from ._exceptions import (InvalidParameterException, PropertyServerException, UserNotAuthorizedException,
37
37
  print_exception_response, )
@@ -44,21 +44,20 @@ from .collection_manager import CollectionManager
44
44
  from .core_omag_server_config import CoreServerConfig
45
45
  from .create_tech_guid_lists import build_global_guid_lists
46
46
  from .egeria_cat_client import EgeriaCat
47
- # from .egeria_client import Egeria
47
+ from .egeria_client import Egeria
48
48
  from .egeria_config_client import EgeriaConfig
49
49
  from .egeria_my_client import EgeriaMy
50
50
  from .egeria_tech_client import EgeriaTech
51
51
  from .feedback_manager_omvs import FeedbackManager
52
52
  from .full_omag_server_config import FullServerConfig
53
- from .glossary_browser_omvs import GlossaryBrowser
54
- from .glossary_manager_omvs import GlossaryManager
53
+ from .glossary_manager import GlossaryManager
55
54
  from .governance_officer import GovernanceOfficer
56
55
  from .mermaid_utilities import (construct_mermaid_web, construct_mermaid_jup, generate_process_graph, load_mermaid,
57
56
  parse_mermaid_code, render_mermaid, save_mermaid_graph, save_mermaid_html, )
58
57
  from .metadata_explorer_omvs import MetadataExplorer
59
58
  from .my_profile_omvs import MyProfile
60
59
  from .platform_services import Platform
61
- from .project_manager_omvs import ProjectManager
60
+ from .project_manager import ProjectManager
62
61
  from .registered_info import RegisteredInfo
63
62
  from .runtime_manager_omvs import RuntimeManager
64
63
  from .server_operations import ServerOps
@@ -67,304 +66,8 @@ from .utils import body_slimmer, print_response, to_pascal_case, to_camel_case,
67
66
  from .valid_metadata_omvs import ValidMetadataManager
68
67
  from .x_action_author_omvs import ActionAuthor
69
68
  from .template_manager_omvs import TemplateManager
70
- # from .md_processing_utils import (extract_command, process_glossary_upsert_command, process_term_upsert_command,
71
- # process_category_upsert_command, get_current_datetime_string,
72
- # process_per_proj_upsert_command, command_list, render_markdown,
73
- # process_provenance_command, process_blueprint_upsert_command,
74
- # process_solution_component_upsert_command, process_term_list_command,
75
- # process_glossary_list_command, process_category_list_command,
76
- # process_term_history_command, process_glossary_structure_command,
77
- # process_term_revision_history_command, process_create_term_term_relationship_command,
78
- # process_term_details_command,)
79
-
80
- #
81
- # The following assignments were generated by the `create_tech_guid_lists.py` utility that uses the pyegeria functions
82
- # to interrogate Egeria (and the Core Content Pack) for the GUIDS associates with integration connectors and templates.
83
- # While these GUIDS rarely change, they will evolve as new connectors are built and integrated. This could impact some
84
- # of the pyegeria methods that, as a convenience, use pre-assigned GUIDS to create new elements and such.
85
- #
86
- # This list may also be augmented (and of use) to those wishing to extend the pyegeria methods to automate or simplify
87
- # the use of custom connectors and templates.
69
+ from .data_designer import DataDesigner
88
70
  #
89
- #
90
- # global template_guids, integration_guids
91
- # TEMPLATE_GUIDS["CSV Data File"] = "13770f93-13c8-42be-9bb8-e0b1b1e52b1f"
92
- # TEMPLATE_GUIDS["Keystore File"] = "fbcfcc0c-1652-421f-b49b-c3e1c108768f"
93
- # TEMPLATE_GUIDS["Unity Catalog Server"] = "dcca9788-b30f-4007-b1ac-ec634aff6879"
94
- # INTEGRATION_GUIDS["UnityCatalogInsideCatalog"] = "74dde22f-2249-4ea3-af2b-b39e73f79b81"
95
- # INTEGRATION_GUIDS["UnityCatalogServer"] = "06d068d9-9e08-4e67-8c59-073bbf1013af"
96
- # INTEGRATION_GUIDS["JDBC"] = "70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa"
97
- # TEMPLATE_GUIDS["Data File"] = "66d8dda9-00cf-4e59-938c-4b0583596b1e"
98
- # TEMPLATE_GUIDS["View Server"] = "fd61ca01-390d-4aa2-a55d-426826aa4e1b"
99
- # TEMPLATE_GUIDS["Archive File"] = "7578e504-d00f-406d-a194-3fc0a351cdf9"
100
- # TEMPLATE_GUIDS["Unity Catalog Catalog"] = "5ee006aa-a6d6-411b-9b8d-5f720c079cae"
101
- # TEMPLATE_GUIDS[
102
- # "PostgreSQL Relational Database"
103
- # ] = "3d398b3f-7ae6-4713-952a-409f3dea8520"
104
- # INTEGRATION_GUIDS["JDBC"] = "70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa"
105
- # TEMPLATE_GUIDS["Program File"] = "32d27e9c-1fdf-455a-ad2a-42b4d7d99108"
106
- # TEMPLATE_GUIDS["FileFolder"] = "fbdd8efd-1b69-474c-bb6d-0a304b394146"
107
- # INTEGRATION_GUIDS["ContentPacksMonitor"] = "6bb2181e-7724-4515-ba3c-877cded55980"
108
- # INTEGRATION_GUIDS["GeneralFilesMonitor"] = "1b98cdac-dd0a-4621-93db-99ef5a1098bc"
109
- # INTEGRATION_GUIDS["SampleDataFilesMonitor"] = "cd6479e1-2fe7-4426-b358-8a0cf70be117"
110
- # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
111
- # TEMPLATE_GUIDS["JDBC Endpoint"] = "3d79ce50-1887-4627-ad71-ba4649aba2bc"
112
- # TEMPLATE_GUIDS["PostgreSQL Server"] = "542134e6-b9ce-4dce-8aef-22e8daf34fdb"
113
- # INTEGRATION_GUIDS["PostgreSQLServer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
114
- # TEMPLATE_GUIDS["Audio Data File"] = "39b4b670-7f15-4744-a5ba-62e8edafbcee"
115
- # TEMPLATE_GUIDS["Document File"] = "eb6f728d-fa54-4350-9807-1199cbf96851"
116
- # TEMPLATE_GUIDS["Integration Daemon"] = "6b3516f0-dd13-4786-9601-07215f995197"
117
- # TEMPLATE_GUIDS["XML Data File"] = "ea67ae71-c674-473e-b38b-689879d2a7d9"
118
- # TEMPLATE_GUIDS["REST API Endpoint"] = "9ea4bff4-d193-492f-bcad-6e68c07c6f9e"
119
- # TEMPLATE_GUIDS["Unity Catalog Schema"] = "5bf92b0f-3970-41ea-b0a3-aacfbf6fd92e"
120
- # TEMPLATE_GUIDS["Parquet Data File"] = "7f6cd744-79c3-4d25-a056-eeb1a91574c3"
121
- # TEMPLATE_GUIDS["3D Image Data File"] = "0059ea2b-6292-4cac-aa6f-a80a605f1114"
122
- # TEMPLATE_GUIDS["YAML File"] = "2221855b-2b64-4b45-a2ee-c40adc5e2a64"
123
- # TEMPLATE_GUIDS["Metadata Access Server"] = "bd8de890-fa79-4c24-aab8-20b41b5893dd"
124
- # TEMPLATE_GUIDS["Properties File"] = "3b281111-a0ef-4fc4-99e7-9a0ef84a7636"
125
- # TEMPLATE_GUIDS["Vector Data File"] = "db1bec7f-55a9-40d3-91c0-a57b76d422e2"
126
- # TEMPLATE_GUIDS["Apache Kafka Server"] = "5e1ff810-5418-43f7-b7c4-e6e062f9aff7"
127
- # INTEGRATION_GUIDS["KafkaTopic"] = "fa1f711c-0b34-4b57-8e6e-16162b132b0c"
128
- # TEMPLATE_GUIDS["Executable File"] = "3d99a163-7a13-4576-a212-784010a8302a"
129
- # INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
130
- # TEMPLATE_GUIDS["Unity Catalog Table"] = "6cc1e5f5-4c1e-4290-a80e-e06643ffb13d"
131
- # TEMPLATE_GUIDS["JSON Data File"] = "c4836635-7e9e-446a-83b5-15e206b1aff3"
132
- # TEMPLATE_GUIDS["File System"] = "522f228c-097c-4f90-9efc-26c1f2696f87"
133
- # TEMPLATE_GUIDS["Source Code File"] = "9c7013ef-f29b-4b01-a8ea-5ea14f64c67a"
134
- # TEMPLATE_GUIDS["Apple MacBook Pro"] = "32a9fd56-85c9-47fe-a211-9da3871bf4da"
135
- # TEMPLATE_GUIDS["Build Instruction File"] = "fbb2fa2e-8bcb-402e-9be7-5c6db9f2c504"
136
- # TEMPLATE_GUIDS["Spreadsheet Data File"] = "e4fabff5-2ba9-4050-9076-6ed917970b4c"
137
- # TEMPLATE_GUIDS["UNIX File System"] = "27117270-8667-41d0-a99a-9118f9b60199"
138
- # TEMPLATE_GUIDS["Video Data File"] = "93b2b722-ec0f-4da4-960a-b8d4922f8bf5"
139
- # TEMPLATE_GUIDS["Unity Catalog Function"] = "a490ba65-6104-4213-9be9-524e16fed8aa"
140
- # TEMPLATE_GUIDS[
141
- # "PostgreSQL Relational Database Schema"
142
- # ] = "82a5417c-d882-4271-8444-4c6a996a8bfc"
143
- # TEMPLATE_GUIDS["Engine Host"] = "1764a891-4234-45f1-8cc3-536af40c790d"
144
- # TEMPLATE_GUIDS["Avro Data File"] = "9f5be428-058e-41dd-b506-3a222283b579"
145
- # TEMPLATE_GUIDS["Unity Catalog Volume"] = "92d2d2dc-0798-41f0-9512-b10548d312b7"
146
- # TEMPLATE_GUIDS["File"] = "ae3067c7-cc72-4a18-88e1-746803c2c86f"
147
- # TEMPLATE_GUIDS["Apache Kafka Topic"] = "ea8f81c9-c59c-47de-9525-7cc59d1251e5"
148
- # TEMPLATE_GUIDS["Script File"] = "dbd5e6bb-1ff8-46f4-a007-fb0485f68c92"
149
- # TEMPLATE_GUIDS["Apache Atlas Server"] = "fe6dce45-a978-4417-ab55-17f05b8bcea7"
150
- # TEMPLATE_GUIDS["Raster Data File"] = "47211156-f03f-4881-8526-015e695a3dac"
151
- # TEMPLATE_GUIDS["Data Folder"] = "372a0379-7060-4c9d-8d84-bc709b31794c"
152
- # INTEGRATION_GUIDS[
153
- # "MaintainDataFolderLastUpdateDate"
154
- # ] = "fd26f07c-ae44-4bc5-b457-37b43112224f"
155
- # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
156
- # TEMPLATE_GUIDS["OMAG Server Platform"] = "9b06c4dc-ddc8-47ae-b56b-28775d3a96f0"
157
- # INTEGRATION_GUIDS["OpenAPI"] = "b89d9a5a-2ea6-49bc-a4fc-e7df9f3ca93e"
158
- # INTEGRATION_GUIDS["OMAGServerPlatform"] = "dee84e6e-7a96-4975-86c1-152fb3ab759b"
159
- # INTEGRATION_GUIDS["PostgreSQLServerCataloguer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
160
- # INTEGRATION_GUIDS[
161
- # "UnityCatalogInsideCatalogSynchronizer"
162
- # ] = "74dde22f-2249-4ea3-af2b-b39e73f79b81"
163
- # INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
164
- # INTEGRATION_GUIDS["JDBCDatabaseCataloguer"] = "70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa"
165
- # INTEGRATION_GUIDS["FilesCataloguer"] = "1b98cdac-dd0a-4621-93db-99ef5a1098bc"
166
- # INTEGRATION_GUIDS["SampleDataCataloguer"] = "cd6479e1-2fe7-4426-b358-8a0cf70be117"
167
- # INTEGRATION_GUIDS[
168
- # "OpenLineageGovernanceActionPublisher"
169
- # ] = "206f8faf-04da-4b6f-8280-eeee3943afeb"
170
- # INTEGRATION_GUIDS["OpenAPICataloguer"] = "b89d9a5a-2ea6-49bc-a4fc-e7df9f3ca93e"
171
- # INTEGRATION_GUIDS[
172
- # "OMAGServerPlatformCataloguer"
173
- # ] = "dee84e6e-7a96-4975-86c1-152fb3ab759b"
174
- # INTEGRATION_GUIDS["ApacheKafkaCataloguer"] = "fa1f711c-0b34-4b57-8e6e-16162b132b0c"
175
- # INTEGRATION_GUIDS[
176
- # "UnityCatalogServerSynchronizer"
177
- # ] = "06d068d9-9e08-4e67-8c59-073bbf1013af"
178
- # INTEGRATION_GUIDS["MaintainLastUpdateDate"] = "fd26f07c-ae44-4bc5-b457-37b43112224f"
179
- # INTEGRATION_GUIDS["OpenLineageKafkaListener"] = "980b989c-de78-4e6a-a58d-51049d7381bf"
180
- # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
181
- # INTEGRATION_GUIDS["ContentPacksCataloguer"] = "6bb2181e-7724-4515-ba3c-877cded55980"
182
- # INTEGRATION_GUIDS["OpenLineageCataloguer"] = "3347ac71-8dd2-403a-bc16-75a71be64bd7"
183
- # global template_guids, integration_guids
184
- # TEMPLATE_GUIDS["CSV Data File"] = "13770f93-13c8-42be-9bb8-e0b1b1e52b1f"
185
- # TEMPLATE_GUIDS["File System Directory"] = "c353fd5d-9523-4a5e-a5e2-723ae490fe54"
186
- # INTEGRATION_GUIDS["GeneralFilesMonitor"] = "1b98cdac-dd0a-4621-93db-99ef5a1098bc"
187
- # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
188
- # INTEGRATION_GUIDS["ContentPacksMonitor"] = "6bb2181e-7724-4515-ba3c-877cded55980"
189
- # INTEGRATION_GUIDS["SampleDataFilesMonitor"] = "cd6479e1-2fe7-4426-b358-8a0cf70be117"
190
- # TEMPLATE_GUIDS["Keystore File"] = "fbcfcc0c-1652-421f-b49b-c3e1c108768f"
191
- # TEMPLATE_GUIDS["Unity Catalog Server"] = "dcca9788-b30f-4007-b1ac-ec634aff6879"
192
- # INTEGRATION_GUIDS["UnityCatalogInsideCatalog"] = "74dde22f-2249-4ea3-af2b-b39e73f79b81"
193
- # INTEGRATION_GUIDS["UnityCatalogServer"] = "06d068d9-9e08-4e67-8c59-073bbf1013af"
194
- # INTEGRATION_GUIDS["JDBC"] = "70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa"
195
- # TEMPLATE_GUIDS["Data File"] = "66d8dda9-00cf-4e59-938c-4b0583596b1e"
196
- # TEMPLATE_GUIDS["View Server"] = "fd61ca01-390d-4aa2-a55d-426826aa4e1b"
197
- # TEMPLATE_GUIDS["Archive File"] = "7578e504-d00f-406d-a194-3fc0a351cdf9"
198
- # TEMPLATE_GUIDS["Unity Catalog Catalog"] = "5ee006aa-a6d6-411b-9b8d-5f720c079cae"
199
- # TEMPLATE_GUIDS[
200
- # "PostgreSQL Relational Database"
201
- # ] = "3d398b3f-7ae6-4713-952a-409f3dea8520"
202
- # INTEGRATION_GUIDS["PostgreSQLDatabase"] = "ef301220-7dfe-4c6c-bb9d-8f92d9f63823"
203
- # TEMPLATE_GUIDS["Program File"] = "32d27e9c-1fdf-455a-ad2a-42b4d7d99108"
204
- # TEMPLATE_GUIDS["JDBC Endpoint"] = "3d79ce50-1887-4627-ad71-ba4649aba2bc"
205
- # TEMPLATE_GUIDS["PostgreSQL Server"] = "542134e6-b9ce-4dce-8aef-22e8daf34fdb"
206
- # INTEGRATION_GUIDS["PostgreSQLServer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
207
- # TEMPLATE_GUIDS["Audio Data File"] = "39b4b670-7f15-4744-a5ba-62e8edafbcee"
208
- # TEMPLATE_GUIDS["Document File"] = "eb6f728d-fa54-4350-9807-1199cbf96851"
209
- # TEMPLATE_GUIDS["Integration Daemon"] = "6b3516f0-dd13-4786-9601-07215f995197"
210
- # TEMPLATE_GUIDS["XML Data File"] = "ea67ae71-c674-473e-b38b-689879d2a7d9"
211
- # TEMPLATE_GUIDS["REST API Endpoint"] = "9ea4bff4-d193-492f-bcad-6e68c07c6f9e"
212
- # TEMPLATE_GUIDS["Unity Catalog Schema"] = "5bf92b0f-3970-41ea-b0a3-aacfbf6fd92e"
213
- # TEMPLATE_GUIDS["Parquet Data File"] = "7f6cd744-79c3-4d25-a056-eeb1a91574c3"
214
- # TEMPLATE_GUIDS["3D Image Data File"] = "0059ea2b-6292-4cac-aa6f-a80a605f1114"
215
- # TEMPLATE_GUIDS["YAML File"] = "2221855b-2b64-4b45-a2ee-c40adc5e2a64"
216
- # TEMPLATE_GUIDS["Metadata Access Server"] = "bd8de890-fa79-4c24-aab8-20b41b5893dd"
217
- # TEMPLATE_GUIDS["Properties File"] = "3b281111-a0ef-4fc4-99e7-9a0ef84a7636"
218
- # TEMPLATE_GUIDS["Vector Data File"] = "db1bec7f-55a9-40d3-91c0-a57b76d422e2"
219
- # TEMPLATE_GUIDS["Executable File"] = "3d99a163-7a13-4576-a212-784010a8302a"
220
- # INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
221
- # TEMPLATE_GUIDS["Unity Catalog Table"] = "6cc1e5f5-4c1e-4290-a80e-e06643ffb13d"
222
- # TEMPLATE_GUIDS["JSON Data File"] = "c4836635-7e9e-446a-83b5-15e206b1aff3"
223
- # TEMPLATE_GUIDS["File System"] = "522f228c-097c-4f90-9efc-26c1f2696f87"
224
- # TEMPLATE_GUIDS["Source Code File"] = "9c7013ef-f29b-4b01-a8ea-5ea14f64c67a"
225
- # TEMPLATE_GUIDS["Apple MacBook Pro"] = "32a9fd56-85c9-47fe-a211-9da3871bf4da"
226
- # TEMPLATE_GUIDS["Build Instruction File"] = "fbb2fa2e-8bcb-402e-9be7-5c6db9f2c504"
227
- # TEMPLATE_GUIDS["Spreadsheet Data File"] = "e4fabff5-2ba9-4050-9076-6ed917970b4c"
228
- # TEMPLATE_GUIDS["UNIX File System"] = "27117270-8667-41d0-a99a-9118f9b60199"
229
- # TEMPLATE_GUIDS["Video Data File"] = "93b2b722-ec0f-4da4-960a-b8d4922f8bf5"
230
- # TEMPLATE_GUIDS["Unity Catalog Function"] = "a490ba65-6104-4213-9be9-524e16fed8aa"
231
- # TEMPLATE_GUIDS[
232
- # "PostgreSQL Relational Database Schema"
233
- # ] = "82a5417c-d882-4271-8444-4c6a996a8bfc"
234
- # TEMPLATE_GUIDS["Engine Host"] = "1764a891-4234-45f1-8cc3-536af40c790d"
235
- # TEMPLATE_GUIDS["Avro Data File"] = "9f5be428-058e-41dd-b506-3a222283b579"
236
- # TEMPLATE_GUIDS["Unity Catalog Volume"] = "92d2d2dc-0798-41f0-9512-b10548d312b7"
237
- # TEMPLATE_GUIDS["File"] = "ae3067c7-cc72-4a18-88e1-746803c2c86f"
238
- # TEMPLATE_GUIDS["Apache Kafka Topic"] = "ea8f81c9-c59c-47de-9525-7cc59d1251e5"
239
- # INTEGRATION_GUIDS["OpenLineageKafkaListener"] = "980b989c-de78-4e6a-a58d-51049d7381bf"
240
- # TEMPLATE_GUIDS["Script File"] = "dbd5e6bb-1ff8-46f4-a007-fb0485f68c92"
241
- # TEMPLATE_GUIDS["Raster Data File"] = "47211156-f03f-4881-8526-015e695a3dac"
242
- # TEMPLATE_GUIDS["Data Folder"] = "372a0379-7060-4c9d-8d84-bc709b31794c"
243
- # INTEGRATION_GUIDS[
244
- # "MaintainDataFolderLastUpdateDate"
245
- # ] = "fd26f07c-ae44-4bc5-b457-37b43112224f"
246
- # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
247
- # TEMPLATE_GUIDS["OMAG Server Platform"] = "9b06c4dc-ddc8-47ae-b56b-28775d3a96f0"
248
- # INTEGRATION_GUIDS["OMAGServerPlatform"] = "dee84e6e-7a96-4975-86c1-152fb3ab759b"
249
- # INTEGRATION_GUIDS["PostgreSQLServerCataloguer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
250
- # INTEGRATION_GUIDS[
251
- # "UnityCatalogInsideCatalogSynchronizer"
252
- # ] = "74dde22f-2249-4ea3-af2b-b39e73f79b81"
253
- # INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
254
- # INTEGRATION_GUIDS[
255
- # "PostgreSQLDatabaseCataloguer"
256
- # ] = "ef301220-7dfe-4c6c-bb9d-8f92d9f63823"
257
- # INTEGRATION_GUIDS["JDBCDatabaseCataloguer"] = "70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa"
258
- # INTEGRATION_GUIDS["FilesCataloguer"] = "1b98cdac-dd0a-4621-93db-99ef5a1098bc"
259
- # INTEGRATION_GUIDS["SampleDataCataloguer"] = "cd6479e1-2fe7-4426-b358-8a0cf70be117"
260
- # INTEGRATION_GUIDS[
261
- # "OpenLineageGovernanceActionPublisher"
262
- # ] = "206f8faf-04da-4b6f-8280-eeee3943afeb"
263
- # INTEGRATION_GUIDS[
264
- # "OMAGServerPlatformCataloguer"
265
- # ] = "dee84e6e-7a96-4975-86c1-152fb3ab759b"
266
- # INTEGRATION_GUIDS[
267
- # "UnityCatalogServerSynchronizer"
268
- # ] = "06d068d9-9e08-4e67-8c59-073bbf1013af"
269
- # INTEGRATION_GUIDS["MaintainLastUpdateDate"] = "fd26f07c-ae44-4bc5-b457-37b43112224f"
270
- # INTEGRATION_GUIDS["OpenLineageKafkaListener"] = "980b989c-de78-4e6a-a58d-51049d7381bf"
271
- # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
272
- # INTEGRATION_GUIDS["ContentPacksCataloguer"] = "6bb2181e-7724-4515-ba3c-877cded55980"
273
- # INTEGRATION_GUIDS["OpenLineageCataloguer"] = "3347ac71-8dd2-403a-bc16-75a71be64bd7"
274
-
275
- # TEMPLATE_GUIDS["CSV Data File"] = "13770f93-13c8-42be-9bb8-e0b1b1e52b1f"
276
- # TEMPLATE_GUIDS["File System Directory"] = "c353fd5d-9523-4a5e-a5e2-723ae490fe54"
277
- # INTEGRATION_GUIDS["GeneralFilesMonitor"] = "1b98cdac-dd0a-4621-93db-99ef5a1098bc"
278
- # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
279
- # INTEGRATION_GUIDS["ContentPacksMonitor"] = "6bb2181e-7724-4515-ba3c-877cded55980"
280
- # INTEGRATION_GUIDS["SampleDataFilesMonitor"] = "cd6479e1-2fe7-4426-b358-8a0cf70be117"
281
- # TEMPLATE_GUIDS["Keystore File"] = "fbcfcc0c-1652-421f-b49b-c3e1c108768f"
282
- # TEMPLATE_GUIDS["Unity Catalog Server"] = "dcca9788-b30f-4007-b1ac-ec634aff6879"
283
- # INTEGRATION_GUIDS["UnityCatalogInsideCatalog"] = "74dde22f-2249-4ea3-af2b-b39e73f79b81"
284
- # INTEGRATION_GUIDS["UnityCatalogServer"] = "06d068d9-9e08-4e67-8c59-073bbf1013af"
285
- # INTEGRATION_GUIDS["JDBC"] = "70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa"
286
- # TEMPLATE_GUIDS["Data File"] = "66d8dda9-00cf-4e59-938c-4b0583596b1e"
287
- # TEMPLATE_GUIDS["View Server"] = "fd61ca01-390d-4aa2-a55d-426826aa4e1b"
288
- # TEMPLATE_GUIDS["Archive File"] = "7578e504-d00f-406d-a194-3fc0a351cdf9"
289
- # TEMPLATE_GUIDS["Unity Catalog Catalog"] = "5ee006aa-a6d6-411b-9b8d-5f720c079cae"
290
- # TEMPLATE_GUIDS["PostgreSQL Relational Database"] = (
291
- # "3d398b3f-7ae6-4713-952a-409f3dea8520"
292
- # )
293
- # INTEGRATION_GUIDS["PostgreSQLDatabase"] = "ef301220-7dfe-4c6c-bb9d-8f92d9f63823"
294
- # TEMPLATE_GUIDS["Program File"] = "32d27e9c-1fdf-455a-ad2a-42b4d7d99108"
295
- # TEMPLATE_GUIDS["JDBC Endpoint"] = "3d79ce50-1887-4627-ad71-ba4649aba2bc"
296
- # TEMPLATE_GUIDS["PostgreSQL Server"] = "542134e6-b9ce-4dce-8aef-22e8daf34fdb"
297
- # INTEGRATION_GUIDS["PostgreSQLServer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
298
- # TEMPLATE_GUIDS["Audio Data File"] = "39b4b670-7f15-4744-a5ba-62e8edafbcee"
299
- # TEMPLATE_GUIDS["Document File"] = "eb6f728d-fa54-4350-9807-1199cbf96851"
300
- # TEMPLATE_GUIDS["Integration Daemon"] = "6b3516f0-dd13-4786-9601-07215f995197"
301
- # TEMPLATE_GUIDS["XML Data File"] = "ea67ae71-c674-473e-b38b-689879d2a7d9"
302
- # TEMPLATE_GUIDS["REST API Endpoint"] = "9ea4bff4-d193-492f-bcad-6e68c07c6f9e"
303
- # TEMPLATE_GUIDS["Unity Catalog Schema"] = "5bf92b0f-3970-41ea-b0a3-aacfbf6fd92e"
304
- # TEMPLATE_GUIDS["Parquet Data File"] = "7f6cd744-79c3-4d25-a056-eeb1a91574c3"
305
- # TEMPLATE_GUIDS["3D Image Data File"] = "0059ea2b-6292-4cac-aa6f-a80a605f1114"
306
- # TEMPLATE_GUIDS["YAML File"] = "2221855b-2b64-4b45-a2ee-c40adc5e2a64"
307
- # TEMPLATE_GUIDS["Metadata Access Server"] = "bd8de890-fa79-4c24-aab8-20b41b5893dd"
308
- # TEMPLATE_GUIDS["Properties File"] = "3b281111-a0ef-4fc4-99e7-9a0ef84a7636"
309
- # TEMPLATE_GUIDS["Vector Data File"] = "db1bec7f-55a9-40d3-91c0-a57b76d422e2"
310
- # TEMPLATE_GUIDS["Databricks Unity Catalog Server"] = (
311
- # "3f7f62f6-4abc-424e-9f92-523306e7d5d5"
312
- # )
313
- # TEMPLATE_GUIDS["Executable File"] = "3d99a163-7a13-4576-a212-784010a8302a"
314
- # INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
315
- # TEMPLATE_GUIDS["Unity Catalog Table"] = "6cc1e5f5-4c1e-4290-a80e-e06643ffb13d"
316
- # TEMPLATE_GUIDS["JSON Data File"] = "c4836635-7e9e-446a-83b5-15e206b1aff3"
317
- # TEMPLATE_GUIDS["File System"] = "522f228c-097c-4f90-9efc-26c1f2696f87"
318
- # TEMPLATE_GUIDS["Source Code File"] = "9c7013ef-f29b-4b01-a8ea-5ea14f64c67a"
319
- # TEMPLATE_GUIDS["Apple MacBook Pro"] = "32a9fd56-85c9-47fe-a211-9da3871bf4da"
320
- # TEMPLATE_GUIDS["Build Instruction File"] = "fbb2fa2e-8bcb-402e-9be7-5c6db9f2c504"
321
- # TEMPLATE_GUIDS["Spreadsheet Data File"] = "e4fabff5-2ba9-4050-9076-6ed917970b4c"
322
- # TEMPLATE_GUIDS["UNIX File System"] = "27117270-8667-41d0-a99a-9118f9b60199"
323
- # TEMPLATE_GUIDS["Video Data File"] = "93b2b722-ec0f-4da4-960a-b8d4922f8bf5"
324
- # TEMPLATE_GUIDS["Unity Catalog Function"] = "a490ba65-6104-4213-9be9-524e16fed8aa"
325
- # TEMPLATE_GUIDS["PostgreSQL Relational Database Schema"] = (
326
- # "82a5417c-d882-4271-8444-4c6a996a8bfc"
327
- # )
328
- # TEMPLATE_GUIDS["Engine Host"] = "1764a891-4234-45f1-8cc3-536af40c790d"
329
- # TEMPLATE_GUIDS["Avro Data File"] = "9f5be428-058e-41dd-b506-3a222283b579"
330
- # TEMPLATE_GUIDS["Unity Catalog Volume"] = "92d2d2dc-0798-41f0-9512-b10548d312b7"
331
- # TEMPLATE_GUIDS["File"] = "ae3067c7-cc72-4a18-88e1-746803c2c86f"
332
- # TEMPLATE_GUIDS["Apache Kafka Topic"] = "ea8f81c9-c59c-47de-9525-7cc59d1251e5"
333
- # INTEGRATION_GUIDS["OpenLineageKafkaListener"] = "980b989c-de78-4e6a-a58d-51049d7381bf"
334
- # TEMPLATE_GUIDS["Script File"] = "dbd5e6bb-1ff8-46f4-a007-fb0485f68c92"
335
- # TEMPLATE_GUIDS["Raster Data File"] = "47211156-f03f-4881-8526-015e695a3dac"
336
- # TEMPLATE_GUIDS["Data Folder"] = "372a0379-7060-4c9d-8d84-bc709b31794c"
337
- # INTEGRATION_GUIDS["MaintainDataFolderLastUpdateDate"] = (
338
- # "fd26f07c-ae44-4bc5-b457-37b43112224f"
339
- # )
340
- # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
341
- # TEMPLATE_GUIDS["OMAG Server Platform"] = "9b06c4dc-ddc8-47ae-b56b-28775d3a96f0"
342
- # INTEGRATION_GUIDS["OMAGServerPlatform"] = "dee84e6e-7a96-4975-86c1-152fb3ab759b"
343
- # INTEGRATION_GUIDS["OpenLineageAPIPublisher"] = "2156bc98-973a-4859-908d-4ccc96f53cc5"
344
- # INTEGRATION_GUIDS["UnityCatalogInsideCatalogSynchronizer"] = (
345
- # "74dde22f-2249-4ea3-af2b-b39e73f79b81"
346
- # )
347
- # INTEGRATION_GUIDS["PostgreSQLServerCataloguer"] = "36f69fd0-54ba-4f59-8a44-11ccf2687a34"
348
- # INTEGRATION_GUIDS["PostgreSQLDatabaseCataloguer"] = (
349
- # "ef301220-7dfe-4c6c-bb9d-8f92d9f63823"
350
- # )
351
- # INTEGRATION_GUIDS["JDBCDatabaseCataloguer"] = "70dcd0b7-9f06-48ad-ad44-ae4d7a7762aa"
352
- # INTEGRATION_GUIDS["FilesCataloguer"] = "1b98cdac-dd0a-4621-93db-99ef5a1098bc"
353
- # INTEGRATION_GUIDS["SampleDataCataloguer"] = "cd6479e1-2fe7-4426-b358-8a0cf70be117"
354
- # INTEGRATION_GUIDS["OpenLineageGovernanceActionPublisher"] = (
355
- # "206f8faf-04da-4b6f-8280-eeee3943afeb"
356
- # )
357
- # INTEGRATION_GUIDS["OMAGServerPlatformCataloguer"] = (
358
- # "dee84e6e-7a96-4975-86c1-152fb3ab759b"
359
- # )
360
- # INTEGRATION_GUIDS["UnityCatalogServerSynchronizer"] = (
361
- # "06d068d9-9e08-4e67-8c59-073bbf1013af"
362
- # )
363
- # INTEGRATION_GUIDS["MaintainLastUpdateDate"] = "fd26f07c-ae44-4bc5-b457-37b43112224f"
364
- # INTEGRATION_GUIDS["OpenLineageKafkaListener"] = "980b989c-de78-4e6a-a58d-51049d7381bf"
365
- # INTEGRATION_GUIDS["OpenLineageFilePublisher"] = "6271b678-7d22-4cdf-87b1-45b366beaf4e"
366
- # INTEGRATION_GUIDS["ContentPacksCataloguer"] = "6bb2181e-7724-4515-ba3c-877cded55980"
367
- # INTEGRATION_GUIDS["OpenLineageCataloguer"] = "3347ac71-8dd2-403a-bc16-75a71be64bd7"
368
71
  global template_guids, integration_guids
369
72
  # 2/12/25
370
73
  #
pyegeria/_client_new.py CHANGED
@@ -380,7 +380,7 @@ class Client2:
380
380
  endpoint: str,
381
381
  payload: str | dict = None,
382
382
  time_out: int = 30,
383
- is_json: bool = True,
383
+ is_json: bool = True
384
384
  ) -> Response | str:
385
385
  """Make a request to the Egeria API."""
386
386
  try:
@@ -401,7 +401,7 @@ class Client2:
401
401
  endpoint: str,
402
402
  payload: str | dict = None,
403
403
  time_out: int = 30,
404
- is_json: bool = True,
404
+ is_json: bool = True
405
405
  ) -> Response | str:
406
406
  """Make a request to the Egeria API - Async Version
407
407
  Function to make an API call via the self.session Library. Raise an exception if the HTTP response code
@@ -917,7 +917,7 @@ class Client2:
917
917
  logger.info(NO_ELEMENTS_FOUND)
918
918
  return NO_ELEMENTS_FOUND
919
919
 
920
- if output_format != 'JSON': # return a simplified markdown representation
920
+ if output_format.upper() != 'JSON': # return a simplified markdown representation
921
921
  # logger.info(f"Found elements, output format: {output_format} and output_format_set: {output_format_set}")
922
922
  return _gen_output(elements, search_string, _type,
923
923
  output_format, output_format_set)
@@ -935,6 +935,7 @@ class Client2:
935
935
  validated_body = self._filter_request_adapter.validate_python(body)
936
936
  else:
937
937
  filter_string = None if filter_string is "*" else filter_string
938
+ classification_names = None if classification_names == [] else classification_names
938
939
  body = {
939
940
  "class": "FilterRequestBody",
940
941
  "filter": filter_string,
@@ -947,7 +948,7 @@ class Client2:
947
948
  # classification_names = validated_body.include_only_classified_elements
948
949
  # element_type_name = classification_names[0] if classification_names else _type
949
950
 
950
- json_body = validated_body.model_dump_json(indent=2)
951
+ json_body = validated_body.model_dump_json(indent=2, exclude_none=True)
951
952
 
952
953
  response = await self._async_make_request("POST", url, json_body)
953
954
  elements = response.json().get("elements", NO_ELEMENTS_FOUND)
@@ -72,12 +72,12 @@ from loguru import logger
72
72
 
73
73
  from pyegeria._output_format_models import (Column, Format, ActionParameter, FormatSet, FormatSetDict,
74
74
  save_format_sets_to_json, load_format_sets_from_json)
75
- from pyegeria.load_config import get_app_config
75
+ from pyegeria.load_config import settings
76
76
 
77
77
 
78
78
  # Get the configured value for the user format sets directory
79
- app_config = get_app_config()
80
- USER_FORMAT_SETS_DIR = os.path.expanduser(app_config.Environment.pyegeria_user_format_sets_dir)
79
+
80
+ USER_FORMAT_SETS_DIR = os.path.expanduser(settings.Environment.pyegeria_user_format_sets_dir)
81
81
 
82
82
  # Constants
83
83
  MD_SEPARATOR = "\n---\n\n"
@@ -121,7 +121,16 @@ COMMON_FORMATS_ALL = Format(
121
121
  columns=COMMON_COLUMNS,
122
122
  )
123
123
 
124
+ PROJECT_COLUMNS = COMMON_COLUMNS + [
125
+ Column(name="Classifications", key='classifications'),
126
+ Column(name='Priority', key='priority'),
127
+ Column(name='Project Status', key='project_status'),
128
+ Column(name='Element Status', key='status'),
129
+ Column(name='Start Date', key='start_date'),
130
+ Column(name='Assigned Actors', key='assigned_actors'),
131
+ Column(name='Resources', key='resource_list'),
124
132
 
133
+ ]
125
134
  COLLECTIONS_COLUMNS = COMMON_COLUMNS + [
126
135
  Column(name='Type Name', key='type_name'),
127
136
  Column(name='Classifications', key='classifications'),
@@ -228,6 +237,17 @@ output_format_sets = FormatSetDict({
228
237
  )
229
238
  ],
230
239
  ),
240
+ "Project": FormatSet(
241
+ heading="Project Attributes",
242
+ description="Attributes that apply to all Projects.",
243
+ annotations={},
244
+ formats=[
245
+ Format(
246
+ types=["ALL"],
247
+ columns=PROJECT_COLUMNS
248
+ )
249
+ ]
250
+ ),
231
251
  "Basic-Terms": FormatSet(
232
252
  heading="Basic Glossary Term Attributes",
233
253
  description="Attributes that apply to all Basic Glossary Terms.",
@@ -17,7 +17,7 @@ from pydantic import ValidationError, Field, HttpUrl
17
17
  from pyegeria._exceptions_new import PyegeriaInvalidParameterException
18
18
  from pyegeria._globals import NO_ELEMENTS_FOUND, NO_GUID_RETURNED, NO_MEMBERS_FOUND
19
19
  from pyegeria._output_formats import select_output_format_set, get_output_format_type_match
20
- from pyegeria.load_config import get_app_config
20
+ from pyegeria.config import settings
21
21
  from pyegeria.models import (SearchStringRequestBody, FilterRequestBody, GetRequestBody, NewElementRequestBody,
22
22
  ReferenceableProperties, InitialClassifications, TemplateRequestBody,
23
23
  UpdateElementRequestBody, UpdateStatusRequestBody, NewRelationshipRequestBody,
@@ -1118,7 +1118,7 @@ class CollectionManager(Client2):
1118
1118
  if initial_classifications:
1119
1119
  initial_classifications_dict = {}
1120
1120
  for c in initial_classifications:
1121
- initial_classifications_dict = initial_classifications_dict | {c : {"class": "ClassificationProperties"}}
1121
+ initial_classifications_dict = initial_classifications_dict | {c : {"class": f"{c}Properties"}}
1122
1122
 
1123
1123
  else:
1124
1124
  initial_classifications_dict = None
@@ -1260,7 +1260,7 @@ class CollectionManager(Client2):
1260
1260
 
1261
1261
  @dynamic_catch
1262
1262
  def create_root_collection(self, display_name: str = None, description: str = None,
1263
- category: str = None, body: dict | NewElementRequestBody = None) -> str:
1263
+ category: str = None, body: dict | NewElementRequestBody = None) -> str:
1264
1264
  """ Create a new collection with the RootCollection classification. Used to identify the top of a
1265
1265
  collection hierarchy.
1266
1266
  Create Collections: https://egeria-project.org/concepts/collection
@@ -1293,8 +1293,8 @@ class CollectionManager(Client2):
1293
1293
  """
1294
1294
 
1295
1295
  return asyncio.get_event_loop().run_until_complete(
1296
- self._async_create_collection(display_name, description, category,
1297
- ["RootCollection"], body))
1296
+ self._async_create_collection(display_name=display_name, description=description, category=category,
1297
+ initial_classifications = ["RootCollection"], body=body))
1298
1298
 
1299
1299
 
1300
1300
  @dynamic_catch
@@ -1414,25 +1414,28 @@ class CollectionManager(Client2):
1414
1414
  self._async_create_collection(display_name, description, category,
1415
1415
  ["ContextEvent"], body))
1416
1416
 
1417
- @dynamic_catch
1418
- def create_glossary_category(self, display_name: str, parent_guid: str, description: str = None ) -> str:
1419
- """Create a new glossary category."""
1420
- body = {
1421
- "class": "NewRelationshipRequestBody",
1422
- "parentGUID": parent_guid,
1423
- "parentRelationshipTypeName": "CategoryHierarchy",
1424
- "parentAtEnd1": True,
1425
- "is_own_anchor": False,
1426
- "anchor_guid": parent_guid,
1427
- "properties": {
1428
- "class": "GlossaryCategoryProperties",
1429
- "displayName": display_name,
1430
- "description": description,
1431
- "parentCategory": parent_guid,
1432
- },
1433
- }
1434
- response = self.create_collection(body=body)
1435
- return response
1417
+ # @dynamic_catch
1418
+ # def create_glossary(self, display_name: str, description: str = None, language: str = "English", usage: str = None,
1419
+ # category: str = None, body: dict | NewElementRequestBody = None) -> str:
1420
+ # """Create a new glossary with optional classification. """
1421
+ # if body is None:
1422
+ #
1423
+ # qualified_name = self.__create_qualified_name__("Glossary", display_name, EGERIA_LOCAL_QUALIFIER)
1424
+ # body = {
1425
+ # "class": "NewElementRequestBody",
1426
+ # "is_own_anchor": True,
1427
+ # "properties": {
1428
+ # "class": "GlossaryProperties",
1429
+ # "displayName": display_name,
1430
+ # "qualifiedName": qualified_name,
1431
+ # "description": description,
1432
+ # "language": language,
1433
+ # "usage": usage,
1434
+ # "category": category
1435
+ # },
1436
+ # }
1437
+ # response = self.create_collection(body=body)
1438
+ # return response
1436
1439
 
1437
1440
  @dynamic_catch
1438
1441
  async def _async_create_data_spec_collection(self, display_name: str = None, description: str = None,
@@ -5091,11 +5094,11 @@ class CollectionManager(Client2):
5091
5094
  loop = asyncio.get_event_loop()
5092
5095
  loop.run_until_complete(self._async_add_to_collection(collection_guid, element_guid, body))
5093
5096
 
5094
- def add_term_to_category(self, category_guid: str, term_guid: str,
5097
+ def add_term_to_folder(self, folder_guid: str, term_guid: str,
5095
5098
  body: dict | NewRelationshipRequestBody = None) -> None:
5096
5099
  """Add a term to a category. The request body is optional."""
5097
5100
  loop = asyncio.get_event_loop()
5098
- loop.run_until_complete(self._async_add_to_collection(category_guid, term_guid, body))
5101
+ loop.run_until_complete(self._async_add_to_collection(folder_guid, term_guid, body))
5099
5102
 
5100
5103
 
5101
5104
  @dynamic_catch
@@ -5322,7 +5325,7 @@ class CollectionManager(Client2):
5322
5325
  #
5323
5326
 
5324
5327
 
5325
- def remove_term_from_category(self, category_guid: str, term_guid: str,
5328
+ def remove_term_from_category(self, folder_guid: str, term_guid: str,
5326
5329
  body: dict | DeleteRequestBody= None) -> None:
5327
5330
  """Remove a term from a category.
5328
5331
 
@@ -5354,7 +5357,7 @@ class CollectionManager(Client2):
5354
5357
 
5355
5358
  """
5356
5359
  loop = asyncio.get_event_loop()
5357
- loop.run_until_complete(self._async_remove_from_collection(category_guid, term_guid, body))
5360
+ loop.run_until_complete(self._async_remove_from_collection(folder_guid, term_guid, body))
5358
5361
 
5359
5362
  #
5360
5363
  #
@@ -444,7 +444,7 @@ def load_app_config(env_file: str = None):
444
444
  return _app_config
445
445
 
446
446
 
447
- def get_app_config(env_file: str = None):
447
+ def get_app_config(env_file: str = None)-> AppConfig:
448
448
  """
449
449
  Provides access to the loaded application configuration.
450
450
  Ensures config is loaded if not already (useful for testing or simple scripts).
@@ -465,6 +465,8 @@ def get_app_config(env_file: str = None):
465
465
  return _app_config
466
466
 
467
467
 
468
+
469
+
468
470
  def _parse_bool_env(env_var: str, default: bool) -> bool:
469
471
  """
470
472
  Parse a boolean environment variable.
@@ -515,4 +517,7 @@ def _parse_list_env(env_var: str, default: List[str]) -> List[str]:
515
517
  value = os.getenv(env_var)
516
518
  if value:
517
519
  return [item.strip() for item in value.split(',')]
518
- return default
520
+ return default
521
+
522
+
523
+ settings = get_app_config()