openmetadata-ingestion 1.9.12.0__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 (949) 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 +6 -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/metadata.py +16 -6
  854. metadata/ingestion/source/database/sql_column_handler.py +11 -3
  855. metadata/ingestion/source/database/timescale/__init__.py +3 -0
  856. metadata/ingestion/source/database/timescale/connection.py +103 -0
  857. metadata/ingestion/source/database/timescale/lineage.py +124 -0
  858. metadata/ingestion/source/database/timescale/metadata.py +228 -0
  859. metadata/ingestion/source/database/timescale/models.py +60 -0
  860. metadata/ingestion/source/database/timescale/queries.py +96 -0
  861. metadata/ingestion/source/database/timescale/query_parser.py +106 -0
  862. metadata/ingestion/source/database/timescale/service_spec.py +12 -0
  863. metadata/ingestion/source/database/timescale/usage.py +43 -0
  864. metadata/ingestion/source/database/timescale/utils.py +545 -0
  865. metadata/ingestion/source/database/unitycatalog/client.py +34 -0
  866. metadata/ingestion/source/database/unitycatalog/connection.py +36 -4
  867. metadata/ingestion/source/messaging/kafka/connection.py +13 -4
  868. metadata/ingestion/source/metadata/amundsen/client.py +6 -6
  869. metadata/ingestion/source/mlmodel/mlmodel_service.py +75 -1
  870. metadata/ingestion/source/search/elasticsearch/connection.py +1 -1
  871. metadata/pii/algorithms/classifiers.py +63 -1
  872. metadata/pii/algorithms/presidio_recognizer_factory.py +302 -0
  873. metadata/pii/algorithms/presidio_utils.py +38 -10
  874. metadata/pii/algorithms/utils.py +4 -0
  875. metadata/pii/base_processor.py +2 -1
  876. metadata/pii/processor.py +10 -4
  877. metadata/pii/processor_factory.py +28 -0
  878. metadata/pii/scanners/custom_ner_scanner.py +290 -0
  879. metadata/pii/tag_analyzer.py +124 -0
  880. metadata/pii/tag_processor.py +100 -0
  881. metadata/profiler/metrics/hybrid/cardinality_distribution.py +232 -0
  882. metadata/profiler/metrics/hybrid/histogram.py +1 -1
  883. metadata/profiler/metrics/registry.py +4 -0
  884. metadata/profiler/orm/converter/converter_registry.py +2 -0
  885. metadata/profiler/orm/converter/trino/__init__.py +14 -0
  886. metadata/profiler/orm/converter/trino/converter.py +39 -0
  887. metadata/profiler/orm/functions/conn_test.py +5 -0
  888. metadata/profiler/orm/registry.py +6 -0
  889. metadata/profiler/orm/types/__init__.py +10 -0
  890. metadata/profiler/orm/types/trino.py +70 -0
  891. metadata/profiler/processor/default.py +1 -0
  892. metadata/sdk/__init__.py +188 -0
  893. metadata/sdk/api/__init__.py +7 -0
  894. metadata/sdk/api/lineage.py +421 -0
  895. metadata/sdk/api/search.py +382 -0
  896. metadata/sdk/client.py +91 -0
  897. metadata/sdk/config.py +121 -0
  898. metadata/sdk/entities/__init__.py +64 -0
  899. metadata/sdk/entities/apicollections.py +19 -0
  900. metadata/sdk/entities/apiendpoints.py +19 -0
  901. metadata/sdk/entities/base.py +487 -0
  902. metadata/sdk/entities/charts.py +17 -0
  903. metadata/sdk/entities/classifications.py +21 -0
  904. metadata/sdk/entities/containers.py +17 -0
  905. metadata/sdk/entities/custom_properties.py +144 -0
  906. metadata/sdk/entities/dashboard_services.py +18 -0
  907. metadata/sdk/entities/dashboarddatamodels.py +21 -0
  908. metadata/sdk/entities/dashboards.py +17 -0
  909. metadata/sdk/entities/database_services.py +18 -0
  910. metadata/sdk/entities/databases.py +17 -0
  911. metadata/sdk/entities/databaseschemas.py +19 -0
  912. metadata/sdk/entities/datacontracts.py +19 -0
  913. metadata/sdk/entities/dataproducts.py +19 -0
  914. metadata/sdk/entities/domains.py +17 -0
  915. metadata/sdk/entities/glossaries.py +17 -0
  916. metadata/sdk/entities/glossary_terms.py +18 -0
  917. metadata/sdk/entities/glossaryterms.py +19 -0
  918. metadata/sdk/entities/metrics.py +49 -0
  919. metadata/sdk/entities/mlmodels.py +17 -0
  920. metadata/sdk/entities/pipelines.py +17 -0
  921. metadata/sdk/entities/queries.py +17 -0
  922. metadata/sdk/entities/searchindexes.py +19 -0
  923. metadata/sdk/entities/storedprocedures.py +19 -0
  924. metadata/sdk/entities/tables.py +68 -0
  925. metadata/sdk/entities/tags.py +17 -0
  926. metadata/sdk/entities/teams.py +17 -0
  927. metadata/sdk/entities/testcases.py +17 -0
  928. metadata/sdk/entities/testdefinitions.py +19 -0
  929. metadata/sdk/entities/testsuites.py +17 -0
  930. metadata/sdk/entities/users.py +17 -0
  931. metadata/sdk/examples/builder_end_to_end.py +387 -0
  932. metadata/sdk/types.py +15 -0
  933. metadata/utils/datalake/datalake_utils.py +121 -0
  934. metadata/utils/elasticsearch.py +3 -0
  935. metadata/utils/fqn.py +18 -2
  936. metadata/utils/importer.py +3 -2
  937. metadata/utils/logger.py +10 -0
  938. metadata/utils/sqa_utils.py +3 -0
  939. metadata/utils/streamable_logger.py +525 -0
  940. metadata/workflow/base.py +41 -1
  941. metadata/workflow/classification.py +2 -2
  942. metadata/workflow/workflow_resource_metrics.py +111 -0
  943. metadata/workflow/workflow_status_mixin.py +1 -1
  944. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/METADATA +552 -552
  945. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/RECORD +949 -843
  946. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/LICENSE +0 -0
  947. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/WHEEL +0 -0
  948. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/entry_points.txt +0 -0
  949. {openmetadata_ingestion-1.9.12.0.dist-info → openmetadata_ingestion-1.10.0.0.dist-info}/top_level.txt +0 -0
@@ -151,6 +151,7 @@ from metadata.generated.schema.type.entityLineage import (
151
151
  LineageDetails,
152
152
  )
153
153
  from metadata.generated.schema.type.entityReference import EntityReference
154
+ from metadata.generated.schema.type.entityReferenceList import EntityReferenceList
154
155
  from metadata.generated.schema.type.lifeCycle import AccessDetails, LifeCycle
155
156
  from metadata.generated.schema.type.schema import Topic as TopicSchema
156
157
  from metadata.ingestion.api.common import Entity
@@ -192,7 +193,7 @@ NUM_SERVICES = 1
192
193
  DATABASES_PER_SERVICE = 5
193
194
  SCHEMAS_PER_DATABASE = 5
194
195
  TABLES_PER_SCHEMA = 10
195
- COLUMNS_PER_TABLE = 50
196
+ COLUMNS_PER_TABLE = 200
196
197
  NUM_THREADS = 10
197
198
  BATCH_SIZE = 10
198
199
  COLUMNS = [
@@ -1064,13 +1065,12 @@ class SampleDataSource(
1064
1065
  if directory_data.get("parent"):
1065
1066
  parent_name = directory_data["parent"]
1066
1067
  if parent_name in directory_refs:
1067
- directory_request.parent = directory_refs[parent_name]
1068
+ directory_request.parent = FullyQualifiedEntityName(
1069
+ root=directory_refs[parent_name]
1070
+ )
1068
1071
  else:
1069
- # For nested references like "Marketing.Campaigns_2024"
1070
- # Build parent FQN manually
1071
- parent_path = parent_name.replace(".", "/")
1072
- directory_request.parent = (
1073
- f"{self.drive_service.fullyQualifiedName.root}.{parent_path}"
1072
+ directory_request.parent = FullyQualifiedEntityName(
1073
+ f"{self.drive_service.fullyQualifiedName.root}.{parent_name}"
1074
1074
  )
1075
1075
 
1076
1076
  # Use direct API call instead of yielding since suffix mapping is missing
@@ -2491,9 +2491,25 @@ class SampleDataSource(
2491
2491
 
2492
2492
  # Create with minimal required fields
2493
2493
  try:
2494
+ owner = self.metadata.get_by_name(User, "admin")
2494
2495
  table_request = Either(
2495
2496
  right=CreateTableRequest(
2496
- name=table_name, databaseSchema=schema_fqn, columns=COLUMNS
2497
+ name=table_name,
2498
+ databaseSchema=schema_fqn,
2499
+ columns=COLUMNS,
2500
+ description=random.choice(
2501
+ [f"This is {table_name} description.", None]
2502
+ ),
2503
+ owners=random.choice(
2504
+ [
2505
+ EntityReferenceList(
2506
+ [EntityReference(id=owner.id, type="user")]
2507
+ ),
2508
+ None,
2509
+ ]
2510
+ )
2511
+ if owner
2512
+ else None,
2497
2513
  )
2498
2514
  )
2499
2515
  yield table_request
@@ -20,6 +20,7 @@ import sqlalchemy.types as sqltypes
20
20
  import sqlparse
21
21
  from snowflake.sqlalchemy.custom_types import VARIANT, StructuredType
22
22
  from snowflake.sqlalchemy.snowdialect import SnowflakeDialect, ischema_names
23
+ from sqlalchemy import exc as sa_exc
23
24
  from sqlalchemy.engine.reflection import Inspector
24
25
  from sqlparse.sql import Function, Identifier, Token
25
26
 
@@ -948,17 +949,26 @@ class SnowflakeSource(
948
949
  table_name = result[6].split(".")[-1]
949
950
  # Can't fetch source of stream is source is dropped or no priviledge
950
951
  if table_name == "No privilege or table dropped":
951
- logger.debug(
952
- f"Couldn't fetch columns of stream [{result and result[1]}],"
953
- f" due to error on source: {table_name}. Result: {result}"
952
+ logger.warning(
953
+ f"Couldn't fetch columns of stream [{result and result[1]}] "
954
+ f"(schema: '{schema_name}', db: '{db_name}') due to error on"
955
+ f" source: [{table_name}]. Result: {result}"
954
956
  )
955
957
  return []
956
958
  except Exception:
957
959
  pass
958
960
 
959
- columns = inspector.get_columns(
960
- table_name, schema_name, table_type=table_type, db_name=db_name
961
- )
961
+ try:
962
+ columns = inspector.get_columns(
963
+ table_name, schema_name, table_type=table_type, db_name=db_name
964
+ )
965
+ except sa_exc.NoSuchTableError:
966
+ logger.warning(
967
+ f"Table [{table_name}] (schema: '{schema_name}', db: '{db_name}') not found."
968
+ " Unable to fetch columns. Please check if the configured Snowflake user has"
969
+ " necessary grants on this table."
970
+ )
971
+ return []
962
972
 
963
973
  if table_type == TableType.Stream:
964
974
  columns = [*columns, *DEFAULT_STREAM_COLUMNS]
@@ -268,9 +268,17 @@ class SqlColumnHandlerMixin:
268
268
 
269
269
  table_columns = []
270
270
 
271
- columns = self._get_columns_internal(
272
- schema_name, table_name, db_name, inspector, table_type
273
- )
271
+ try:
272
+ columns = self._get_columns_internal(
273
+ schema_name, table_name, db_name, inspector, table_type
274
+ )
275
+ except Exception as exc:
276
+ logger.debug(traceback.format_exc())
277
+ logger.warning(
278
+ f"Unexpected exception getting columns for table [{table_name}] "
279
+ f"(schema: '{schema_name}', db: '{db_name}'): {exc}"
280
+ )
281
+ columns = []
274
282
 
275
283
  def process_column(column: dict):
276
284
  (
@@ -0,0 +1,3 @@
1
+ from metadata.ingestion.source.database.timescale.metadata import TimescaleSource
2
+
3
+ __all__ = ["TimescaleSource"]
@@ -0,0 +1,103 @@
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
+ Source connection handler for TimescaleDB
14
+ """
15
+ from typing import Optional
16
+
17
+ from sqlalchemy.engine import Engine
18
+
19
+ from metadata.generated.schema.entity.automations.workflow import (
20
+ Workflow as AutomationWorkflow,
21
+ )
22
+ from metadata.generated.schema.entity.services.connections.database.common.azureConfig import (
23
+ AzureConfigurationSource,
24
+ )
25
+ from metadata.generated.schema.entity.services.connections.database.common.basicAuth import (
26
+ BasicAuth,
27
+ )
28
+ from metadata.generated.schema.entity.services.connections.database.timescaleConnection import (
29
+ TimescaleConnection as TimescaleConnectionConfig,
30
+ )
31
+ from metadata.generated.schema.entity.services.connections.testConnectionResult import (
32
+ TestConnectionResult,
33
+ )
34
+ from metadata.ingestion.connections.builders import (
35
+ create_generic_db_connection,
36
+ get_connection_args_common,
37
+ get_connection_url_common,
38
+ )
39
+ from metadata.ingestion.connections.connection import BaseConnection
40
+ from metadata.ingestion.connections.test_connections import test_connection_db_common
41
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
42
+ from metadata.ingestion.source.database.postgres.queries import (
43
+ POSTGRES_GET_DATABASE,
44
+ POSTGRES_TEST_GET_QUERIES,
45
+ POSTGRES_TEST_GET_TAGS,
46
+ )
47
+ from metadata.ingestion.source.database.postgres.utils import (
48
+ get_postgres_time_column_name,
49
+ )
50
+ from metadata.utils.constants import THREE_MIN
51
+ from metadata.utils.credentials import get_azure_access_token
52
+
53
+
54
+ class TimescaleConnection(BaseConnection[TimescaleConnectionConfig, Engine]):
55
+ def _get_client(self) -> Engine:
56
+ """
57
+ Return the SQLAlchemy Engine for TimescaleDB.
58
+ TimescaleDB is a PostgreSQL extension, so we use the same connection logic.
59
+ """
60
+ connection = self.service_connection
61
+
62
+ if isinstance(connection.authType, AzureConfigurationSource):
63
+ access_token = get_azure_access_token(connection.authType)
64
+ connection.authType = BasicAuth(password=access_token)
65
+ return create_generic_db_connection(
66
+ connection=connection,
67
+ get_connection_url_fn=get_connection_url_common,
68
+ get_connection_args_fn=get_connection_args_common,
69
+ )
70
+
71
+ def get_connection_dict(self) -> dict:
72
+ """
73
+ Return the connection dictionary for this service.
74
+ """
75
+ raise NotImplementedError(
76
+ "get_connection_dict is not implemented for TimescaleDB"
77
+ )
78
+
79
+ def test_connection(
80
+ self,
81
+ metadata: OpenMetadata,
82
+ automation_workflow: Optional[AutomationWorkflow] = None,
83
+ timeout_seconds: Optional[int] = THREE_MIN,
84
+ ) -> TestConnectionResult:
85
+ """
86
+ Test connection. This can be executed either as part
87
+ of a metadata workflow or during an Automation Workflow
88
+ """
89
+ queries = {
90
+ "GetQueries": POSTGRES_TEST_GET_QUERIES.format(
91
+ time_column_name=get_postgres_time_column_name(engine=self.client),
92
+ ),
93
+ "GetDatabases": POSTGRES_GET_DATABASE,
94
+ "GetTags": POSTGRES_TEST_GET_TAGS,
95
+ }
96
+ return test_connection_db_common(
97
+ metadata=metadata,
98
+ engine=self.client,
99
+ service_connection=self.service_connection,
100
+ automation_workflow=automation_workflow,
101
+ timeout_seconds=timeout_seconds,
102
+ queries=queries,
103
+ )
@@ -0,0 +1,124 @@
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
+ TimescaleDB lineage module with continuous aggregate support
14
+ """
15
+
16
+ import traceback
17
+ from typing import Iterable, Optional
18
+
19
+ from metadata.generated.schema.entity.services.connections.database.timescaleConnection import (
20
+ TimescaleConnection,
21
+ )
22
+ from metadata.generated.schema.metadataIngestion.workflow import (
23
+ Source as WorkflowSource,
24
+ )
25
+ from metadata.ingestion.api.steps import InvalidSourceException
26
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
27
+ from metadata.ingestion.source.database.postgres.lineage import PostgresLineageSource
28
+ from metadata.ingestion.source.database.timescale.queries import (
29
+ TIMESCALE_CHECK_EXTENSION,
30
+ TIMESCALE_GET_CONTINUOUS_AGGREGATE_DEFINITIONS,
31
+ )
32
+ from metadata.ingestion.source.models import TableView
33
+ from metadata.utils.logger import ingestion_logger
34
+
35
+ logger = ingestion_logger()
36
+
37
+
38
+ class TimescaleLineageSource(PostgresLineageSource):
39
+ """
40
+ TimescaleDB lineage source that extends PostgreSQL lineage
41
+ to include continuous aggregates (auto-refreshing materialized views)
42
+ """
43
+
44
+ @classmethod
45
+ def create(
46
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
47
+ ):
48
+ """Create TimescaleLineageSource"""
49
+ config: WorkflowSource = WorkflowSource.model_validate(config_dict)
50
+ connection = config.serviceConnection.root.config
51
+ if not isinstance(connection, (TimescaleConnection)):
52
+ raise InvalidSourceException(
53
+ f"Expected TimescaleConnection, but got {connection}"
54
+ )
55
+ return cls(config, metadata)
56
+
57
+ def __init__(self, config, metadata):
58
+ super().__init__(config, metadata)
59
+ self.timescaledb_installed = False
60
+
61
+ def prepare(self):
62
+ """Check if TimescaleDB extension is installed"""
63
+ super().prepare()
64
+ try:
65
+ result = self.engine.execute(TIMESCALE_CHECK_EXTENSION).first()
66
+ self.timescaledb_installed = (
67
+ result.timescaledb_installed if result else False
68
+ )
69
+ logger.info(
70
+ f"TimescaleDB extension installed for lineage: {self.timescaledb_installed}"
71
+ )
72
+ except Exception as exc:
73
+ logger.warning(f"Could not check TimescaleDB extension: {exc}")
74
+ self.timescaledb_installed = False
75
+
76
+ def view_lineage_producer(self) -> Iterable[TableView]:
77
+ """
78
+ Get view definitions from ES and add continuous aggregates
79
+ """
80
+ # First yield regular views from parent
81
+ yield from super().view_lineage_producer()
82
+
83
+ # Then yield continuous aggregates if TimescaleDB is installed
84
+ if self.timescaledb_installed:
85
+ yield from self._yield_continuous_aggregate_views()
86
+
87
+ def _yield_continuous_aggregate_views(self) -> Iterable[TableView]:
88
+ """
89
+ Get TimescaleDB continuous aggregates as TableView objects.
90
+
91
+ Continuous aggregates are auto-refreshing materialized views that
92
+ provide clear column-level lineage from source hypertables.
93
+
94
+ The view_definition contains the SELECT statement that defines
95
+ the continuous aggregate, which OpenMetadata can parse for
96
+ column-level lineage.
97
+ """
98
+ try:
99
+ results = self.engine.execute(
100
+ TIMESCALE_GET_CONTINUOUS_AGGREGATE_DEFINITIONS
101
+ )
102
+
103
+ for row in results:
104
+ try:
105
+ yield TableView(
106
+ table_name=row.view_name,
107
+ schema_name=row.view_schema,
108
+ db_name=self.service_connection.database,
109
+ view_definition=row.view_definition,
110
+ )
111
+
112
+ logger.debug(
113
+ f"Extracted continuous aggregate view: {row.view_schema}.{row.view_name}"
114
+ )
115
+
116
+ except Exception as exc:
117
+ logger.debug(traceback.format_exc())
118
+ logger.warning(
119
+ f"Failed to process continuous aggregate {row.view_schema}.{row.view_name}: {exc}"
120
+ )
121
+
122
+ except Exception as exc:
123
+ logger.debug(traceback.format_exc())
124
+ logger.warning(f"Failed to extract continuous aggregate views: {exc}")
@@ -0,0 +1,228 @@
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
+ TimescaleDB source module
14
+ """
15
+ import traceback
16
+ from typing import Iterable, Optional, Tuple
17
+
18
+ from sqlalchemy.engine import Inspector
19
+
20
+ from metadata.generated.schema.entity.data.table import (
21
+ PartitionColumnDetails,
22
+ PartitionIntervalTypes,
23
+ Table,
24
+ TablePartition,
25
+ )
26
+ from metadata.generated.schema.entity.services.connections.database.timescaleConnection import (
27
+ TimescaleConnection,
28
+ )
29
+ from metadata.generated.schema.metadataIngestion.workflow import (
30
+ Source as WorkflowSource,
31
+ )
32
+ from metadata.ingestion.api.models import Either
33
+ from metadata.ingestion.api.steps import InvalidSourceException
34
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
35
+ from metadata.ingestion.source.database.postgres.metadata import PostgresSource
36
+ from metadata.ingestion.source.database.timescale.models import (
37
+ CompressionSettings,
38
+ HypertableInfo,
39
+ )
40
+ from metadata.ingestion.source.database.timescale.queries import (
41
+ TIMESCALE_CHECK_EXTENSION,
42
+ TIMESCALE_GET_COMPRESSION_SETTINGS,
43
+ TIMESCALE_GET_HYPERTABLE_INFO,
44
+ )
45
+ from metadata.utils.logger import ingestion_logger
46
+
47
+ logger = ingestion_logger()
48
+
49
+
50
+ class TimescaleSource(PostgresSource):
51
+ """
52
+ Implements the necessary methods to extract
53
+ Database metadata from TimescaleDB Source
54
+ """
55
+
56
+ def __init__(self, config: WorkflowSource, metadata: OpenMetadata):
57
+ super().__init__(config, metadata)
58
+ self.timescaledb_installed = False
59
+
60
+ @classmethod
61
+ def create(
62
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
63
+ ):
64
+ config: WorkflowSource = WorkflowSource.model_validate(config_dict)
65
+ connection: TimescaleConnection = config.serviceConnection.root.config
66
+ if not isinstance(connection, TimescaleConnection):
67
+ raise InvalidSourceException(
68
+ f"Expected TimescaleConnection, but got {connection}"
69
+ )
70
+ return cls(config, metadata)
71
+
72
+ def prepare(self):
73
+ """
74
+ Check if TimescaleDB extension is installed
75
+ """
76
+ super().prepare()
77
+ try:
78
+ result = self.engine.execute(TIMESCALE_CHECK_EXTENSION).first()
79
+ if result:
80
+ self.timescaledb_installed = result.timescaledb_installed
81
+ logger.info(
82
+ f"TimescaleDB extension installed: {self.timescaledb_installed}"
83
+ )
84
+ except Exception as exc:
85
+ logger.warning(f"Could not check TimescaleDB extension: {exc}")
86
+ self.timescaledb_installed = False
87
+
88
+ def yield_table(
89
+ self, table_name_and_type: Tuple[str, str]
90
+ ) -> Iterable[Either[Table]]:
91
+ """
92
+ Override to add TimescaleDB-specific metadata
93
+ """
94
+ for either_table in super().yield_table(table_name_and_type):
95
+ if either_table.right and self.timescaledb_installed:
96
+ try:
97
+ self._add_timescale_metadata(either_table.right)
98
+ except Exception as exc:
99
+ logger.debug(traceback.format_exc())
100
+ logger.warning(
101
+ f"Error adding TimescaleDB metadata for table {either_table.right.name}: {exc}"
102
+ )
103
+ yield either_table
104
+
105
+ def _add_timescale_metadata(self, table: Table) -> None:
106
+ """
107
+ Add compression and hypertable metadata to the table
108
+ """
109
+ try:
110
+ schema_name = table.databaseSchema.root
111
+ table_name = table.name.root
112
+
113
+ hypertable = self._get_hypertable_info(table_name, schema_name)
114
+
115
+ if hypertable:
116
+ logger.debug(f"Found hypertable: {schema_name}.{table_name}")
117
+
118
+ table.compressionEnabled = hypertable.compression_enabled
119
+
120
+ if hypertable.compression_enabled:
121
+ compression = self._get_compression_settings(
122
+ table_name, schema_name
123
+ )
124
+
125
+ if compression:
126
+ table.compressionCodec = "TimescaleDB Native"
127
+ table.compressionStrategy = {
128
+ "compressionType": "POLICY_BASED",
129
+ "segmentColumns": compression.segment_by_columns or [],
130
+ "orderColumns": compression.order_by_columns or [],
131
+ }
132
+
133
+ partition_info = self._build_hypertable_partition(hypertable)
134
+ if partition_info:
135
+ table.tablePartition = partition_info
136
+
137
+ except Exception as exc:
138
+ logger.debug(traceback.format_exc())
139
+ logger.warning(
140
+ f"Error processing TimescaleDB metadata for {table.name}: {exc}"
141
+ )
142
+
143
+ def _get_hypertable_info(
144
+ self, table_name: str, schema_name: str
145
+ ) -> Optional[HypertableInfo]:
146
+ """
147
+ Query timescaledb_information.hypertables for metadata
148
+ """
149
+ try:
150
+ result = self.engine.execute(
151
+ TIMESCALE_GET_HYPERTABLE_INFO,
152
+ {"table_name": table_name, "schema_name": schema_name},
153
+ ).first()
154
+
155
+ if result:
156
+ return HypertableInfo.model_validate(dict(result._mapping))
157
+ return None
158
+ except Exception as exc:
159
+ logger.debug(traceback.format_exc())
160
+ logger.debug(
161
+ f"Could not get hypertable info for {schema_name}.{table_name}: {exc}"
162
+ )
163
+ return None
164
+
165
+ def _get_compression_settings(
166
+ self, table_name: str, schema_name: str
167
+ ) -> Optional[CompressionSettings]:
168
+ """
169
+ Query timescaledb_information.compression_settings for compression config
170
+ """
171
+ try:
172
+ result = self.engine.execute(
173
+ TIMESCALE_GET_COMPRESSION_SETTINGS,
174
+ {"table_name": table_name, "schema_name": schema_name},
175
+ ).first()
176
+
177
+ if result:
178
+ return CompressionSettings.model_validate(dict(result._mapping))
179
+ return None
180
+ except Exception as exc:
181
+ logger.debug(traceback.format_exc())
182
+ logger.debug(
183
+ f"Could not get compression settings for {schema_name}.{table_name}: {exc}"
184
+ )
185
+ return None
186
+
187
+ def _build_hypertable_partition(
188
+ self, hypertable: HypertableInfo
189
+ ) -> Optional[TablePartition]:
190
+ """
191
+ Build partition details from hypertable information
192
+ """
193
+ if not hypertable.column_name:
194
+ return None
195
+
196
+ if hypertable.interval_length:
197
+ interval_type = PartitionIntervalTypes.TIME_UNIT
198
+ interval = f"{hypertable.interval_length} microseconds"
199
+ elif hypertable.integer_interval:
200
+ interval_type = PartitionIntervalTypes.INTEGER_RANGE
201
+ interval = str(hypertable.integer_interval)
202
+ else:
203
+ interval_type = PartitionIntervalTypes.COLUMN_VALUE
204
+ interval = None
205
+
206
+ return TablePartition(
207
+ columns=[
208
+ PartitionColumnDetails(
209
+ columnName=hypertable.column_name,
210
+ intervalType=interval_type,
211
+ interval=interval,
212
+ )
213
+ ]
214
+ )
215
+
216
+ def get_table_partition_details(
217
+ self, table_name: str, schema_name: str, inspector: Inspector
218
+ ) -> Tuple[bool, Optional[TablePartition]]:
219
+ """
220
+ Override to check for hypertables first, then fall back to PostgreSQL partitioning
221
+ """
222
+ if self.timescaledb_installed:
223
+ hypertable = self._get_hypertable_info(table_name, schema_name)
224
+ if hypertable:
225
+ partition = self._build_hypertable_partition(hypertable)
226
+ return (True, partition) if partition else (False, None)
227
+
228
+ return super().get_table_partition_details(table_name, schema_name, inspector)
@@ -0,0 +1,60 @@
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
+ TimescaleDB models for metadata extraction
14
+ """
15
+ from typing import List, Optional
16
+
17
+ from pydantic import BaseModel, Field
18
+
19
+
20
+ class HypertableInfo(BaseModel):
21
+ """Information about a TimescaleDB hypertable"""
22
+
23
+ hypertable_schema: str
24
+ hypertable_name: str
25
+ compression_enabled: bool
26
+ column_name: Optional[str] = None
27
+ interval_length: Optional[int] = None
28
+ integer_interval: Optional[int] = None
29
+ integer_now_func: Optional[str] = None
30
+ num_dimensions: int = 1
31
+
32
+
33
+ class CompressionSettings(BaseModel):
34
+ """Compression configuration for a hypertable"""
35
+
36
+ segment_by_columns: Optional[List[str]] = Field(default_factory=list)
37
+ order_by_columns: Optional[List[str]] = Field(default_factory=list)
38
+
39
+
40
+ class ContinuousAggregateInfo(BaseModel):
41
+ """Information about a continuous aggregate"""
42
+
43
+ view_schema: str
44
+ view_name: str
45
+ view_definition: Optional[str] = None
46
+ compression_enabled: bool = False
47
+ materialized_only: bool = False
48
+ materialization_hypertable_schema: Optional[str] = None
49
+ materialization_hypertable_name: Optional[str] = None
50
+
51
+
52
+ class ChunkInfo(BaseModel):
53
+ """Information about a hypertable chunk"""
54
+
55
+ chunk_schema: str
56
+ chunk_name: str
57
+ range_start: Optional[str] = None
58
+ range_end: Optional[str] = None
59
+ is_compressed: bool = False
60
+ chunk_tablespace: Optional[str] = None