pyegeria 5.3.9.9.3__py3-none-any.whl → 5.5.3.3__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.

Potentially problematic release.


This version of pyegeria might be problematic. Click here for more details.

Files changed (272) hide show
  1. commands/__init__.py +24 -0
  2. commands/cat/Dr-Egeria_md-orig.py +2 -2
  3. commands/cat/__init__.py +1 -17
  4. commands/cat/collection_actions.py +197 -0
  5. commands/cat/dr_egeria_command_help.py +372 -0
  6. commands/cat/dr_egeria_jupyter.py +7 -7
  7. commands/cat/dr_egeria_md.py +27 -182
  8. commands/cat/exp_list_glossaries.py +11 -14
  9. commands/cat/get_asset_graph.py +37 -267
  10. commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
  11. commands/cat/get_project_dependencies.py +14 -14
  12. commands/cat/get_project_structure.py +15 -14
  13. commands/cat/get_tech_type_elements.py +16 -116
  14. commands/cat/glossary_actions.py +145 -298
  15. commands/cat/list_assets.py +3 -11
  16. commands/cat/list_cert_types.py +17 -63
  17. commands/cat/list_collections.py +46 -138
  18. commands/cat/list_deployed_catalogs.py +15 -27
  19. commands/cat/list_deployed_database_schemas.py +27 -43
  20. commands/cat/list_deployed_databases.py +16 -31
  21. commands/cat/list_deployed_servers.py +35 -54
  22. commands/cat/list_glossaries.py +18 -17
  23. commands/cat/list_projects.py +10 -12
  24. commands/cat/list_tech_type_elements.py +21 -37
  25. commands/cat/list_tech_types.py +13 -25
  26. commands/cat/list_terms.py +38 -79
  27. commands/cat/list_todos.py +4 -11
  28. commands/cat/list_user_ids.py +3 -10
  29. commands/cat/my_reports.py +559 -0
  30. commands/cat/run_report.py +394 -0
  31. commands/cat/run_report_orig.py +528 -0
  32. commands/cli/egeria.py +222 -247
  33. commands/cli/egeria_cat.py +68 -81
  34. commands/cli/egeria_my.py +13 -0
  35. commands/cli/egeria_ops.py +69 -74
  36. commands/cli/egeria_tech.py +17 -93
  37. commands/cli/ops_config.py +3 -6
  38. commands/{cat/list_categories.py → deprecated/list_data_designer.py} +53 -64
  39. commands/{cat/list_data_structures.py → deprecated/list_data_structures_full.py} +3 -6
  40. commands/deprecated/old_get_asset_graph.py +315 -0
  41. commands/my/__init__.py +0 -2
  42. commands/my/list_my_profile.py +27 -34
  43. commands/my/list_my_roles.py +1 -7
  44. commands/my/monitor_my_todos.py +1 -7
  45. commands/my/monitor_open_todos.py +6 -7
  46. commands/my/todo_actions.py +4 -5
  47. commands/ops/__init__.py +0 -2
  48. commands/ops/gov_server_actions.py +17 -21
  49. commands/ops/list_archives.py +17 -38
  50. commands/ops/list_catalog_targets.py +33 -40
  51. commands/ops/load_archive.py +35 -26
  52. commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
  53. commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
  54. commands/ops/monitor_engine_activity.py +79 -77
  55. commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
  56. commands/ops/monitor_platform_status.py +38 -50
  57. commands/ops/monitor_server_startup.py +6 -11
  58. commands/ops/monitor_server_status.py +7 -11
  59. commands/ops/orig_monitor_server_list.py +8 -8
  60. commands/ops/orig_monitor_server_status.py +1 -5
  61. commands/ops/refresh_integration_daemon.py +5 -5
  62. commands/ops/restart_integration_daemon.py +5 -5
  63. commands/ops/table_integ_daemon_status.py +6 -6
  64. commands/ops/x_engine_actions.py +7 -7
  65. commands/tech/__init__.py +0 -2
  66. commands/tech/{generic_actions.py → element_actions.py} +6 -11
  67. commands/tech/get_element_info.py +20 -29
  68. commands/tech/get_guid_info.py +23 -42
  69. commands/tech/get_tech_details.py +20 -35
  70. commands/tech/get_tech_type_template.py +28 -39
  71. commands/tech/list_all_om_type_elements.py +24 -30
  72. commands/tech/list_all_om_type_elements_x.py +22 -28
  73. commands/tech/list_all_related_elements.py +19 -28
  74. commands/tech/list_anchored_elements.py +22 -30
  75. commands/tech/list_asset_types.py +19 -24
  76. commands/tech/list_elements_by_classification_by_property_value.py +26 -32
  77. commands/tech/list_elements_by_property_value.py +19 -25
  78. commands/tech/list_elements_by_property_value_x.py +20 -28
  79. commands/tech/list_elements_for_classification.py +28 -41
  80. commands/tech/list_gov_action_processes.py +16 -27
  81. commands/tech/list_information_supply_chains.py +22 -30
  82. commands/tech/list_registered_services.py +14 -26
  83. commands/tech/list_related_elements_with_prop_value.py +15 -25
  84. commands/tech/list_related_specification.py +1 -4
  85. commands/tech/list_relationship_types.py +15 -25
  86. commands/tech/list_relationships.py +20 -36
  87. commands/tech/list_solution_blueprints.py +28 -33
  88. commands/tech/list_solution_components.py +23 -29
  89. commands/tech/list_solution_roles.py +21 -32
  90. commands/tech/list_tech_templates.py +51 -54
  91. commands/tech/list_valid_metadata_values.py +5 -9
  92. commands/tech/table_tech_templates.py +2 -6
  93. commands/tech/x_list_related_elements.py +1 -4
  94. examples/GeoSpatial Products Example.py +524 -0
  95. examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
  96. examples/Jupyter Notebooks/README.md +2 -0
  97. examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
  98. examples/Jupyter Notebooks/common/__init__.py +14 -0
  99. examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
  100. examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
  101. examples/Jupyter Notebooks/common/globals.ipynb +184 -0
  102. examples/Jupyter Notebooks/common/globals.py +154 -0
  103. examples/Jupyter Notebooks/common/orig_globals.py +152 -0
  104. examples/format_sets/all_format_sets.json +910 -0
  105. examples/format_sets/custom_format_sets.json +268 -0
  106. examples/format_sets/subset_format_sets.json +187 -0
  107. examples/format_sets_save_load_example.py +291 -0
  108. examples/jacquard_data_sets.py +129 -0
  109. examples/output_formats_example.py +193 -0
  110. examples/test_jacquard_data_sets.py +54 -0
  111. examples/test_jacquard_data_sets_scenarios.py +94 -0
  112. md_processing/__init__.py +90 -0
  113. md_processing/command_dispatcher.py +33 -0
  114. md_processing/command_mapping.py +221 -0
  115. md_processing/data/commands/commands_data_designer.json +537 -0
  116. md_processing/data/commands/commands_external_reference.json +733 -0
  117. md_processing/data/commands/commands_feedback.json +155 -0
  118. md_processing/data/commands/commands_general.json +204 -0
  119. md_processing/data/commands/commands_glossary.json +218 -0
  120. md_processing/data/commands/commands_governance.json +3678 -0
  121. md_processing/data/commands/commands_product_manager.json +865 -0
  122. md_processing/data/commands/commands_project.json +642 -0
  123. md_processing/data/commands/commands_solution_architect.json +366 -0
  124. md_processing/data/commands.json +17568 -0
  125. md_processing/data/commands_working.json +30641 -0
  126. md_processing/data/gened_report_specs.py +6584 -0
  127. md_processing/data/generated_format_sets.json +6533 -0
  128. md_processing/data/generated_format_sets_old.json +4137 -0
  129. md_processing/data/generated_format_sets_old.py +45 -0
  130. md_processing/dr_egeria.py +182 -0
  131. md_processing/md_commands/__init__.py +3 -0
  132. md_processing/md_commands/data_designer_commands.py +1276 -0
  133. md_processing/md_commands/ext_ref_commands.py +530 -0
  134. md_processing/md_commands/feedback_commands.py +726 -0
  135. md_processing/md_commands/glossary_commands.py +684 -0
  136. md_processing/md_commands/governance_officer_commands.py +600 -0
  137. md_processing/md_commands/product_manager_commands.py +1266 -0
  138. md_processing/md_commands/project_commands.py +383 -0
  139. md_processing/md_commands/solution_architect_commands.py +1184 -0
  140. md_processing/md_commands/view_commands.py +295 -0
  141. md_processing/md_processing_utils/__init__.py +4 -0
  142. md_processing/md_processing_utils/common_md_proc_utils.py +1249 -0
  143. md_processing/md_processing_utils/common_md_utils.py +578 -0
  144. md_processing/md_processing_utils/determine_width.py +103 -0
  145. md_processing/md_processing_utils/extraction_utils.py +547 -0
  146. md_processing/md_processing_utils/gen_report_specs.py +643 -0
  147. md_processing/md_processing_utils/generate_dr_help.py +193 -0
  148. md_processing/md_processing_utils/generate_md_cmd_templates.py +144 -0
  149. md_processing/md_processing_utils/generate_md_templates.py +83 -0
  150. md_processing/md_processing_utils/md_processing_constants.py +1228 -0
  151. md_processing/md_processing_utils/message_constants.py +19 -0
  152. pyegeria/__init__.py +201 -443
  153. pyegeria/core/__init__.py +40 -0
  154. pyegeria/core/_base_platform_client.py +574 -0
  155. pyegeria/core/_base_server_client.py +573 -0
  156. pyegeria/core/_exceptions.py +457 -0
  157. pyegeria/core/_globals.py +60 -0
  158. pyegeria/core/_server_client.py +6073 -0
  159. pyegeria/core/_validators.py +257 -0
  160. pyegeria/core/config.py +654 -0
  161. pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
  162. pyegeria/core/load_config.py +37 -0
  163. pyegeria/core/logging_configuration.py +207 -0
  164. pyegeria/core/mcp_adapter.py +144 -0
  165. pyegeria/core/mcp_server.py +212 -0
  166. pyegeria/core/utils.py +405 -0
  167. pyegeria/deprecated/__init__.py +0 -0
  168. pyegeria/{_client.py → deprecated/_client.py} +62 -24
  169. pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
  170. pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1988 -1878
  171. pyegeria/deprecated/output_formatter_with_machine_keys.py +1127 -0
  172. pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +216 -229
  173. pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
  174. pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
  175. pyegeria/egeria_cat_client.py +25 -51
  176. pyegeria/egeria_client.py +140 -98
  177. pyegeria/egeria_config_client.py +48 -24
  178. pyegeria/egeria_tech_client.py +170 -83
  179. pyegeria/models/__init__.py +150 -0
  180. pyegeria/models/collection_models.py +168 -0
  181. pyegeria/models/models.py +654 -0
  182. pyegeria/omvs/__init__.py +84 -0
  183. pyegeria/omvs/action_author.py +342 -0
  184. pyegeria/omvs/actor_manager.py +5980 -0
  185. pyegeria/omvs/asset_catalog.py +842 -0
  186. pyegeria/omvs/asset_maker.py +2736 -0
  187. pyegeria/omvs/automated_curation.py +4403 -0
  188. pyegeria/omvs/classification_manager.py +11213 -0
  189. pyegeria/omvs/collection_manager.py +5780 -0
  190. pyegeria/omvs/community_matters_omvs.py +468 -0
  191. pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
  192. pyegeria/{data_designer_omvs.py → omvs/data_designer.py} +1991 -1691
  193. pyegeria/omvs/data_discovery.py +869 -0
  194. pyegeria/omvs/data_engineer.py +372 -0
  195. pyegeria/omvs/digital_business.py +1133 -0
  196. pyegeria/omvs/external_links.py +1752 -0
  197. pyegeria/omvs/feedback_manager.py +834 -0
  198. pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
  199. pyegeria/omvs/glossary_manager.py +3231 -0
  200. pyegeria/omvs/governance_officer.py +3009 -0
  201. pyegeria/omvs/lineage_linker.py +314 -0
  202. pyegeria/omvs/location_arena.py +1525 -0
  203. pyegeria/omvs/metadata_expert.py +668 -0
  204. pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
  205. pyegeria/omvs/my_profile.py +1042 -0
  206. pyegeria/omvs/notification_manager.py +358 -0
  207. pyegeria/omvs/people_organizer.py +394 -0
  208. pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
  209. pyegeria/omvs/product_manager.py +1825 -0
  210. pyegeria/omvs/project_manager.py +1907 -0
  211. pyegeria/omvs/reference_data.py +1140 -0
  212. pyegeria/omvs/registered_info.py +334 -0
  213. pyegeria/omvs/runtime_manager.py +2817 -0
  214. pyegeria/omvs/schema_maker.py +446 -0
  215. pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
  216. pyegeria/omvs/solution_architect.py +6490 -0
  217. pyegeria/omvs/specification_properties.py +37 -0
  218. pyegeria/omvs/subject_area.py +1042 -0
  219. pyegeria/omvs/template_manager_omvs.py +236 -0
  220. pyegeria/omvs/time_keeper.py +1761 -0
  221. pyegeria/omvs/valid_metadata.py +3221 -0
  222. pyegeria/omvs/valid_metadata_lists.py +37 -0
  223. pyegeria/omvs/valid_type_lists.py +37 -0
  224. pyegeria/view/__init__.py +28 -0
  225. pyegeria/view/_output_format_models.py +514 -0
  226. pyegeria/view/_output_formats.py +14 -0
  227. pyegeria/view/base_report_formats.py +2719 -0
  228. pyegeria/view/dr_egeria_reports.py +56 -0
  229. pyegeria/view/format_set_executor.py +397 -0
  230. pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
  231. pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
  232. pyegeria/view/output_formatter.py +1297 -0
  233. pyegeria-5.5.3.3.dist-info/METADATA +218 -0
  234. pyegeria-5.5.3.3.dist-info/RECORD +241 -0
  235. {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
  236. pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
  237. pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
  238. commands/cat/.DS_Store +0 -0
  239. commands/cat/README.md +0 -16
  240. commands/cli/txt_custom_v2.tcss +0 -19
  241. commands/my/README.md +0 -17
  242. commands/ops/README.md +0 -24
  243. commands/ops/monitor_asset_events.py +0 -108
  244. commands/tech/README.md +0 -24
  245. pyegeria/.DS_Store +0 -0
  246. pyegeria/README.md +0 -35
  247. pyegeria/_globals.py +0 -47
  248. pyegeria/_validators.py +0 -385
  249. pyegeria/asset_catalog_omvs.py +0 -864
  250. pyegeria/automated_curation_omvs.py +0 -3765
  251. pyegeria/collection_manager_omvs.py +0 -2744
  252. pyegeria/dr.egeria spec.md +0 -9
  253. pyegeria/egeria_my_client.py +0 -56
  254. pyegeria/feedback_manager_omvs.py +0 -4573
  255. pyegeria/glossary_browser_omvs.py +0 -3728
  256. pyegeria/glossary_manager_omvs.py +0 -2440
  257. pyegeria/m_test.py +0 -118
  258. pyegeria/md_processing_helpers.py +0 -58
  259. pyegeria/md_processing_utils_orig.py +0 -1103
  260. pyegeria/metadata_explorer_omvs.py +0 -2326
  261. pyegeria/my_profile_omvs.py +0 -1022
  262. pyegeria/output_formatter.py +0 -389
  263. pyegeria/project_manager_omvs.py +0 -1933
  264. pyegeria/registered_info.py +0 -167
  265. pyegeria/solution_architect_omvs.py +0 -2156
  266. pyegeria/template_manager_omvs.py +0 -1414
  267. pyegeria/utils.py +0 -197
  268. pyegeria-5.3.9.9.3.dist-info/METADATA +0 -72
  269. pyegeria-5.3.9.9.3.dist-info/RECORD +0 -143
  270. pyegeria-5.3.9.9.3.dist-info/entry_points.txt +0 -99
  271. /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
  272. {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,150 @@
1
+ # Model Imports
2
+ from pyegeria.models.models import (
3
+ MembershipStatus,
4
+ ValidStatusValues,
5
+ SequencingOrder,
6
+ DeleteMethod,
7
+ to_camel_case,
8
+ PyegeriaModel,
9
+ OpenMetadataRootProperties,
10
+ RelationshipBeanProperties,
11
+ ClassificationBeanProperties,
12
+ ReferenceableProperties,
13
+ RequestBody,
14
+ NewRelationshipRequestBody,
15
+ NewAttachmentRequestBody,
16
+ DeleteRequestBody,
17
+ DeleteElementRequestBody,
18
+ DeleteRelationshipRequestBody,
19
+ DeleteClassificationRequestBody,
20
+ InitialClassifications,
21
+ NewElementRequestBody,
22
+ NewClassificationRequestBody,
23
+ UpdateClassificationRequestBody,
24
+ UpdateRelationshipRequestBody,
25
+ TemplateRequestBody,
26
+ UpdateElementRequestBody,
27
+ UpdatePropertiesRequestBody,
28
+ MetadataSourceRequestBody,
29
+ UpdateEffectivityDatesRequestBody,
30
+ OpenMetadataDeleteRequestBody,
31
+ ArchiveRequestBody,
32
+ NewOpenMetadataElementRequestBody,
33
+ NewRelatedElementsRequestBody,
34
+ GetRequestBody,
35
+ ResultsRequestBody,
36
+ LevelIdentifierQueryBody,
37
+ FilterRequestBody,
38
+ SearchStringRequestBody,
39
+ FindRequestBody,
40
+ FindPropertyNamesRequestBody,
41
+ DeploymentStatusSearchString,
42
+ DeploymentStatusFilterRequestBody,
43
+ ContentStatusSearchString,
44
+ ContentStatusFilterRequestBody,
45
+ ActivityStatusSearchString,
46
+ ActivityStatusFilterRequestBody,
47
+ ActivityStatusRequestBody,
48
+ ActionRequestBody,
49
+ get_defined_fields,
50
+ get_defined_field_values,
51
+ TypeInfo,
52
+ OriginInfo,
53
+ VersionInfo,
54
+ AnchorClassificationProperties,
55
+ SubjectAreaClassificationProperties,
56
+ CanonicalVocabularyClassificationProperties,
57
+ ElementClassification,
58
+ CollectionProperties,
59
+ GlossaryProperties,
60
+ ElementHeader,
61
+ RelatedElement,
62
+ AssociatedGlossaryItem,
63
+ OpenMetadataRootElement,
64
+ )
65
+ from pyegeria.core._exceptions import (
66
+ PyegeriaException,
67
+ PyegeriaConnectionException,
68
+ PyegeriaInvalidParameterException,
69
+ PyegeriaClientException,
70
+ PyegeriaAPIException,
71
+ PyegeriaUnauthorizedException,
72
+ PyegeriaNotFoundException,
73
+ PyegeriaUnknownException,
74
+ )
75
+
76
+ __all__ = [
77
+ # Enums
78
+ "MembershipStatus",
79
+ "ValidStatusValues",
80
+ "SequencingOrder",
81
+ "DeleteMethod",
82
+ # Utilities
83
+ "to_camel_case",
84
+ "get_defined_fields",
85
+ "get_defined_field_values",
86
+ # Models
87
+ "PyegeriaModel",
88
+ "OpenMetadataRootProperties",
89
+ "RelationshipBeanProperties",
90
+ "ClassificationBeanProperties",
91
+ "ReferenceableProperties",
92
+ "RequestBody",
93
+ "NewRelationshipRequestBody",
94
+ "NewAttachmentRequestBody",
95
+ "DeleteRequestBody",
96
+ "DeleteElementRequestBody",
97
+ "DeleteRelationshipRequestBody",
98
+ "DeleteClassificationRequestBody",
99
+ "InitialClassifications",
100
+ "NewElementRequestBody",
101
+ "NewClassificationRequestBody",
102
+ "UpdateClassificationRequestBody",
103
+ "UpdateRelationshipRequestBody",
104
+ "TemplateRequestBody",
105
+ "UpdateElementRequestBody",
106
+ "UpdatePropertiesRequestBody",
107
+ "MetadataSourceRequestBody",
108
+ "UpdateEffectivityDatesRequestBody",
109
+ "OpenMetadataDeleteRequestBody",
110
+ "ArchiveRequestBody",
111
+ "NewOpenMetadataElementRequestBody",
112
+ "NewRelatedElementsRequestBody",
113
+ "GetRequestBody",
114
+ "ResultsRequestBody",
115
+ "LevelIdentifierQueryBody",
116
+ "FilterRequestBody",
117
+ "SearchStringRequestBody",
118
+ "FindRequestBody",
119
+ "FindPropertyNamesRequestBody",
120
+ "DeploymentStatusSearchString",
121
+ "DeploymentStatusFilterRequestBody",
122
+ "ContentStatusSearchString",
123
+ "ContentStatusFilterRequestBody",
124
+ "ActivityStatusSearchString",
125
+ "ActivityStatusFilterRequestBody",
126
+ "ActivityStatusRequestBody",
127
+ "ActionRequestBody",
128
+ "TypeInfo",
129
+ "OriginInfo",
130
+ "VersionInfo",
131
+ "AnchorClassificationProperties",
132
+ "SubjectAreaClassificationProperties",
133
+ "CanonicalVocabularyClassificationProperties",
134
+ "ElementClassification",
135
+ "CollectionProperties",
136
+ "GlossaryProperties",
137
+ "ElementHeader",
138
+ "RelatedElement",
139
+ "AssociatedGlossaryItem",
140
+ "OpenMetadataRootElement",
141
+ # Exceptions
142
+ "PyegeriaException",
143
+ "PyegeriaConnectionException",
144
+ "PyegeriaInvalidParameterException",
145
+ "PyegeriaClientException",
146
+ "PyegeriaAPIException",
147
+ "PyegeriaUnauthorizedException",
148
+ "PyegeriaNotFoundException",
149
+ "PyegeriaUnknownException",
150
+ ]
@@ -0,0 +1,168 @@
1
+ """
2
+ Pydantic models representing collection-related JSON structures from Egeria.
3
+
4
+ These models represent a subset of the JSON payload structure found in the Egeria API responses,
5
+ focusing on collections and their related components.
6
+ """
7
+
8
+ from datetime import datetime
9
+ from typing import List, Dict, Optional, Any, Literal
10
+
11
+ from pydantic import BaseModel, Field
12
+
13
+ from pyegeria.models import PyegeriaModel
14
+
15
+
16
+ # --- Basic Type Models ---
17
+
18
+ class TypeInfo(PyegeriaModel):
19
+ """Represents type information for an element."""
20
+ type_id: str
21
+ type_name: str
22
+ super_type_names: Optional[List[str]] = None
23
+ type_version: int
24
+ type_description: str
25
+ type_category: str
26
+
27
+
28
+ class OriginInfo(PyegeriaModel):
29
+ """Represents origin information for an element."""
30
+ source_server: str
31
+ origin_category: str
32
+ home_metadata_collection_id: str
33
+ home_metadata_collection_name: str
34
+ license: Optional[str] = None
35
+
36
+
37
+ class VersionInfo(PyegeriaModel):
38
+ """Represents version information for an element."""
39
+ created_by: str
40
+ updated_by: str
41
+ create_time: datetime
42
+ update_time: datetime
43
+ version: int
44
+
45
+
46
+ # --- Classification Models ---
47
+
48
+ class ClassificationProperties(PyegeriaModel):
49
+ """Base model for classification properties."""
50
+ pass
51
+
52
+
53
+ class AnchorClassificationProperties(ClassificationProperties):
54
+ """Properties for Anchors classification."""
55
+ anchor_type_name: str
56
+ anchor_domain_name: str
57
+ anchor_guid: Optional[str] = None
58
+ anchor_scope_guid: Optional[str] = None
59
+
60
+
61
+ class SubjectAreaClassificationProperties(ClassificationProperties):
62
+ """Properties for SubjectArea classification."""
63
+ display_name: Optional[str] = None
64
+ subject_area_name: Optional[str] = None
65
+
66
+
67
+ class CanonicalVocabularyClassificationProperties(ClassificationProperties):
68
+ """Properties for CanonicalVocabulary classification."""
69
+ scope: str
70
+
71
+
72
+ class ConnectorTypeDirectoryClassificationProperties(ClassificationProperties):
73
+ """Properties for ConnectorTypeDirectory classification."""
74
+ pass
75
+
76
+
77
+ class ElementClassification(PyegeriaModel):
78
+ """Represents a classification applied to an element."""
79
+ class_: str = Field(alias="class")
80
+ header_version: int
81
+ status: str
82
+ type_: TypeInfo = Field(alias="type")
83
+ origin: OriginInfo
84
+ versions: VersionInfo
85
+ classification_origin: str
86
+ classification_name: str
87
+ classification_properties: Optional[Dict[str, Any]] = None
88
+
89
+
90
+ # --- Properties Models ---
91
+
92
+ class CollectionProperties(PyegeriaModel):
93
+ """Represents the properties of a Collection."""
94
+ class_: str = Field(alias="class")
95
+ type_name: str
96
+ extended_properties: Optional[Dict[str, Any]] = {}
97
+ qualified_name: str
98
+ display_name: str
99
+ description: Optional[str] = None
100
+
101
+
102
+ class GlossaryProperties(PyegeriaModel):
103
+ """Represents the properties of a Glossary."""
104
+ display_name: str
105
+ qualified_name: str
106
+ usage: Optional[List[str]] = None
107
+ description: Optional[List[str]] = None
108
+ language: Optional[List[str]] = None
109
+
110
+
111
+ # --- Header Models ---
112
+
113
+ class ElementHeader(PyegeriaModel):
114
+ """Represents the header information for an element."""
115
+ class_: str = Field(alias="class")
116
+ header_version: int
117
+ status: str
118
+ type_: TypeInfo = Field(alias="type")
119
+ origin: OriginInfo
120
+ versions: VersionInfo
121
+ guid: str
122
+ anchor: Optional[ElementClassification] = None
123
+ subject_area: Optional[ElementClassification] = Field(None, alias="subjectArea")
124
+ other_classifications: Optional[List[ElementClassification]] = Field([], alias="otherClassifications")
125
+ collection_categories: Optional[List[ElementClassification]] = Field(None, alias="collectionCategories")
126
+
127
+
128
+ # --- Relationship Models ---
129
+
130
+ class RelationshipHeader(ElementHeader):
131
+ """Represents the header information for a relationship."""
132
+ pass
133
+
134
+
135
+ class RelatedElement(PyegeriaModel):
136
+ """Represents a related element in a relationship."""
137
+ element_header: ElementHeader = Field(alias="elementHeader")
138
+ properties: GlossaryProperties
139
+
140
+
141
+ class AssociatedGlossaryItem(PyegeriaModel):
142
+ """Represents an associated glossary item."""
143
+ relationship_header: RelationshipHeader = Field(alias="relationshipHeader")
144
+ related_element: RelatedElement = Field(alias="relatedElement")
145
+ related_element_at_end1: Optional[bool] = Field(None, alias="relatedElementAtEnd1")
146
+
147
+
148
+ class CollectionMember(PyegeriaModel):
149
+ """Represents a member of a collection."""
150
+ relationship_header: RelationshipHeader = Field(alias="relationshipHeader")
151
+ related_element: RelatedElement = Field(alias="relatedElement")
152
+ related_element_at_end1: Optional[bool] = Field(None, alias="relatedElementAtEnd1")
153
+
154
+
155
+ # --- Root Models ---
156
+
157
+ class OpenMetadataRootElement(PyegeriaModel):
158
+ """Represents the root element in the JSON payload."""
159
+ class_: str = Field(alias="class")
160
+ element_header: ElementHeader = Field(alias="elementHeader")
161
+ associated_glossaries: Optional[List[AssociatedGlossaryItem]] = Field(None, alias="associatedGlossaries")
162
+ collection_members: Optional[List[CollectionMember]] = Field(None, alias="collectionMembers")
163
+ mermaid_graph: Optional[str] = Field(None, alias="mermaidGraph")
164
+ properties: CollectionProperties
165
+
166
+
167
+ # --- Overall Payload Type ---
168
+ CollectionPayload = List[OpenMetadataRootElement]