openmetadata-ingestion 1.9.11.2__py3-none-any.whl → 1.10.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of openmetadata-ingestion might be problematic. Click here for more details.

Files changed (952) hide show
  1. metadata/cli/common.py +0 -1
  2. metadata/examples/workflows/bigquery.yaml +1 -0
  3. metadata/examples/workflows/databricks.yaml +9 -1
  4. metadata/examples/workflows/databricks_usage.yaml +7 -1
  5. metadata/examples/workflows/metabase.yaml +1 -0
  6. metadata/examples/workflows/unity_catalog.yaml +7 -1
  7. metadata/examples/workflows/unity_catalog_usage.yaml +7 -1
  8. metadata/generated/antlr/EntityLinkLexer.py +406 -432
  9. metadata/generated/schema/analytics/__init__.py +1 -1
  10. metadata/generated/schema/analytics/basic.py +1 -1
  11. metadata/generated/schema/analytics/reportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  15. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  16. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  17. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  20. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  21. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  22. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  23. metadata/generated/schema/api/__init__.py +1 -1
  24. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  25. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  26. metadata/generated/schema/api/analytics/__init__.py +1 -1
  27. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  28. metadata/generated/schema/api/automations/__init__.py +1 -1
  29. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  30. metadata/generated/schema/api/bulkAssets.py +1 -1
  31. metadata/generated/schema/api/classification/__init__.py +1 -1
  32. metadata/generated/schema/api/classification/createClassification.py +52 -1
  33. metadata/generated/schema/api/classification/createTag.py +29 -2
  34. metadata/generated/schema/api/classification/createTagWithRecognizers.py +67 -0
  35. metadata/generated/schema/api/classification/loadTags.py +1 -1
  36. metadata/generated/schema/api/configuration/__init__.py +3 -0
  37. metadata/generated/schema/api/configuration/rdfConfiguration.py +47 -0
  38. metadata/generated/schema/api/createBot.py +1 -1
  39. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  40. metadata/generated/schema/api/createType.py +1 -1
  41. metadata/generated/schema/api/data/__init__.py +1 -1
  42. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  43. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  44. metadata/generated/schema/api/data/createChart.py +1 -1
  45. metadata/generated/schema/api/data/createContainer.py +1 -1
  46. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  47. metadata/generated/schema/api/data/createDashboard.py +1 -1
  48. metadata/generated/schema/api/data/createDashboardDataModel.py +5 -1
  49. metadata/generated/schema/api/data/createDataContract.py +33 -3
  50. metadata/generated/schema/api/data/createDatabase.py +1 -1
  51. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  52. metadata/generated/schema/api/data/createDirectory.py +1 -1
  53. metadata/generated/schema/api/data/createEntityProfile.py +1 -1
  54. metadata/generated/schema/api/data/createFile.py +1 -1
  55. metadata/generated/schema/api/data/createGlossary.py +1 -1
  56. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  57. metadata/generated/schema/api/data/createMetric.py +8 -1
  58. metadata/generated/schema/api/data/createMlModel.py +1 -1
  59. metadata/generated/schema/api/data/createPipeline.py +1 -1
  60. metadata/generated/schema/api/data/createQuery.py +1 -1
  61. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  62. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  63. metadata/generated/schema/api/data/createSpreadsheet.py +9 -1
  64. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  65. metadata/generated/schema/api/data/createTable.py +1 -1
  66. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  67. metadata/generated/schema/api/data/createTopic.py +1 -1
  68. metadata/generated/schema/api/data/createWorksheet.py +1 -1
  69. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  70. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  71. metadata/generated/schema/api/data/updateColumn.py +1 -1
  72. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  73. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  74. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  75. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  76. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  77. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  78. metadata/generated/schema/api/docStore/__init__.py +1 -1
  79. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  80. metadata/generated/schema/api/domains/__init__.py +1 -1
  81. metadata/generated/schema/api/domains/createDataProduct.py +7 -1
  82. metadata/generated/schema/api/domains/createDomain.py +1 -1
  83. metadata/generated/schema/api/entityRelationship/__init__.py +1 -1
  84. metadata/generated/schema/api/entityRelationship/entityRelationshipDirection.py +1 -1
  85. metadata/generated/schema/api/entityRelationship/esEntityRelationshipData.py +1 -1
  86. metadata/generated/schema/api/entityRelationship/relationshipRef.py +1 -1
  87. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipRequest.py +1 -1
  88. metadata/generated/schema/api/entityRelationship/searchEntityRelationshipResult.py +1 -1
  89. metadata/generated/schema/api/entityRelationship/searchSchemaEntityRelationshipResult.py +1 -1
  90. metadata/generated/schema/api/events/__init__.py +3 -0
  91. metadata/generated/schema/api/events/createNotificationTemplate.py +61 -0
  92. metadata/generated/schema/api/events/notificationTemplateValidationRequest.py +30 -0
  93. metadata/generated/schema/api/events/notificationTemplateValidationResponse.py +36 -0
  94. metadata/generated/schema/api/feed/__init__.py +1 -1
  95. metadata/generated/schema/api/feed/closeTask.py +1 -1
  96. metadata/generated/schema/api/feed/createPost.py +1 -1
  97. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  98. metadata/generated/schema/api/feed/createThread.py +1 -1
  99. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  100. metadata/generated/schema/api/feed/threadCount.py +1 -1
  101. metadata/generated/schema/api/governance/__init__.py +1 -1
  102. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  103. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  104. metadata/generated/schema/api/lineage/__init__.py +1 -1
  105. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  106. metadata/generated/schema/api/lineage/entityCountLineageRequest.py +66 -0
  107. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  108. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  109. metadata/generated/schema/api/lineage/lineagePaginationInfo.py +57 -0
  110. metadata/generated/schema/api/lineage/nodeInformation.py +9 -1
  111. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  112. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  113. metadata/generated/schema/api/mcp/__init__.py +1 -1
  114. metadata/generated/schema/api/mcp/mcpSearchResponse.py +1 -1
  115. metadata/generated/schema/api/mcp/mcpToolDefinition.py +1 -1
  116. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  117. metadata/generated/schema/api/policies/__init__.py +1 -1
  118. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  119. metadata/generated/schema/api/rdf/__init__.py +3 -0
  120. metadata/generated/schema/api/rdf/sparqlQuery.py +57 -0
  121. metadata/generated/schema/api/rdf/sparqlResponse.py +56 -0
  122. metadata/generated/schema/api/scim/__init__.py +1 -1
  123. metadata/generated/schema/api/scim/scimGroup.py +1 -1
  124. metadata/generated/schema/api/scim/scimPatchOp.py +1 -1
  125. metadata/generated/schema/api/scim/scimUser.py +1 -1
  126. metadata/generated/schema/api/search/__init__.py +1 -1
  127. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  128. metadata/generated/schema/api/services/__init__.py +1 -1
  129. metadata/generated/schema/api/services/createApiService.py +1 -1
  130. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  131. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  132. metadata/generated/schema/api/services/createDriveService.py +9 -2
  133. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  134. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  135. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  136. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  137. metadata/generated/schema/api/services/createSearchService.py +1 -1
  138. metadata/generated/schema/api/services/createSecurityService.py +1 -1
  139. metadata/generated/schema/api/services/createStorageService.py +1 -1
  140. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  141. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +8 -1
  142. metadata/generated/schema/api/setOwner.py +1 -1
  143. metadata/generated/schema/api/teams/__init__.py +1 -1
  144. metadata/generated/schema/api/teams/createPersona.py +1 -1
  145. metadata/generated/schema/api/teams/createRole.py +1 -1
  146. metadata/generated/schema/api/teams/createTeam.py +1 -1
  147. metadata/generated/schema/api/teams/createUser.py +1 -1
  148. metadata/generated/schema/api/tests/__init__.py +1 -1
  149. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  150. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  151. metadata/generated/schema/api/tests/createTestCase.py +5 -1
  152. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  153. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  154. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  155. metadata/generated/schema/api/tests/createTestSuite.py +5 -1
  156. metadata/generated/schema/api/tests/moveGlossaryTermRequest.py +1 -1
  157. metadata/generated/schema/api/validateGlossaryTagsRequest.py +1 -1
  158. metadata/generated/schema/api/voteRequest.py +1 -1
  159. metadata/generated/schema/auth/__init__.py +1 -1
  160. metadata/generated/schema/auth/basicAuth.py +1 -1
  161. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  162. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  163. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  164. metadata/generated/schema/auth/emailRequest.py +1 -1
  165. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  166. metadata/generated/schema/auth/generateToken.py +1 -1
  167. metadata/generated/schema/auth/jwtAuth.py +1 -1
  168. metadata/generated/schema/auth/loginRequest.py +1 -1
  169. metadata/generated/schema/auth/logoutRequest.py +1 -1
  170. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  171. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  172. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  173. metadata/generated/schema/auth/refreshToken.py +1 -1
  174. metadata/generated/schema/auth/registrationRequest.py +1 -1
  175. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  176. metadata/generated/schema/auth/revokeToken.py +1 -1
  177. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  178. metadata/generated/schema/auth/ssoAuth.py +1 -1
  179. metadata/generated/schema/auth/supportToken.py +1 -1
  180. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  181. metadata/generated/schema/configuration/__init__.py +1 -1
  182. metadata/generated/schema/configuration/aiPlatformConfiguration.py +1 -1
  183. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  184. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  185. metadata/generated/schema/configuration/authConfig.py +1 -1
  186. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  187. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  188. metadata/generated/schema/configuration/cacheConfiguration.py +1 -1
  189. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  190. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  191. metadata/generated/schema/configuration/elasticSearchConfiguration.py +2 -1
  192. metadata/generated/schema/configuration/entityRulesSettings.py +1 -1
  193. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  194. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  195. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  196. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  197. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  198. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  199. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  200. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  201. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  202. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  203. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  204. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  205. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  206. metadata/generated/schema/configuration/logStorageConfiguration.py +105 -0
  207. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  208. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  209. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  210. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  211. metadata/generated/schema/configuration/opsConfig.py +1 -1
  212. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +9 -2
  213. metadata/generated/schema/configuration/profilerConfiguration.py +2 -1
  214. metadata/generated/schema/configuration/searchSettings.py +7 -2
  215. metadata/generated/schema/configuration/securityConfiguration.py +26 -0
  216. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  217. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  218. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  219. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  220. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  221. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  222. metadata/generated/schema/dataInsight/__init__.py +1 -1
  223. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  224. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  225. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  226. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  227. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  228. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  229. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  230. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  231. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  232. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  233. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  234. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  235. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  236. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  237. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  238. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  239. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  240. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  241. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  242. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  243. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  244. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  245. metadata/generated/schema/email/__init__.py +1 -1
  246. metadata/generated/schema/email/emailRequest.py +1 -1
  247. metadata/generated/schema/email/emailTemplate.py +1 -1
  248. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  249. metadata/generated/schema/email/smtpSettings.py +1 -1
  250. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  251. metadata/generated/schema/entity/__init__.py +1 -1
  252. metadata/generated/schema/entity/applications/__init__.py +1 -1
  253. metadata/generated/schema/entity/applications/app.py +1 -1
  254. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  255. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  256. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  257. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  258. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  259. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  260. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  261. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  262. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  263. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  264. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  265. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  266. metadata/generated/schema/entity/applications/configuration/external/automator/addTermsAction.py +1 -1
  267. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +1 -1
  268. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  269. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  270. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  271. metadata/generated/schema/entity/applications/configuration/external/automator/propagationStopConfig.py +1 -1
  272. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  273. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  274. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  275. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  276. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  277. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  278. metadata/generated/schema/entity/applications/configuration/external/automator/removeTermsAction.py +1 -1
  279. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  280. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  281. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  282. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  283. metadata/generated/schema/entity/applications/configuration/external/metadataExporterAppConfig.py +1 -1
  284. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/__init__.py +1 -1
  285. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/bigQueryConnection.py +1 -1
  286. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/databricksConnection.py +18 -6
  287. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/redshiftConnection.py +1 -1
  288. metadata/generated/schema/entity/applications/configuration/external/metadataExporterConnectors/snowflakeConnection.py +1 -1
  289. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  290. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  291. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  292. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  293. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  294. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  295. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  296. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  297. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  298. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  299. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  300. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  301. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  302. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  303. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  304. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  305. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  306. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  307. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  308. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  309. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  310. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  311. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  312. metadata/generated/schema/entity/automations/__init__.py +1 -1
  313. metadata/generated/schema/entity/automations/queryRunnerRequest.py +46 -0
  314. metadata/generated/schema/entity/automations/response/__init__.py +3 -0
  315. metadata/generated/schema/entity/automations/response/queryRunnerResponse.py +51 -0
  316. metadata/generated/schema/entity/automations/testServiceConnection.py +3 -1
  317. metadata/generated/schema/entity/automations/testSparkEngineConnection.py +31 -0
  318. metadata/generated/schema/entity/automations/workflow.py +8 -2
  319. metadata/generated/schema/entity/bot.py +1 -1
  320. metadata/generated/schema/entity/classification/__init__.py +1 -1
  321. metadata/generated/schema/entity/classification/classification.py +57 -2
  322. metadata/generated/schema/entity/classification/tag.py +41 -3
  323. metadata/generated/schema/entity/data/__init__.py +1 -1
  324. metadata/generated/schema/entity/data/apiCollection.py +8 -1
  325. metadata/generated/schema/entity/data/apiEndpoint.py +6 -1
  326. metadata/generated/schema/entity/data/chart.py +7 -1
  327. metadata/generated/schema/entity/data/container.py +7 -1
  328. metadata/generated/schema/entity/data/dashboard.py +6 -1
  329. metadata/generated/schema/entity/data/dashboardDataModel.py +13 -1
  330. metadata/generated/schema/entity/data/dataContract.py +238 -2
  331. metadata/generated/schema/entity/data/database.py +6 -1
  332. metadata/generated/schema/entity/data/databaseSchema.py +8 -1
  333. metadata/generated/schema/entity/data/directory.py +6 -1
  334. metadata/generated/schema/entity/data/file.py +6 -1
  335. metadata/generated/schema/entity/data/glossary.py +6 -1
  336. metadata/generated/schema/entity/data/glossaryTerm.py +8 -12
  337. metadata/generated/schema/entity/data/metric.py +18 -1
  338. metadata/generated/schema/entity/data/mlmodel.py +6 -1
  339. metadata/generated/schema/entity/data/pipeline.py +136 -2
  340. metadata/generated/schema/entity/data/query.py +6 -1
  341. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  342. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  343. metadata/generated/schema/entity/data/report.py +6 -1
  344. metadata/generated/schema/entity/data/searchIndex.py +6 -1
  345. metadata/generated/schema/entity/data/spreadsheet.py +8 -4
  346. metadata/generated/schema/entity/data/storedProcedure.py +8 -1
  347. metadata/generated/schema/entity/data/table.py +95 -1
  348. metadata/generated/schema/entity/data/topic.py +6 -1
  349. metadata/generated/schema/entity/data/worksheet.py +6 -1
  350. metadata/generated/schema/entity/datacontract/__init__.py +1 -1
  351. metadata/generated/schema/entity/datacontract/dataContractResult.py +1 -1
  352. metadata/generated/schema/entity/datacontract/qualityValidation.py +1 -1
  353. metadata/generated/schema/entity/datacontract/schemaValidation.py +1 -1
  354. metadata/generated/schema/entity/datacontract/semanticsValidation.py +1 -1
  355. metadata/generated/schema/entity/datacontract/slaValidation.py +1 -1
  356. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  357. metadata/generated/schema/entity/docStore/document.py +1 -1
  358. metadata/generated/schema/entity/domains/__init__.py +1 -1
  359. metadata/generated/schema/entity/domains/dataProduct.py +153 -2
  360. metadata/generated/schema/entity/domains/domain.py +1 -1
  361. metadata/generated/schema/entity/events/__init__.py +1 -1
  362. metadata/generated/schema/entity/events/notificationTemplate.py +111 -0
  363. metadata/generated/schema/entity/events/webhook.py +1 -1
  364. metadata/generated/schema/entity/feed/__init__.py +1 -1
  365. metadata/generated/schema/entity/feed/assets.py +1 -1
  366. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  367. metadata/generated/schema/entity/feed/description.py +1 -1
  368. metadata/generated/schema/entity/feed/domain.py +1 -1
  369. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  370. metadata/generated/schema/entity/feed/owner.py +1 -1
  371. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  372. metadata/generated/schema/entity/feed/tag.py +1 -1
  373. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  374. metadata/generated/schema/entity/feed/thread.py +1 -1
  375. metadata/generated/schema/entity/policies/__init__.py +1 -1
  376. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  377. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  378. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  379. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  380. metadata/generated/schema/entity/policies/filters.py +1 -1
  381. metadata/generated/schema/entity/policies/policy.py +1 -1
  382. metadata/generated/schema/entity/services/__init__.py +1 -1
  383. metadata/generated/schema/entity/services/apiService.py +1 -1
  384. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  385. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  386. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  388. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  389. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  390. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  391. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  392. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  393. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/dashboard/grafanaConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +17 -4
  399. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  404. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  405. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  406. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  407. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  408. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  411. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/dashboard/thoughtSpotConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  419. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +9 -1
  420. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  423. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  427. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  428. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  429. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  430. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  431. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  432. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/database/databricks/__init__.py +3 -0
  435. metadata/generated/schema/entity/services/connections/database/databricks/azureAdSetup.py +37 -0
  436. metadata/generated/schema/entity/services/connections/database/databricks/databricksOAuth.py +30 -0
  437. metadata/generated/schema/entity/services/connections/database/databricks/personalAccessToken.py +23 -0
  438. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +14 -6
  439. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  440. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  441. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  442. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  443. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  447. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  448. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  449. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/database/epicConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  457. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  459. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  460. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  461. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  462. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  463. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  464. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  467. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  479. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  480. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  483. metadata/generated/schema/entity/services/connections/database/serviceNowConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  485. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  487. metadata/generated/schema/entity/services/connections/database/ssasConnection.py +1 -1
  488. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
  489. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  490. metadata/generated/schema/entity/services/connections/database/timescaleConnection.py +162 -0
  491. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  492. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +14 -6
  493. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  494. metadata/generated/schema/entity/services/connections/drive/__init__.py +1 -1
  495. metadata/generated/schema/entity/services/connections/drive/customDriveConnection.py +34 -1
  496. metadata/generated/schema/entity/services/connections/drive/googleDriveConnection.py +34 -1
  497. metadata/generated/schema/entity/services/connections/drive/sharePointConnection.py +34 -1
  498. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  499. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  500. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  501. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  502. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  503. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  504. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  505. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  506. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  507. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  508. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  509. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  510. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  511. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  512. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  513. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  514. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  515. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  516. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  517. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  518. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  519. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  520. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  521. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  522. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  523. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  524. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  525. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  526. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  527. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  528. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  529. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  530. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  531. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  532. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  533. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  534. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  535. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  536. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  537. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  538. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  539. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  540. metadata/generated/schema/entity/services/connections/pipeline/snowplowConnection.py +93 -0
  541. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  542. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  543. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  544. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  545. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  546. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  547. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  548. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  549. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  550. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  551. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  552. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  553. metadata/generated/schema/entity/services/connections/security/__init__.py +1 -1
  554. metadata/generated/schema/entity/services/connections/security/ranger/__init__.py +1 -1
  555. metadata/generated/schema/entity/services/connections/security/ranger/basicAuth.py +1 -1
  556. metadata/generated/schema/entity/services/connections/security/rangerConnection.py +1 -1
  557. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  558. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  559. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  560. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  561. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  562. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  563. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  564. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  565. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  566. metadata/generated/schema/entity/services/databaseService.py +4 -1
  567. metadata/generated/schema/entity/services/driveService.py +1 -1
  568. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  569. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +8 -1
  570. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  571. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  572. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  573. metadata/generated/schema/entity/services/messagingService.py +1 -1
  574. metadata/generated/schema/entity/services/metadataService.py +1 -1
  575. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  576. metadata/generated/schema/entity/services/pipelineService.py +4 -1
  577. metadata/generated/schema/entity/services/searchService.py +1 -1
  578. metadata/generated/schema/entity/services/securityService.py +1 -1
  579. metadata/generated/schema/entity/services/serviceType.py +1 -1
  580. metadata/generated/schema/entity/services/storageService.py +1 -1
  581. metadata/generated/schema/entity/teams/__init__.py +1 -1
  582. metadata/generated/schema/entity/teams/persona.py +1 -1
  583. metadata/generated/schema/entity/teams/role.py +1 -1
  584. metadata/generated/schema/entity/teams/team.py +1 -1
  585. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  586. metadata/generated/schema/entity/teams/user.py +1 -1
  587. metadata/generated/schema/entity/type.py +1 -1
  588. metadata/generated/schema/entity/utils/__init__.py +1 -1
  589. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  590. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  591. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  592. metadata/generated/schema/events/__init__.py +1 -1
  593. metadata/generated/schema/events/alertMetrics.py +1 -1
  594. metadata/generated/schema/events/api/__init__.py +1 -1
  595. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  596. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  597. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  598. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  599. metadata/generated/schema/events/api/typedEvent.py +1 -1
  600. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  601. metadata/generated/schema/events/eventFilterRule.py +1 -1
  602. metadata/generated/schema/events/eventSubscription.py +16 -1
  603. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  604. metadata/generated/schema/events/failedEvent.py +1 -1
  605. metadata/generated/schema/events/failedEventResponse.py +1 -1
  606. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  607. metadata/generated/schema/events/statusContext.py +1 -1
  608. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  609. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  610. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  611. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  612. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  613. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  614. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  615. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  616. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  617. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  618. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  619. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  620. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  621. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  622. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +11 -12
  623. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  624. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  625. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  626. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  627. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  628. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  629. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  630. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  631. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  632. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  633. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  634. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  635. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  636. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  637. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  638. metadata/generated/schema/jobs/__init__.py +1 -1
  639. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  640. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  641. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  642. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  643. metadata/generated/schema/metadataIngestion/application.py +8 -1
  644. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  645. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  646. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  647. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  648. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  649. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  650. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  651. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  652. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  653. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  654. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  655. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  656. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  657. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  658. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  659. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  660. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  661. metadata/generated/schema/metadataIngestion/driveServiceMetadataPipeline.py +1 -1
  662. metadata/generated/schema/metadataIngestion/engine/__init__.py +1 -1
  663. metadata/generated/schema/metadataIngestion/engine/nativeEngineConfig.py +1 -1
  664. metadata/generated/schema/metadataIngestion/engine/sparkEngineConfig.py +1 -1
  665. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  666. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  667. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +29 -2
  668. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  669. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  670. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  671. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  672. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  673. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  674. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  675. metadata/generated/schema/metadataIngestion/securityServiceMetadataPipeline.py +1 -1
  676. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  677. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  678. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  679. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  680. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  681. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  682. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  683. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  684. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  685. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  686. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  687. metadata/generated/schema/metadataIngestion/workflow.py +8 -1
  688. metadata/generated/schema/monitoring/__init__.py +1 -1
  689. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  690. metadata/generated/schema/scim/__init__.py +1 -1
  691. metadata/generated/schema/scim/scimConfiguration.py +1 -1
  692. metadata/generated/schema/search/__init__.py +1 -1
  693. metadata/generated/schema/search/aggregationRequest.py +1 -1
  694. metadata/generated/schema/search/searchRequest.py +8 -1
  695. metadata/generated/schema/security/__init__.py +1 -1
  696. metadata/generated/schema/security/client/__init__.py +1 -1
  697. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  698. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  699. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  700. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  701. metadata/generated/schema/security/client/oidcClientConfig.py +6 -10
  702. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  703. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  704. metadata/generated/schema/security/client/samlSSOClientConfig.py +6 -6
  705. metadata/generated/schema/security/credentials/__init__.py +1 -1
  706. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  707. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  708. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  709. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  710. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  711. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  712. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  713. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  714. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  715. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  716. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  717. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  718. metadata/generated/schema/security/credentials/kubernetesCredentials.py +1 -1
  719. metadata/generated/schema/security/sasl/__init__.py +1 -1
  720. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  721. metadata/generated/schema/security/secrets/__init__.py +1 -1
  722. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  723. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  724. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  725. metadata/generated/schema/security/securityConfiguration.py +1 -1
  726. metadata/generated/schema/security/ssl/__init__.py +1 -1
  727. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  728. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  729. metadata/generated/schema/settings/__init__.py +1 -1
  730. metadata/generated/schema/settings/settings.py +5 -2
  731. metadata/generated/schema/system/__init__.py +1 -1
  732. metadata/generated/schema/system/entityError.py +1 -1
  733. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  734. metadata/generated/schema/system/indexingError.py +1 -1
  735. metadata/generated/schema/system/limitsResponse.py +1 -1
  736. metadata/generated/schema/system/securityValidationResponse.py +62 -0
  737. metadata/generated/schema/system/ui/__init__.py +1 -1
  738. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  739. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  740. metadata/generated/schema/system/ui/page.py +5 -1
  741. metadata/generated/schema/system/ui/tab.py +1 -1
  742. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  743. metadata/generated/schema/system/validationResponse.py +8 -1
  744. metadata/generated/schema/tests/__init__.py +1 -1
  745. metadata/generated/schema/tests/assigned.py +1 -1
  746. metadata/generated/schema/tests/basic.py +1 -1
  747. metadata/generated/schema/tests/customMetric.py +1 -1
  748. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  749. metadata/generated/schema/tests/resolved.py +1 -1
  750. metadata/generated/schema/tests/testCase.py +26 -2
  751. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  752. metadata/generated/schema/tests/testDefinition.py +1 -1
  753. metadata/generated/schema/tests/testSuite.py +5 -1
  754. metadata/generated/schema/type/__init__.py +1 -1
  755. metadata/generated/schema/type/apiSchema.py +1 -1
  756. metadata/generated/schema/type/assetCertification.py +1 -1
  757. metadata/generated/schema/type/auditLog.py +1 -1
  758. metadata/generated/schema/type/basic.py +9 -1
  759. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  760. metadata/generated/schema/type/changeEvent.py +1 -1
  761. metadata/generated/schema/type/changeEventType.py +1 -1
  762. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  763. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  764. metadata/generated/schema/type/contextRecognizer.py +50 -0
  765. metadata/generated/schema/type/contractExecutionStatus.py +1 -1
  766. metadata/generated/schema/type/csvDocumentation.py +1 -1
  767. metadata/generated/schema/type/csvErrorType.py +1 -1
  768. metadata/generated/schema/type/csvFile.py +1 -1
  769. metadata/generated/schema/type/csvImportResult.py +1 -1
  770. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  771. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  772. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  773. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  774. metadata/generated/schema/type/customProperty.py +1 -1
  775. metadata/generated/schema/type/customRecognizer.py +39 -0
  776. metadata/generated/schema/type/dailyCount.py +1 -1
  777. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  778. metadata/generated/schema/type/denyListRecognizer.py +37 -0
  779. metadata/generated/schema/type/entityHierarchy.py +1 -1
  780. metadata/generated/schema/type/entityHistory.py +1 -1
  781. metadata/generated/schema/type/entityLineage.py +1 -1
  782. metadata/generated/schema/type/entityProfile.py +1 -1
  783. metadata/generated/schema/type/entityReference.py +1 -1
  784. metadata/generated/schema/type/entityReferenceList.py +1 -1
  785. metadata/generated/schema/type/entityRelationship/__init__.py +1 -1
  786. metadata/generated/schema/type/entityRelationship/nodeInformation.py +1 -1
  787. metadata/generated/schema/type/entityUsage.py +1 -1
  788. metadata/generated/schema/type/filterPattern.py +1 -1
  789. metadata/generated/schema/type/function.py +1 -1
  790. metadata/generated/schema/type/include.py +1 -1
  791. metadata/generated/schema/type/jdbcConnection.py +1 -1
  792. metadata/generated/schema/type/layerPaging.py +1 -1
  793. metadata/generated/schema/type/lifeCycle.py +1 -1
  794. metadata/generated/schema/type/paging.py +1 -1
  795. metadata/generated/schema/type/patternRecognizer.py +39 -0
  796. metadata/generated/schema/type/personaPreferences.py +1 -1
  797. metadata/generated/schema/type/piiEntity.py +48 -0
  798. metadata/generated/schema/type/predefinedRecognizer.py +85 -0
  799. metadata/generated/schema/type/profile.py +1 -1
  800. metadata/generated/schema/type/queryParserData.py +1 -1
  801. metadata/generated/schema/type/reaction.py +1 -1
  802. metadata/generated/schema/type/recognizer.py +159 -0
  803. metadata/generated/schema/type/recognizerFeedback.py +120 -0
  804. metadata/generated/schema/type/recognizers/__init__.py +3 -0
  805. metadata/generated/schema/type/recognizers/patterns.py +29 -0
  806. metadata/generated/schema/type/recognizers/regexFlags.py +29 -0
  807. metadata/generated/schema/type/schedule.py +1 -1
  808. metadata/generated/schema/type/schema.py +1 -1
  809. metadata/generated/schema/type/status.py +16 -0
  810. metadata/generated/schema/type/tableQuery.py +1 -1
  811. metadata/generated/schema/type/tableUsageCount.py +1 -1
  812. metadata/generated/schema/type/tagLabel.py +8 -1
  813. metadata/generated/schema/type/usageDetails.py +1 -1
  814. metadata/generated/schema/type/usageRequest.py +1 -1
  815. metadata/generated/schema/type/votes.py +1 -1
  816. metadata/ingestion/models/patch_request.py +2 -0
  817. metadata/ingestion/ometa/client.py +2 -2
  818. metadata/ingestion/ometa/mixins/csv_mixin.py +180 -0
  819. metadata/ingestion/ometa/mixins/ingestion_pipeline_mixin.py +26 -0
  820. metadata/ingestion/ometa/mixins/logs_mixin.py +336 -0
  821. metadata/ingestion/ometa/mixins/patch_mixin.py +23 -9
  822. metadata/ingestion/ometa/ometa_api.py +20 -1
  823. metadata/ingestion/ometa/routes.py +3 -0
  824. metadata/ingestion/source/dashboard/domodashboard/metadata.py +19 -9
  825. metadata/ingestion/source/dashboard/looker/metadata.py +4 -0
  826. metadata/ingestion/source/dashboard/metabase/client.py +31 -9
  827. metadata/ingestion/source/dashboard/metabase/metadata.py +4 -0
  828. metadata/ingestion/source/dashboard/powerbi/metadata.py +27 -0
  829. metadata/ingestion/source/dashboard/redash/metadata.py +4 -0
  830. metadata/ingestion/source/dashboard/sigma/metadata.py +4 -0
  831. metadata/ingestion/source/dashboard/superset/api_source.py +2 -0
  832. metadata/ingestion/source/dashboard/superset/db_source.py +2 -0
  833. metadata/ingestion/source/dashboard/superset/mixin.py +2 -0
  834. metadata/ingestion/source/dashboard/tableau/client.py +21 -10
  835. metadata/ingestion/source/dashboard/tableau/metadata.py +7 -1
  836. metadata/ingestion/source/database/bigquery/connection.py +4 -0
  837. metadata/ingestion/source/database/bigquery/metadata.py +39 -26
  838. metadata/ingestion/source/database/column_type_parser.py +1 -1
  839. metadata/ingestion/source/database/common_pg_mappings.py +7 -0
  840. metadata/ingestion/source/database/databricks/auth.py +99 -0
  841. metadata/ingestion/source/database/databricks/client.py +7 -2
  842. metadata/ingestion/source/database/databricks/connection.py +63 -5
  843. metadata/ingestion/source/database/databricks/queries.py +61 -0
  844. metadata/ingestion/source/database/iceberg/metadata.py +44 -1
  845. metadata/ingestion/source/database/mariadb/metadata.py +86 -1
  846. metadata/ingestion/source/database/mariadb/models.py +36 -0
  847. metadata/ingestion/source/database/mariadb/queries.py +43 -0
  848. metadata/ingestion/source/database/oracle/connection.py +4 -0
  849. metadata/ingestion/source/database/oracle/queries.py +18 -0
  850. metadata/ingestion/source/database/postgres/connection.py +6 -0
  851. metadata/ingestion/source/database/postgres/queries.py +22 -0
  852. metadata/ingestion/source/database/sample_data.py +24 -8
  853. metadata/ingestion/source/database/snowflake/constants.py +18 -0
  854. metadata/ingestion/source/database/snowflake/metadata.py +59 -11
  855. metadata/ingestion/source/database/sql_column_handler.py +11 -3
  856. metadata/ingestion/source/database/timescale/__init__.py +3 -0
  857. metadata/ingestion/source/database/timescale/connection.py +103 -0
  858. metadata/ingestion/source/database/timescale/lineage.py +124 -0
  859. metadata/ingestion/source/database/timescale/metadata.py +228 -0
  860. metadata/ingestion/source/database/timescale/models.py +60 -0
  861. metadata/ingestion/source/database/timescale/queries.py +96 -0
  862. metadata/ingestion/source/database/timescale/query_parser.py +106 -0
  863. metadata/ingestion/source/database/timescale/service_spec.py +12 -0
  864. metadata/ingestion/source/database/timescale/usage.py +43 -0
  865. metadata/ingestion/source/database/timescale/utils.py +545 -0
  866. metadata/ingestion/source/database/unitycatalog/client.py +34 -0
  867. metadata/ingestion/source/database/unitycatalog/connection.py +36 -4
  868. metadata/ingestion/source/messaging/kafka/connection.py +13 -4
  869. metadata/ingestion/source/metadata/amundsen/client.py +6 -6
  870. metadata/ingestion/source/mlmodel/mlmodel_service.py +75 -1
  871. metadata/ingestion/source/search/elasticsearch/connection.py +1 -1
  872. metadata/pii/algorithms/classifiers.py +63 -1
  873. metadata/pii/algorithms/presidio_recognizer_factory.py +302 -0
  874. metadata/pii/algorithms/presidio_utils.py +38 -10
  875. metadata/pii/algorithms/utils.py +4 -0
  876. metadata/pii/base_processor.py +2 -1
  877. metadata/pii/processor.py +10 -4
  878. metadata/pii/processor_factory.py +28 -0
  879. metadata/pii/scanners/custom_ner_scanner.py +290 -0
  880. metadata/pii/tag_analyzer.py +124 -0
  881. metadata/pii/tag_processor.py +100 -0
  882. metadata/profiler/metrics/hybrid/cardinality_distribution.py +232 -0
  883. metadata/profiler/metrics/hybrid/histogram.py +1 -1
  884. metadata/profiler/metrics/registry.py +4 -0
  885. metadata/profiler/orm/converter/converter_registry.py +2 -0
  886. metadata/profiler/orm/converter/trino/__init__.py +14 -0
  887. metadata/profiler/orm/converter/trino/converter.py +39 -0
  888. metadata/profiler/orm/functions/conn_test.py +5 -0
  889. metadata/profiler/orm/registry.py +6 -0
  890. metadata/profiler/orm/types/__init__.py +10 -0
  891. metadata/profiler/orm/types/trino.py +70 -0
  892. metadata/profiler/processor/default.py +1 -0
  893. metadata/readers/dataframe/mf4.py +75 -0
  894. metadata/readers/dataframe/reader_factory.py +3 -0
  895. metadata/sdk/__init__.py +188 -0
  896. metadata/sdk/api/__init__.py +7 -0
  897. metadata/sdk/api/lineage.py +421 -0
  898. metadata/sdk/api/search.py +382 -0
  899. metadata/sdk/client.py +91 -0
  900. metadata/sdk/config.py +121 -0
  901. metadata/sdk/entities/__init__.py +64 -0
  902. metadata/sdk/entities/apicollections.py +19 -0
  903. metadata/sdk/entities/apiendpoints.py +19 -0
  904. metadata/sdk/entities/base.py +487 -0
  905. metadata/sdk/entities/charts.py +17 -0
  906. metadata/sdk/entities/classifications.py +21 -0
  907. metadata/sdk/entities/containers.py +17 -0
  908. metadata/sdk/entities/custom_properties.py +144 -0
  909. metadata/sdk/entities/dashboard_services.py +18 -0
  910. metadata/sdk/entities/dashboarddatamodels.py +21 -0
  911. metadata/sdk/entities/dashboards.py +17 -0
  912. metadata/sdk/entities/database_services.py +18 -0
  913. metadata/sdk/entities/databases.py +17 -0
  914. metadata/sdk/entities/databaseschemas.py +19 -0
  915. metadata/sdk/entities/datacontracts.py +19 -0
  916. metadata/sdk/entities/dataproducts.py +19 -0
  917. metadata/sdk/entities/domains.py +17 -0
  918. metadata/sdk/entities/glossaries.py +17 -0
  919. metadata/sdk/entities/glossary_terms.py +18 -0
  920. metadata/sdk/entities/glossaryterms.py +19 -0
  921. metadata/sdk/entities/metrics.py +49 -0
  922. metadata/sdk/entities/mlmodels.py +17 -0
  923. metadata/sdk/entities/pipelines.py +17 -0
  924. metadata/sdk/entities/queries.py +17 -0
  925. metadata/sdk/entities/searchindexes.py +19 -0
  926. metadata/sdk/entities/storedprocedures.py +19 -0
  927. metadata/sdk/entities/tables.py +68 -0
  928. metadata/sdk/entities/tags.py +17 -0
  929. metadata/sdk/entities/teams.py +17 -0
  930. metadata/sdk/entities/testcases.py +17 -0
  931. metadata/sdk/entities/testdefinitions.py +19 -0
  932. metadata/sdk/entities/testsuites.py +17 -0
  933. metadata/sdk/entities/users.py +17 -0
  934. metadata/sdk/examples/builder_end_to_end.py +387 -0
  935. metadata/sdk/types.py +15 -0
  936. metadata/utils/datalake/datalake_utils.py +121 -0
  937. metadata/utils/elasticsearch.py +3 -0
  938. metadata/utils/fqn.py +18 -2
  939. metadata/utils/importer.py +3 -2
  940. metadata/utils/logger.py +10 -0
  941. metadata/utils/sqa_utils.py +3 -0
  942. metadata/utils/streamable_logger.py +525 -0
  943. metadata/workflow/base.py +41 -1
  944. metadata/workflow/classification.py +2 -2
  945. metadata/workflow/workflow_resource_metrics.py +111 -0
  946. metadata/workflow/workflow_status_mixin.py +1 -1
  947. {openmetadata_ingestion-1.9.11.2.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/METADATA +543 -535
  948. {openmetadata_ingestion-1.9.11.2.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/RECORD +952 -845
  949. {openmetadata_ingestion-1.9.11.2.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/LICENSE +0 -0
  950. {openmetadata_ingestion-1.9.11.2.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/WHEEL +0 -0
  951. {openmetadata_ingestion-1.9.11.2.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/entry_points.txt +0 -0
  952. {openmetadata_ingestion-1.9.11.2.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,232 @@
1
+ # Copyright 2025 Collate
2
+ # Licensed under the Collate Community License, Version 1.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/LICENSE
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ """
13
+ Cardinality Distribution Metric definition
14
+ """
15
+ from typing import Any, Dict, Optional
16
+
17
+ from sqlalchemy import case, column, func, or_
18
+ from sqlalchemy.orm import DeclarativeMeta, Session
19
+
20
+ from metadata.profiler.metrics.core import HybridMetric
21
+ from metadata.profiler.metrics.static.count import Count
22
+ from metadata.profiler.metrics.static.distinct_count import DistinctCount
23
+ from metadata.profiler.orm.registry import is_concatenable, is_enum
24
+ from metadata.utils.logger import profiler_logger
25
+
26
+ logger = profiler_logger()
27
+
28
+
29
+ class CardinalityDistribution(HybridMetric):
30
+ """
31
+ CARDINALITY_DISTRIBUTION Metric
32
+
33
+ Given a column, return the cardinality distribution showing top categories
34
+ with an "Others" bucket. Only works for concatenable types (strings, enums).
35
+ """
36
+
37
+ threshold_percentage: float = 0.02 # 2% threshold for "Others" bucket
38
+ min_buckets: int = 5 # Minimum number of top categories to show
39
+
40
+ @classmethod
41
+ def name(cls):
42
+ return "cardinalityDistribution"
43
+
44
+ @property
45
+ def metric_type(self):
46
+ return dict
47
+
48
+ def fn(
49
+ self,
50
+ sample: Optional[DeclarativeMeta],
51
+ res: Dict[str, Any],
52
+ session: Optional[Session] = None,
53
+ ) -> Optional[Dict[str, Any]]:
54
+ """
55
+ Build the Cardinality Distribution metric query
56
+ """
57
+ if not session or self.col is None:
58
+ raise AttributeError(
59
+ f"We are missing the {'session' if not session else 'column'} attribute to compute the CardinalityDistribution."
60
+ )
61
+
62
+ if not (is_concatenable(self.col.type) or is_enum(self.col.type)):
63
+ logger.debug(
64
+ f"CardinalityDistribution not applicable for {self.col.name} because type {self.col.type} is not supported."
65
+ )
66
+ return None
67
+
68
+ # Get total count from other metrics if available, otherwise compute it
69
+ total_count = res.get(Count.name())
70
+ distinct_count = res.get(DistinctCount.name())
71
+
72
+ if not total_count or total_count == 0:
73
+ return None
74
+
75
+ if total_count == distinct_count:
76
+ logger.debug(
77
+ f"CardinalityDistribution not applicable for {self.col.name} because all values are distinct."
78
+ )
79
+ return None
80
+
81
+ col = column(self.col.name, self.col.type)
82
+ threshold = self.threshold_percentage * total_count
83
+
84
+ # Build a cross-database compatible query using CTEs
85
+ # Step 1: Get value counts
86
+ value_counts_cte = (
87
+ session.query( # type: ignore
88
+ col.label("category"), func.count(col).label("category_count")
89
+ )
90
+ .select_from(sample)
91
+ .group_by(col)
92
+ .cte("value_counts")
93
+ )
94
+
95
+ # Step 2: Get top categories
96
+ top_categories_cte = (
97
+ session.query(value_counts_cte.c.category) # type: ignore
98
+ .select_from(value_counts_cte)
99
+ .order_by(value_counts_cte.c.category_count.desc())
100
+ .limit(self.min_buckets)
101
+ .cte("top_categories")
102
+ )
103
+
104
+ # Step 3: Create categorization CTE to avoid complex GROUP BY
105
+ categorized_cte = (
106
+ session.query( # type: ignore
107
+ case(
108
+ (
109
+ or_(
110
+ value_counts_cte.c.category.in_(
111
+ session.query(top_categories_cte.c.category) # type: ignore
112
+ ),
113
+ value_counts_cte.c.category_count >= threshold,
114
+ ),
115
+ value_counts_cte.c.category,
116
+ ),
117
+ else_="Others",
118
+ ).label("category_group"),
119
+ value_counts_cte.c.category_count,
120
+ )
121
+ .select_from(value_counts_cte)
122
+ .cte("categorized")
123
+ )
124
+
125
+ # Step 4: Final aggregation with simple GROUP BY
126
+ query = (
127
+ session.query( # type: ignore
128
+ categorized_cte.c.category_group,
129
+ func.sum(categorized_cte.c.category_count).label("total_count"),
130
+ )
131
+ .select_from(categorized_cte)
132
+ .group_by(categorized_cte.c.category_group)
133
+ .order_by(func.sum(categorized_cte.c.category_count).desc())
134
+ )
135
+
136
+ rows = query.all()
137
+
138
+ if rows:
139
+ return {
140
+ "categories": [row[0] for row in rows],
141
+ "counts": [int(row[1]) for row in rows],
142
+ "percentages": [round((row[1] / total_count) * 100, 2) for row in rows],
143
+ }
144
+ return None
145
+
146
+ def df_fn(self, res: Dict[str, Any], dfs=None):
147
+ """
148
+ Pandas implementation for dataframes
149
+ """
150
+ # pylint: disable=import-outside-toplevel
151
+ import pandas as pd
152
+
153
+ if self.col is None:
154
+ return None
155
+
156
+ if not (is_concatenable(self.col.type) or is_enum(self.col.type)):
157
+ logger.debug(
158
+ f"CardinalityDistribution not applicable for {self.col.name} because type {self.col.type} is not supported."
159
+ )
160
+ return None
161
+
162
+ # Get total count and distinct count from other metrics
163
+ total_count = res.get(Count.name())
164
+ distinct_count = res.get(DistinctCount.name())
165
+
166
+ if not total_count or total_count == 0:
167
+ return None
168
+
169
+ if total_count == distinct_count:
170
+ logger.debug(
171
+ f"CardinalityDistribution not applicable for {self.col.name} because all values are distinct."
172
+ )
173
+ return None
174
+
175
+ try:
176
+ if dfs is None:
177
+ return None
178
+
179
+ # Calculate threshold
180
+ threshold = self.threshold_percentage * total_count
181
+
182
+ # Use pandas value_counts() for efficient processing - much faster for large datasets
183
+ combined_value_counts = pd.Series(dtype="object")
184
+
185
+ for df in dfs:
186
+ # Use value_counts() directly on the column - much more memory efficient
187
+ df_value_counts = df[self.col.name].value_counts()
188
+ combined_value_counts = combined_value_counts.add(
189
+ df_value_counts, fill_value=0
190
+ )
191
+
192
+ # Get top categories that meet the threshold OR are in the top N
193
+ top_categories = {}
194
+ others_count = 0
195
+
196
+ # Get the top N categories by count
197
+ top_n_categories = set(combined_value_counts.head(self.min_buckets).index)
198
+
199
+ # Process in descending order of frequency
200
+ for category, count in combined_value_counts.items():
201
+ # First check if it's in top N, then check threshold
202
+ if category in top_n_categories or count >= threshold:
203
+ top_categories[category] = count
204
+ else:
205
+ others_count += count
206
+
207
+ # Build result
208
+ categories = []
209
+ counts = []
210
+ percentages = []
211
+
212
+ for category, count in top_categories.items():
213
+ categories.append(str(category))
214
+ counts.append(int(count))
215
+ percentages.append(round((count / total_count) * 100, 2))
216
+
217
+ if others_count > 0:
218
+ categories.append("Others")
219
+ counts.append(int(others_count))
220
+ percentages.append(round((others_count / total_count) * 100, 2))
221
+
222
+ return {
223
+ "categories": categories,
224
+ "counts": counts,
225
+ "percentages": percentages,
226
+ }
227
+
228
+ except Exception as err:
229
+ logger.debug(
230
+ f"Error computing CardinalityDistribution for {self.col.name}: {err}"
231
+ )
232
+ return None
@@ -151,7 +151,7 @@ class Histogram(HybridMetric):
151
151
  "We are missing the session attribute to compute the Histogram."
152
152
  )
153
153
 
154
- if not (is_quantifiable(self.col.type) or is_concatenable(self.col.type)) or (
154
+ if not is_quantifiable(self.col.type) or (
155
155
  is_value_non_numeric(res.get(Min.name()))
156
156
  or is_value_non_numeric(res.get(Max.name()))
157
157
  ):
@@ -26,6 +26,9 @@ from metadata.profiler.metrics.composed.like_ratio import LikeRatio
26
26
  from metadata.profiler.metrics.composed.non_parametric_skew import NonParametricSkew
27
27
  from metadata.profiler.metrics.composed.null_ratio import NullRatio
28
28
  from metadata.profiler.metrics.composed.unique_ratio import UniqueRatio
29
+ from metadata.profiler.metrics.hybrid.cardinality_distribution import (
30
+ CardinalityDistribution,
31
+ )
29
32
  from metadata.profiler.metrics.hybrid.histogram import Histogram
30
33
  from metadata.profiler.metrics.static.column_count import ColumnCount
31
34
  from metadata.profiler.metrics.static.column_names import ColumnNames
@@ -104,6 +107,7 @@ class Metrics(MetricRegistry):
104
107
 
105
108
  # Hybrid Metrics
106
109
  HISTOGRAM = Histogram
110
+ CARDINALITY_DISTRIBUTION = CardinalityDistribution
107
111
 
108
112
  # Missing Count
109
113
  NULL_MISSING_COUNT = NullMissingCount
@@ -24,6 +24,7 @@ from metadata.profiler.orm.converter.mariadb.converter import MariaDBMapTypes
24
24
  from metadata.profiler.orm.converter.mssql.converter import MssqlMapTypes
25
25
  from metadata.profiler.orm.converter.redshift.converter import RedshiftMapTypes
26
26
  from metadata.profiler.orm.converter.snowflake.converter import SnowflakeMapTypes
27
+ from metadata.profiler.orm.converter.trino import TrinoMapTypes
27
28
 
28
29
  converter_registry = defaultdict(lambda: CommonMapTypes)
29
30
  converter_registry[DatabaseServiceType.BigQuery] = BigqueryMapTypes
@@ -32,3 +33,4 @@ converter_registry[DatabaseServiceType.Redshift] = RedshiftMapTypes
32
33
  converter_registry[DatabaseServiceType.Mssql] = MssqlMapTypes
33
34
  converter_registry[DatabaseServiceType.AzureSQL] = AzureSqlMapTypes
34
35
  converter_registry[DatabaseServiceType.MariaDB] = MariaDBMapTypes
36
+ converter_registry[DatabaseServiceType.Trino] = TrinoMapTypes
@@ -0,0 +1,14 @@
1
+ # Copyright 2025 Collate
2
+ # Licensed under the Collate Community License, Version 1.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/LICENSE
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ from .converter import TrinoMapTypes
13
+
14
+ __all__ = ("TrinoMapTypes",)
@@ -0,0 +1,39 @@
1
+ # Copyright 2025 Collate
2
+ # Licensed under the Collate Community License, Version 1.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/LICENSE
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+ from typing import Dict, Set
12
+
13
+ from sqlalchemy.sql.type_api import TypeEngine
14
+
15
+ from metadata.generated.schema.entity.data.table import DataType
16
+ from metadata.profiler.orm.converter.common import CommonMapTypes
17
+ from metadata.profiler.orm.types.trino import TrinoArray, TrinoMap, TrinoStruct
18
+
19
+
20
+ class TrinoMapTypes(CommonMapTypes):
21
+ _TYPE_MAP_OVERRIDE = {
22
+ DataType.ARRAY: TrinoArray,
23
+ DataType.MAP: TrinoMap,
24
+ DataType.STRUCT: TrinoStruct,
25
+ }
26
+ _TYPE_MAP = {
27
+ **CommonMapTypes._TYPE_MAP,
28
+ **_TYPE_MAP_OVERRIDE,
29
+ }
30
+
31
+ @classmethod
32
+ def map_sqa_to_om_types(cls) -> Dict[TypeEngine, Set[DataType]]:
33
+ """returns an ORM type"""
34
+ # pylint: disable=import-outside-toplevel
35
+
36
+ return {
37
+ **CommonMapTypes.map_sqa_to_om_types(),
38
+ **{v: {k} for k, v in cls._TYPE_MAP_OVERRIDE.items()},
39
+ }
@@ -46,6 +46,11 @@ def _(*_, **__):
46
46
  return "SELECT SESSION_USER()"
47
47
 
48
48
 
49
+ @compiles(ConnTestFn, Dialects.Databricks)
50
+ def _(*_, **__):
51
+ return "SELECT '42'"
52
+
53
+
49
54
  @compiles(ConnTestFn, Dialects.Db2)
50
55
  @compiles(ConnTestFn, Dialects.IbmDbSa)
51
56
  @compiles(ConnTestFn, Dialects.Ibmi)
@@ -215,3 +215,9 @@ def is_value_non_numeric(value) -> bool:
215
215
  return False
216
216
  except Exception:
217
217
  return False
218
+
219
+
220
+ def is_enum(_type) -> bool:
221
+ if isinstance(_type, DataType):
222
+ return _type.value == DataType.ENUM.value
223
+ return issubclass(_type.__class__, Enum)
@@ -0,0 +1,10 @@
1
+ # Copyright 2025 Collate
2
+ # Licensed under the Collate Community License, Version 1.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/LICENSE
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
@@ -0,0 +1,70 @@
1
+ # Copyright 2025 Collate
2
+ # Licensed under the Collate Community License, Version 1.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/LICENSE
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ """
13
+ Type adapter for Trino to handle NamedRowTuple serialization
14
+ """
15
+ from typing import Any
16
+
17
+ from sqlalchemy import ARRAY
18
+ from sqlalchemy.engine import Dialect
19
+ from sqlalchemy.sql.sqltypes import String, TypeDecorator
20
+
21
+ from metadata.utils.logger import ingestion_logger
22
+
23
+ logger = ingestion_logger()
24
+
25
+
26
+ class TrinoTypesMixin:
27
+ def process_result_value(self, value: Any, dialect: Dialect) -> Any:
28
+ # pylint: disable=import-outside-toplevel
29
+ from trino.types import NamedRowTuple
30
+
31
+ def _convert_value(obj: Any) -> Any:
32
+ if isinstance(obj, NamedRowTuple):
33
+ return {
34
+ k: _convert_value(getattr(obj, k))
35
+ for k in obj.__annotations__["names"]
36
+ }
37
+ elif isinstance(obj, (list, tuple)):
38
+ return type(obj)(_convert_value(v) for v in obj)
39
+ elif isinstance(obj, dict):
40
+ return {k: _convert_value(v) for k, v in obj.items()}
41
+ return obj
42
+
43
+ return _convert_value(value)
44
+
45
+
46
+ class TrinoArray(TrinoTypesMixin, TypeDecorator):
47
+ impl = ARRAY
48
+ cache_ok = True
49
+
50
+ @property
51
+ def python_type(self):
52
+ return list
53
+
54
+
55
+ class TrinoMap(TrinoTypesMixin, TypeDecorator):
56
+ impl = String
57
+ cache_ok = True
58
+
59
+ @property
60
+ def python_type(self):
61
+ return dict
62
+
63
+
64
+ class TrinoStruct(TrinoTypesMixin, TypeDecorator):
65
+ impl = String
66
+ cache_ok = True
67
+
68
+ @property
69
+ def python_type(self):
70
+ return dict
@@ -59,6 +59,7 @@ def get_default_metrics(
59
59
  metrics_registry.UNIQUE_RATIO.value,
60
60
  metrics_registry.IQR.value,
61
61
  metrics_registry.HISTOGRAM.value,
62
+ metrics_registry.CARDINALITY_DISTRIBUTION.value,
62
63
  metrics_registry.NON_PARAMETRIC_SKEW.value,
63
64
  ]
64
65
 
@@ -0,0 +1,75 @@
1
+ # Copyright 2025 Collate
2
+ # Licensed under the Collate Community License, Version 1.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/LICENSE
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ """
13
+ MF4 DataFrame reader for processing MF4 (Measurement Data Format) files
14
+ """
15
+
16
+ import io
17
+
18
+ import pandas as pd
19
+
20
+ from metadata.readers.dataframe.base import DataFrameReader
21
+ from metadata.readers.dataframe.common import dataframe_to_chunks
22
+ from metadata.readers.dataframe.models import DatalakeColumnWrapper
23
+ from metadata.utils.logger import ingestion_logger
24
+
25
+ logger = ingestion_logger()
26
+
27
+
28
+ class MF4DataFrameReader(DataFrameReader):
29
+ """
30
+ MF4 file reader implementation for extracting schema and data
31
+ from MF4 (Measurement Data Format) files.
32
+ """
33
+
34
+ @staticmethod
35
+ def extract_schema_from_header(mf4_bytes: bytes) -> DatalakeColumnWrapper:
36
+ """
37
+ Extract schema from MF4 header common properties.
38
+ This method uses the MDF header metadata instead of actual data extraction.
39
+ """
40
+ from asammdf import MDF
41
+
42
+ file_obj = io.BytesIO(mf4_bytes)
43
+
44
+ mdf = MDF(file_obj)
45
+
46
+ if hasattr(mdf, "header") and hasattr(mdf.header, "_common_properties"):
47
+ common_props = mdf.header._common_properties
48
+
49
+ schema_dict = {}
50
+
51
+ for key, value in common_props.items():
52
+ schema_dict[key] = pd.Series(value)
53
+
54
+ if schema_dict:
55
+ schema_df = pd.DataFrame(schema_dict, index=[0])
56
+ logger.info(f"Extracted {len(schema_dict)} properties from MF4 header")
57
+ return DatalakeColumnWrapper(
58
+ dataframes=dataframe_to_chunks(schema_df), raw_data=common_props
59
+ )
60
+
61
+ logger.debug("No _common_properties found in header.")
62
+
63
+ @staticmethod
64
+ def read_from_mf4(mf4_bytes: bytes) -> DatalakeColumnWrapper:
65
+ """
66
+ Convert MF4 file content to DatalakeColumnWrapper using header schema extraction.
67
+ """
68
+ return MF4DataFrameReader.extract_schema_from_header(mf4_bytes)
69
+
70
+ def _read(self, *, key: str, bucket_name: str, **__) -> DatalakeColumnWrapper:
71
+ """
72
+ Read MF4 file and extract schema information.
73
+ """
74
+ file_content = self.reader.read(key, bucket_name=bucket_name)
75
+ return self.read_from_mf4(file_content)
@@ -27,6 +27,7 @@ from metadata.readers.dataframe.dsv import (
27
27
  get_dsv_reader_by_separator,
28
28
  )
29
29
  from metadata.readers.dataframe.json import JSONDataFrameReader
30
+ from metadata.readers.dataframe.mf4 import MF4DataFrameReader
30
31
  from metadata.readers.dataframe.parquet import ParquetDataFrameReader
31
32
  from metadata.readers.models import ConfigSource
32
33
  from metadata.utils.logger import utils_logger
@@ -50,6 +51,7 @@ class SupportedTypes(Enum):
50
51
  JSONL = "jsonl"
51
52
  JSONLGZ = "jsonl.gz"
52
53
  JSONLZIP = "jsonl.zip"
54
+ MF4 = "MF4"
53
55
 
54
56
 
55
57
  DF_READER_MAP = {
@@ -68,6 +70,7 @@ DF_READER_MAP = {
68
70
  SupportedTypes.JSONL.value: JSONDataFrameReader,
69
71
  SupportedTypes.JSONLGZ.value: JSONDataFrameReader,
70
72
  SupportedTypes.JSONLZIP.value: JSONDataFrameReader,
73
+ SupportedTypes.MF4.value: MF4DataFrameReader,
71
74
  }
72
75
 
73
76