Learn to implement data lineage tracking with OpenMetadata’sPython SDK. Complete guide with code examples, API usage, and best practices for data flow …
In this guide, we will use the Python SDK to create and fetch Lineage information.For simplicity, we are going to create lineage between Tables. However, this would work with ANY entity.You can find the Lineage Entity defined here,
as well as the Entity defining the payload to add a new lineage: AddLineage.
Note that in OpenMetadata, the Lineage information is just a possible relationship between Entities. Other types
of relationships for example could be:
Contains (a Database contains Schemas, which at the same time contain Tables),
or Ownership of any asset.
The point being, any Entity existent in OpenMetadata can be related to any other via Lineage.
In the following sections we will:
Create a Database Service, a Database, a Schema and two Tables,
Add Lineage between both Tables,
Get the Lineage information back.
A prerequisite for this section is to have previously gone through the following docs.
We are mocking a MySQL instance. Note how we need to pass the right configuration class MysqlConnection, as a
parameter for the generic DatabaseConnection type.
Any Entity that is created and linked to another Entity, has to hold the fullyQualifiedName to the Entity it
relates to. In this case, a Database is bound to a specific service.
And finally, Tables are contained in a specific Schema, so we use the fullyQualifiedName here as well.We are doing a simple example with a single column.
You can also get lineage by entity type and ID using Lineage.get_entity_lineage(entity_type="table", entity_id="entity-id", upstream_depth=1, downstream_depth=1).
Note how when adding lineage information we give to the API an AddLineage
Request. This is composed of an Entity Edge, whose definition you can find here.In a nutshell, an Entity Edge has:
The Entity Reference as the lineage origin,
The Entity Reference as the lineage destination,
Optionally, Lineage Details.
In the Lineage Details property we can pass further information specific about Table to Table lineage:
sqlQuery specifying the transformation,
An array of columnsLineage as an object with an array of source and destination columns, as well as their own specific transformation function,
Optionally, the Entity Reference of a Pipeline powering the transformation from Table A to Table B.
The simple Lineage.add_lineage(...) helper covers direct edges. For advanced payloads, construct an AddLineageRequest
and submit it with Lineage.add_lineage_request(...).Let’s see how to do that and play with the possible combinations.First, import the required classes and create a new table:
from metadata.sdk import Tablesfrom metadata.generated.schema.api.lineage.addLineage import AddLineageRequestfrom metadata.generated.schema.type.entityReference import EntityReferencefrom metadata.generated.schema.type.entityLineage import ( ColumnLineage, EntitiesEdge, LineageDetails,)# Prepare a new tabletable_c = CreateTableRequest( name="tableC", databaseSchema=create_schema_entity.ifullyQualifiedName, columns=[Column(name="id", dataType=DataType.BIGINT)],)table_c_entity = metadata.create_or_update(data=table_c)
We can as well pass the reference to the pipeline used to create the lineage (e.g., the ETL feeding the tables).To prepare this example, we need to start by creating the Pipeline Entity. Again, we’ll need first
to prepare the Pipeline Service:
SQL-based lineage parsing is not part of metadata.sdk.api.Lineage today. If you need lineage generated from raw SQL,
use the lineage ingestion workflow or CLI. The older add_lineage_by_query helper belongs to the legacy
metadata.ingestion.ometa client surface, not the current metadata.sdk API.
To create the automated sql lineage via CLI, you need to make sure that you have installed the openmetadata-ingestion package in your local environment using command pip install openmetadata-ingestion.Once that is done you will have to prepare a yaml file as follows.
serviceName: local_mysqlquery: insert into target_table(id) as select id from source_table# filePath: test.sql# parseTimeout: 360 # timeout in secondsworkflowConfig: # loggerLevel: DEBUG # DEBUG, INFO, WARN or ERROR openMetadataServerConfig: hostPort: <OpenMetadata host and port> authProvider: <OpenMetadata auth provider>
serviceName: Name of the database service which contains the table involved in query.
query: You can specify the raw sql query within the yaml file itself.
filePath: In case the query is too big then you can also save query in a file and pass the path to the file in this field.
parseTimeout: Timeout for the lineage parsing process.
workflowConfig: The main property here is the openMetadataServerConfig, where you can define the host and security provider of your OpenMetadata installation.
Once the yaml file is prepare you can run the command
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"OpenMetadata Documentation","colors":{"primary":"#6938EF","light":"#6938EF","dark":"#6938EF"},"logo":"https://mintcdn.com/openmetadata/Z_Ib-0g05fLykSep/public/images/icons/omd.svg?fit=max\u0026auto=format\u0026n=Z_Ib-0g05fLykSep\u0026q=85\u0026s=8eb40986afc777e29ae395288a3983e8","favicon":"https://mintcdn.com/openmetadata/Z_Ib-0g05fLykSep/public/images/icons/om-monogram.svg?fit=max\u0026auto=format\u0026n=Z_Ib-0g05fLykSep\u0026q=85\u0026s=8c8208506e2cadb9ef7a7302f79486fb","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://sandbox.open-metadata.org/api"}},"appearance":{"default":"light","strict":true},"navbar":{"links":[{"icon":"Slack","href":"https://slack.open-metadata.org","label":"Community"},{"icon":"Book","href":"https://blog.open-metadata.org/","label":"Blogs"},{"href":"https://getcollate.io/","label":"Free Tier"}]},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/openmetadata","youtube":"https://www.youtube.com/@OpenMetadataChannel","x":"https://x.com/open_metadata"},"links":[{"items":[{"label":"Terms of Service","href":"https://www.getcollate.io/terms"},{"label":"Privacy Policy","href":"https://www.getcollate.io/privacypolicy"},{"label":"Trust Center","href":"https://trustcenter.getcollate.io/"},{"label":"Contact Us","href":"https://www.getcollate.io/contact-sales"}]}]},"seo":{"metatags":{"canonical":"https://docs.open-metadata.org"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"GTM-554C968W"}},"interaction":{"drilldown":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"openmetadata","hasAudioNarration":false,"actualSubdomain":"openmetadata","customDomains":["docs.open-metadata.org"],"gitSource":{"type":"github","owner":"open-metadata","repo":"docs-om","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae233dcba39d6ad9c7482c3","collectionId":"ec8cb132-be9f-49ba-a8e9-eb4ad2e2b284","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae233dcba39d6ad9c7482c3"},"feedback":{"thumbs":true,"issues":true,"edits":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae233dcba39d6ad9c7482c3","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Connectors","count":1123},{"language":"default","tag":"Connector","count":1030},{"language":"default","tag":"SDK \u0026 APIs","count":960},{"language":"default","tag":"Deployment","count":628},{"language":"default","tag":"Database","count":547},{"language":"default","tag":"Data Assets","count":470},{"language":"default","tag":"Data Governance","count":314},{"language":"default","tag":"Data Quality and Observability","count":282},{"language":"default","tag":"Ingestion","count":228},{"language":"default","tag":"Developers","count":210}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"globals.css","content":"/* latin-ext */\n@font-face {\n font-family: 'DM Sans';\n font-style: italic;\n font-weight: 100 1000;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmsans/v17/rP2Fp2ywxg089UriCZa4ET-DNl0.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'DM Sans';\n font-style: italic;\n font-weight: 100 1000;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmsans/v17/rP2Fp2ywxg089UriCZa4Hz-D.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'DM Sans';\n font-style: normal;\n font-weight: 100 1000;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'DM Sans';\n font-style: normal;\n font-weight: 100 1000;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n@tailwind base;@tailwind components;@tailwind utilities;:root{--top-nav-height:70px;--main-nav-height:42px;--side-nav-width:288px;--side-nav-collapsed-width:42px;--select-dropdown-default-height:28px;--select-dropdown-default-width:165px;--side-nav-width:min(20%, 300px);--api-side-nav-width:max(14%, 220px);--content-div-width:min(17%, 250px);--default-border-color:#dce3ec;--primary-color:#6938EF;--primary-shadow-color:#5469d433;--primary-background-color:rgba(84, 105, 212, 0.05);--select-background-color:#f4f7ff;--icon-background-color:#f1f3fe;--select-border-color:#e9eefc;--homepage-container-px:130px;--default-text-color:rgb(60, 66, 87);--gray-text-color:rgba(60, 66, 87, 0.7);--white-color:#fff;--top-nav-color:#f7fafc;--code-background-color:#212d63;--code-gray-background-color:rgb(79, 86, 107);--code-light-background-color:#f7fafc;--code-toolbar-color:#212d63;--code-gray-toolbar-color:#3c4257;--code-light-toolbar-color:#ffffff;--code-light-border-color:#e3e8ee;--code-filename-color:#a4cdfe;--code-gray-filename-color:#dadce1;--code-light-filename-color:#f7fafc;--code-block-text-color:#f5fbff;--purple-bg-color:#7147e81a;--green-bg-color:#0084761a;--pink-bg-color:#b02aac1a;--purple-icon-color:#7147e8;--green-icon-color:#008376;--pink-icon-color:#b02aac;--beta-label-color:#0950C5;--beta-label-bg-color:#E4EEFF;--prod-label-color:#81C562;--prod-label-bg-color:#EEFBE7;--stable-label-color:#1890ff;--stable-label-bg-color:#e6f7ff;--connector-icon-bg-color:#F8F8F8;--green-tag-color:#43A047;--green-tag-bg-color:#43A0471A;--orange-tag-color:#FF7C50;--orange-tag-bg-color:#FF7C501A}body{font-family:\"DM Sans\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";color:var(--default-text-color);margin:0;font-weight:400;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-weight:600;font-family:\"DM Sans\"}b,strong{font-weight:600}p{line-height:1.5em;margin:8px 0 0;color:#414651}h1{font-size:36px;line-height:44px;color:#224!important;margin-bottom:10px!important}h2{font-size:30px;line-height:38px}h3{font-size:24px;line-height:32px}h4{font-size:20px;line-height:30px}h5{font-size:18px;line-height:28px}body,h6{font-size:16px}h6{line-height:24px}a{color:var(--primary-color);font-weight:500}li::marker{color:var(--primary-color)}ol{list-style:decimal;margin-top:16px;margin-left:16px}ol li::marker{color:var(--default-text-color)}li>ul{margin-top:0;margin-left:16px}pre{border-radius:6px;background-color:var(--code-background-color)}code,pre{-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar,code::-webkit-scrollbar,pre::-webkit-scrollbar{display:none}*{scrollbar-width:none}a.link{color:#6938ef;font-weight:600;text-decoration:none;border:0}a.link:hover{text-decoration:underline}.connector-tab{display:block;width:100%;text-align:start;padding:8px;cursor:pointer;border-radius:4px}.active-connector,.connector-tab:hover{background-color:var(--primary-background-color)}.active-connector{border:.5px solid var(--select-border-color);color:var(--primary-color);font-weight:600}.divider{color:var(--default-border-color)}.icons{height:2rem;width:2rem}.cloud-button{border-radius:1rem;border:1px solid #c280ff;background-color:#c280ff}.search,.search-box{background-color:#f4f4f4}.search-box{height:2.25rem;width:550px;border:1px solid #f4f4f4;border-radius:.5rem;padding:4px 20px;color:#9e9d9d;display:flex;align-items:center}.search{width:90%;height:90%;border:0;outline:0}.overview-container{width:100vw;display:flex;flex-direction:column;justify-content:center;padding:50px 10%;background:#f4f7ff}.container-heading,.overview-heading{font-weight:700;font-size:22px;line-height:42px;margin-bottom:12px}.container-heading{margin-bottom:40px}.blogs-container,.cards-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.homepage-containers{padding:0 10%;margin:80px 0 0}#myUL{list-style-type:none;margin:0;padding:0}.nested{display:none}.active{display:block;color:var(--primary-color)}.DownArrow{display:none}.RightArrow{display:block}.highlightedCode{background-color:#1a2652}.page-404{height:calc(100vh - var(--top-nav-height) - var(--main-nav-height))}.content{flex-grow:0;flex-shrink:1}.non-collapsed-content{width:calc(100vw - var(--side-nav-width))}.collapsed-content{width:calc(100vw - var(--side-nav-collapsed-width))}.card-icon-container{padding:8px;width:fit-content;border-radius:10px}.card-purple-icon{background-color:var(--purple-bg-color);border:1px solid #7147e8}.card-green-icon{background-color:var(--green-bg-color);border:1px solid #008376}.card-pink-icon{background-color:var(--pink-bg-color);border:1px solid #b02aac}.nav-bar-container{position:sticky;top:0;z-index:100}.min-width-600{min-width:600px}@media (max-width:1240px){.blogs-container{grid-template-columns:1fr 1fr}}@media (max-width:900px){.cards-container{grid-template-columns:1fr 1fr}.blogs-container{grid-template-columns:1fr}.overview-container{padding:20px 60px;width:100%}.homepage-containers{padding:20px 60px;margin:32px 0 0}}@media (max-width:600px){.cards-container{grid-template-columns:1fr}.non-collapsed-content{display:none}.collapsed-content{width:calc(100% - 41px)}}#header h1,#header p{display:none!important}.mdx-content{margin-top:0!important}.api-page-container{display:grid;grid-template-columns:var(--api-side-nav-width) calc(100vw - var(--api-side-nav-width))}.hash-link{overflow:hidden;width:0;height:0;display:block;visibility:hidden;text-decoration:none;pointer-events:none;margin-top:-300px!important;padding-top:300px}.cookie-modal{position:fixed;bottom:0;background-color:#f8fbfc;z-index:20;padding:1rem;box-shadow:var(--shadow-card);transform:translateY(100%);transition:transform 1.2s ease-in-out,visibility 1.2s ease-in-out;visibility:hidden;border:1px solid #c9c4c4;border-radius:10px}.cookie-modal p{color:#292929;font-weight:300}.cookie-modal-buttons{margin-top:2rem;display:flex;gap:.75rem;justify-content:flex-end}.button{border-radius:1.5rem;padding:.5rem 2rem;font-size:.875rem;cursor:pointer;border:0}.button-accept{background-color:#7147e8;color:#fff}.button-reject{background-color:#fff;color:#7147e8;border:1px solid #7147e8}@media (min-width:640px){.cookie-modal{margin:1.25rem;max-width:36rem}}@media (min-width:1024px){.cookie-modal{max-width:48rem}}.cookie-modal.visible{transform:translateY(0);visibility:visible}.brand-docs-banner{font-weight:500;padding:0 8px;border-radius:12px;margin-top:16px;width:fit-content}.breadcrumb-item:first-child{display:none}.breadcrumb-item:last-of-type a{color:#414651;pointer-events:none;cursor:text;text-decoration:none}#page-loader{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);z-index:9999;transition:width .3s ease}#navbar .border-b{border:0}#navbar .nav-tabs{background-color:#fafafa;max-width:max-content;border:1px solid #eaecf5;border-radius:100px;margin:24px auto 4px;column-gap:16px;overflow-x:auto;display:flex;flex-wrap:nowrap;justify-content:flex-start}#navbar .nav-tabs .nav-tabs-item{padding:12px 24px;font-size:16px;white-space:nowrap;flex-shrink:0;color:#414651;font-weight:500}#navbar .nav-tabs .nav-tabs-item:hover{color:#181d27;text-decoration:none}#navbar .nav-tabs .nav-tabs-item .absolute,#navbar .nav-tabs a[href*=\"/how-to-guides/\"],a.mobile-nav-tabs-item[href*=\"/how-to-guides/\"]{display:none!important}#navbar .nav-tabs .nav-tabs-item.text-primary{color:#fff;background-color:#252b37;border-radius:100px;font-weight:600}#navbar .nav-tabs:has(a[href*=\"/how-to-guides/\"].text-primary) a.nav-tabs-item[href*=\"/how-to-guides\"]{color:#fff;background-color:#252b37;border-radius:100px;font-weight:600}#navbar .h-10{height:auto!important}.navbar-link a{background-color:transparent;color:#535862;font-weight:600}.nav-logo{height:40px}.navbar-link a:hover{color:#181d27;background-color:transparent}.products-container h2{color:#224;font-size:22px;font-weight:600}.card,.card>*{transition:all .3s ease}.card{border:0;box-shadow:0 4px 12px -1px rgba(10,13,18,.08)}.card>*{padding:20px}.card h2{color:#181d27;font-size:18px;line-height:20px}.card:hover{box-shadow:0 3px 3px -1.5px #0a0d120a,0 8px 8px -4px #0a0d1208,0 20px 24px -4px #0a0d1214;transform:translateY(-2px)}.card:hover>*{padding:24px;margin:-4px}.connector-page .card [data-component-part=card-content-container]{position:relative}.card [data-component-part=card-icon]:has(>svg){background-color:#e6f1ff;padding:24px;border-radius:100%;display:inline-flex;align-items:center;justify-content:center}body:not(:has(.homepage-container)) .card [data-component-part=card-icon]{width:auto!important;height:auto!important;min-width:32px!important;min-height:32px!important;align-self:flex-start!important}body:not(:has(.homepage-container)) .card [data-component-part=card-icon] img{width:32px!important;height:32px!important;object-fit:contain;flex-shrink:0}.connector-page div[data-component-part=card-icon]{background-color:#f8f9fc;padding:16px;border-radius:100%;display:inline-flex;align-items:center;justify-content:center;width:auto!important;height:auto!important}.connector-page div[data-component-part=card-icon] img,.connector-page div[data-component-part=card-icon] svg{width:32px!important;height:32px!important;object-fit:contain;flex-shrink:0;position:relative;z-index:1}.prod-beta-chip{display:flex;gap:4px;font-size:10px;width:max-content;border-radius:100px;padding:0 6px;font-weight:500;position:absolute;top:12px;right:12px}.prod-beta-chip.prod{color:#067647;background-color:#ecfdf3;border:1px solid #abefc6}.prod-beta-chip.beta{color:#175cd3;background-color:#eff8ff;border:1px solid #b2ddff}.prod-beta-chip img,button[aria-haspopup=menu] p{margin:0}.prod-beta-chip span{margin-top:-7px}#sidebar-content{border:0;top:132px!important;height:calc(100vh - 132px)!important}.sidebar-group-header{display:none}.my-2:has(ul.sidebar-group a[href*=\"/api-reference\"])>.sidebar-group-header{display:flex}.sidebar-group-header h5{color:#224;font-size:14px;font-weight:600}#table-of-contents-content .toc-item a{color:#414651}#table-of-contents-content .toc-item a:hover{color:#414651;border-color:#d5d9eb}#table-of-contents-content .toc-item a.text-primary{color:#6938ef;border-color:#6938ef;font-weight:600}.collate-ai-container h1,.products-container h1,body:not(:has(.homepage-container)) .mdx-content h1{display:flex;flex-direction:column;align-items:flex-start;margin-top:0!important}body:not(:has(.homepage-container)) .mdx-content h1#error-title{align-items:center}.collate-ai-container h1::before,.products-container h1::before,body:not(:has(.homepage-container)) .mdx-content h1::before{content:\"OpenMetadata Documentation\";display:block;background-color:#ebe9fe;color:#6938ef;padding:4px 12px;border-radius:100px;font-size:14px;font-weight:600;line-height:1.5;margin-bottom:16px;width:fit-content;flex-shrink:0}h1.ConnectorName::before{margin-top:-40px;position:absolute;top:-2px;left:0}body:has(.homepage-container) #assistant-entry,body:has(.homepage-container) #search-bar-entry,div:has(>#chat-assistant-sheet) .cursor-col-resize{display:none!important}.search-container{position:relative;margin-top:64px;display:flex;align-items:center;justify-content:center;width:100%;max-width:800px;margin-left:auto;margin-right:auto;padding:0 6px}.homepage-search-input{width:100%;padding:18px 58px 18px 28px;border:2px solid #eaecf5;border-radius:100px;font-size:16px;color:#3c4257;cursor:pointer;transition:all .2s ease;box-sizing:border-box}.homepage-search-input::placeholder{color:#cecfd2;font-size:18px}.homepage-search-input:hover{background-color:#fff}.homepage-search-input:focus{outline:0;background-color:#fff;box-shadow:0 0 0 3px rgba(84,105,212,.1)}.search-shortcut{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:#9ca3af;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;pointer-events:none;white-space:nowrap}.navbar-link:last-of-type a{background-color:#6938ef;color:#fff;border-radius:100px;display:flex;justify-content:center}.navbar-link:last-of-type a:hover{background-color:#5f27f8}body:has(.connector-page) #sidebar-content,body:has(.deployment-page-container) #sidebar-content,body:has(.getting-started-container) #sidebar-content,body:has(.how-to-guides-container) #sidebar-content,body:has(.sdk-container) #sidebar-content{display:none}body:has(.connector-page) #content-container,body:has(.deployment-page-container) #content-container,body:has(.getting-started-container) #content-container,body:has(.how-to-guides-container) #content-container,body:has(.sdk-container) #content-container{max-width:1300px!important}.collate-ai-container{margin-top:10px}.prose iframe,article iframe{max-width:600px!important;width:100%!important;margin:0 auto!important;display:block!important;height:auto!important;aspect-ratio:16/9!important;border:0!important}@media (max-width:1024px){.navbar-link:first-of-type{margin-top:20px}.prose iframe,article iframe{max-width:100%!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important}}@media (max-width:768px){.prose iframe,article iframe{max-width:100%!important;width:100%!important;margin:0!important;height:auto!important;aspect-ratio:16/9!important}}.card:not(:has([data-component-part=card-icon])){border:1px solid #eaecf5!important;background-color:#f8f9fc!important;box-shadow:none!important}.card.card:not(:has([data-component-part=card-icon])) h2{color:#6938ef;font-weight:500;font-size:20px;margin-bottom:12px;line-height:30px}.card.card:not(:has([data-component-part=card-icon])):hover h2{text-decoration:underline}.how-to-guides-container ul{list-style:none;padding-left:0}.how-to-guides-container ul li{padding-left:28px;position:relative;margin-bottom:8px}.how-to-guides-container ul li::before,.python-container ul li::before,.sdk-container ul li::before{content:'';position:absolute;left:0;top:6px;width:16px;height:16px;background-color:transparent;background-image:url(/public/images/icons/check-circle.svg);background-size:contain;background-repeat:no-repeat}.sdk-container .card img{min-width:40px!important;width:40px!important;height:40px!important}.code-block,.code-block [data-component-part=code-block-root]{border:0!important;background-color:#3e444f!important;border-radius:16px!important;backdrop-filter:blur(40px)}.code-block code,.code-block pre,.code-block span{color:#e5e7eb!important;background-color:transparent!important}.python-container{background-color:#fafafa;border-radius:12px;padding:6px 20px}.callout [data-component-part=callout-content]{color:#414651!important}@layer utilities{.callout [data-component-part=callout-content] a{color:var(--primary-color)!important}}div:has(>#chat-assistant-sheet){border:0}#chat-assistant-sheet{margin-top:.4rem!important;min-height:90%!important;border:1px solid #eaecf5;border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0 2px 2px -1px #0a0d120a,0 4px 6px -2px #0a0d1208,0 12px 16px -4px #0a0d1214;background:#0a0d12;color:rgba(255,255,255,.9)}.chat-assistant-sheet-header span{color:rgba(255,255,255,.9)!important}.chat-assistant-sheet-header span.font-medium{font-size:0}.chat-assistant-sheet-header span.font-medium::before{content:\"Ask AI\";font-size:.875rem;font-weight:600}.chat-assistant-sheet-header svg{width:16px;height:16px;color:rgba(255,255,255,.8)}#chat-assistant-textarea{background-color:#373a41;border-radius:100px;color:rgba(255,255,255,.9);padding:12px}#chat-assistant-textarea::placeholder{color:rgba(255,255,255,.6)}.chat-assistant-send-button{width:32px!important;height:32px!important;bottom:6px;background-color:#2970ff}.chat-assistant-send-button:hover{background-color:#004eeb}.chat-assistant-send-button svg{width:16px;height:16px}div:has(>div>#chat-assistant-textarea){border:0!important;background-color:#373a41}#chat-content{margin-top:12px}#chat-content .rounded-2xl.bg-gray-100{background:#22262f!important}#chat-content button{color:rgba(255,255,255,.6)}#chat-content button[aria-label*=Vote]:hover,#chat-content button[aria-label=\"Copy chat response\"]:hover{color:#22262f}#chat-content .whitespace-pre-line,#chat-content li{color:rgba(255,255,255,.7)}#chat-content .rounded-2xl.bg-gray-100 .text-gray-800,#chat-content .rounded-2xl.bg-gray-100 div{color:#ffffffe5!important}#assistant-entry{margin-left:auto;border:2px solid #1570ef;background-color:transparent}#assistant-entry span,#assistant-entry svg{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;color:#1570ef}#assistant-entry span,#assistant-entry svg,#assistant-entry:hover{background:linear-gradient(45deg,#175cd3 0,#1570ef 100%)}#assistant-entry:hover span,#assistant-entry:hover svg{background:0 0;-webkit-background-clip:unset;-webkit-text-fill-color:#fff;background-clip:unset;color:#fff}div:has(>#search-bar-entry):has(>#assistant-entry){flex-direction:row-reverse!important}.deployment-page-container ul[data-component-part=tabs-list]{width:100%;display:flex;justify-content:space-between;border:0}.deployment-page-container div[data-active=true],.deployment-page-container div[data-component-part=tab-button]{border:0}.card-layout{display:flex;gap:24px;padding:20px;box-shadow:0 2px 7px 0 rgba(169,169,169,.3);border-radius:12px;margin:6px;overflow:hidden}.card-layout>div:last-child{flex-shrink:0;align-self:start}.card-layout .icon{width:64px;height:64px;margin:0}.card-layout .header{font-size:20px;font-weight:600;color:#224}.card-layout .header-container{display:flex;align-items:center;gap:10px}.card-layout .header-chip{font-size:12px;background-color:#ebe9fe;color:#6938ef;font-weight:500;border-radius:36px;padding:2px 8px}.card-layout p{font-size:15px;color:#414651;font-weight:500;margin:8px 0 0}.card-layout .button-card{white-space:nowrap;background-color:#5925dc;color:#fff;text-decoration:none;padding:6px 8px;border-radius:6px;font-size:14px;font-weight:500}.card-layout .button-card:hover{text-decoration:none;background-color:#4d20be;border-bottom:none}.card-layout .button-link{white-space:nowrap;color:#5925dc;font-size:16px;font-weight:600;text-decoration:none;border-bottom:none;display:flex;gap:8px;align-items:center}.card-layout .button-link img{width:10px;height:10px;margin:0}.deployment-page-container div[data-component-part=card-cta] button{color:#6938ef}.deployment-page-container div[data-component-part=card-content-container]{height:100%}.card-layout.upgrade{background:linear-gradient(90deg,#f7f9ff 0,#fcfaff 100%)}.deployment-page-container .card-group{margin:6px}@media (max-width:768px){.card-layout{flex-direction:column}}@media (max-width:580px){.card-layout .header-container{flex-direction:column;align-items:start;margin-bottom:16px}}.deployment-tabs[role=tablist]{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:32px auto;padding:12px;border:0!important;background:0 0!important}[role=tabpanel][data-component-part=tab-content]{margin-top:32px}.deployment-tabs [role=tablist]::before{content:none!important}.deployment-tabs [role=tab]{all:unset;cursor:pointer;display:flex!important;flex-direction:column;align-items:flex-start!important;padding:4px 14px!important;background-color:#fff!important;position:relative;box-shadow:0 4px 12px -1px #0a0d1214;border-radius:12px;margin-top:28px;transition:box-shadow .2s ease,transform .2s ease;text-align:left;box-sizing:border-box}.deployment-tabs [role=tab]:hover{outline:2px solid #ccbafe}.deployment-tabs [role=tab][aria-selected=true]{outline:2px solid #6938ef!important}.deployment-tabs [role=tab]::before{background-color:#ebe9fe;color:#6938ef;max-width:max-content;border-top-left-radius:12px;padding:6px 60px 32px 16px;position:absolute;top:-34px;left:0;-webkit-mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M0,12 Q0,0 12,0 L165,0 Q177,0 182,10 L200,70 L0,70 Z'/%3E%3C/svg%3E\") no-repeat;-webkit-mask-size:100% 100%;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M0,12 Q0,0 12,0 L165,0 Q177,0 182,10 L200,70 L0,70 Z'/%3E%3C/svg%3E\") no-repeat;mask-size:100% 100%;font-size:14px;font-weight:500;z-index:-1}.deployment-tabs [data-component-part=tab-button]{font-size:18px;font-weight:600;color:#224;display:flex;gap:10px;padding:10px 0!important}.deployment-tabs [role=tab]:nth-child(1)::before{content:\"Best for: PoC, exploration\"}.deployment-tabs [role=tab]:nth-child(2)::before{content:\"Best for: Teams, orgs\"}.deployment-tabs [role=tab]:nth-child(3)::before{content:\"Best for: Existing users\"}.deployment-tabs [role=tab] img{width:50px!important;height:50px!important;order:-1}.deployment-tabs [role=tab] [data-slot=title],.deployment-tabs [role=tab]>span:first-of-type{color:#181d27!important;font-size:20px!important;font-weight:600!important;margin-top:16px;display:block}.deployment-tabs [role=tabpanel]{max-width:1200px;margin:0 auto;padding:20px}@media (max-width:768px){.deployment-tabs [role=tablist]{grid-template-columns:1fr;gap:64px}.deployment-tabs [role=tab]{min-height:auto}}.space-x-2>:not([hidden])~:not([hidden]){margin:0}.update-container{display:flex;flex-direction:column!important;padding-top:0}.update-container>div:first-of-type{width:100%!important;max-width:100%!important;flex-direction:column!important;align-items:flex-start!important;position:sticky!important;top:128px!important;z-index:11;background-color:#fff;padding:36px 0 8px}"},{"filePath":"style.css","content":".homepage-container{max-width:1440px;margin:0 auto;padding:0 10px 40px}.collate-ai-iframe{margin:32px 0 40px}.banner-content{padding:96px 0;background:radial-gradient(46.63% 44.4% at 50% 50%,rgba(201,207,255,.2) 0,rgba(255,255,255,.2) 100%)}.page-header{color:#181d27!important;font-weight:600;font-size:56px;text-align:center;margin-top:24px}#header-highlight{background:linear-gradient(to top,#b224ef 0,#7579ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-description{text-align:center;color:#717680;font-size:20px;margin-top:20px}.header-description{font-size:18px;margin-top:16px}.chips{display:flex;justify-content:center;gap:24px;margin-top:24px}.chip{padding:8px 12px;border-radius:100px;box-shadow:0 4px 12px -1px rgba(10,13,18,.08);display:flex;gap:12px;align-items:center;font-weight:500;width:max-content}.chip.purple{background:#ebe9fe;color:#6938ef}.chip.purple:hover{background:#e5e2fd}.chip.header{background-color:#f5f3ff;color:#875bf7;margin:0 auto;padding:8px 20px;box-shadow:none;font-size:14px}.deployment-cards{max-width:1200px;margin:16px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;padding:20px}.deployment-top{background-color:#fafafa;color:#181d27;max-width:max-content;border-top-left-radius:12px;padding:10px 60px 32px 24px;position:relative;top:28px;-webkit-mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M0,12 Q0,0 12,0 L165,0 Q177,0 182,10 L200,70 L0,70 Z'/%3E%3C/svg%3E\") no-repeat;-webkit-mask-size:100% 100%;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M0,12 Q0,0 12,0 L165,0 Q177,0 182,10 L200,70 L0,70 Z'/%3E%3C/svg%3E\") no-repeat;mask-size:100% 100%}.best-enterprise{max-width:max-content;border-radius:32px 80px 0 0;background:#224;padding:9px 44px 10px 45px;display:flex;gap:20px;align-items:center}.best-enterprise .collate-logo{width:84px;height:14px}.best-enterprise .x-icon{width:18px;height:18px}.best-enterprise .om-logo{width:64px;height:25px}.deployment-card{box-shadow:0 4px 12px -1px #0a0d1214;background-color:#fff;border-radius:12px;padding:20px;box-sizing:border-box;position:relative;z-index:24;display:flex;flex-direction:column;height:100%}.deployment-card img{align-self:flex-start;width:60px;height:60px}.deployment-card h3{color:#181d27;margin-top:16px;font-size:20px}.deployment-card p{color:#717680;font-size:18px}.deployment-card .read-more img,.highlight-card .read-more img{width:12px;height:12px}.collate-om{margin:72px auto 24px;max-width:1200px;padding:20px}.collate-content{background-image:url(/public/images/banner-bg.png);background-size:100% 100%;background-position:center;background-repeat:no-repeat;border-radius:0 20px 20px 20px;padding:28px 44px;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:24}.collate-content .summit-header{font-size:48px;font-weight:400;color:#224;line-height:52px}.collate-content p{color:#5816dc;margin-top:0;margin-left:4px;font-size:28px;font-weight:600}.collate-content .explore-collate{background-color:#fbe200;color:#000;font-size:18px;white-space:nowrap;padding:11px 20px;border-radius:6px;font-weight:600}.collate-content .explore-collate:hover{background-color:#dec908}.collate-content .explore-collate a{color:#000;font-weight:600}.deployment,.guides,.highlights,.quick-links{padding:48px 48px 96px}.connectors{padding:48px 48px 24px}.guide-header{font-weight:500;font-size:40px;color:#181d27;text-align:center;margin-top:24px}.guide-list{display:grid;grid-template-columns:repeat(7,1fr);gap:24px;margin:52px auto 0;max-width:100%}.guide-card,.see-all{text-align:center;font-size:18px;font-weight:500}.guide-card{box-shadow:0 4px 12px -1px rgba(10,13,18,.08);padding:20px;border-radius:20px;display:flex;flex-direction:column;align-items:center;color:#252b37;gap:16px;width:100%;transition:all .3s ease}.guide-card:hover{box-shadow:0 20px 24px -4px #0a0d1214;transform:translateY(-4px);padding:24px;margin:-4px}a.guide-card img{width:80px!important;height:80px!important}.see-all{margin:64px auto 0;box-shadow:0 2px 2px -1px rgba(10,13,18,.04),0 4px 6px -2px rgba(10,13,18,.03),0 12px 16px -4px rgba(10,13,18,.08);width:max-content;padding:12px 24px;background-color:#f4f3ff;border-radius:100px}.see-all a{color:#6938ef!important}.see-all:hover{background-color:#e3e0fc}.highlight-cards{max-width:850px;display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin:60px auto 0}.highlight-card{box-shadow:0 4px 12px -1px rgba(10,13,18,.08);padding:20px;border-radius:12px;transition:all .3s ease}.highlight-card p{font-size:18px;color:#717680}.highlight-card:hover{box-shadow:0 3px 3px -1.5px rgba(10,13,18,.04),0 8px 8px -4px rgba(10,13,18,.03),0 20px 24px -4px rgba(10,13,18,.08);padding:24px;margin:-4px;transform:translateY(-2px)}.highlight-card .icon{width:48px!important;height:48px!important}.highlight-header{font-size:20px;font-weight:500;color:#181d27;margin-top:12px}.deployment-card .read-more,.read-more{margin-top:20px;display:flex;gap:10px;align-items:center;color:#6938ef;font-weight:600}.deployment-card .read-more{margin-top:auto}.deployment-card:hover .read-more,.highlight-card:hover .read-more{color:#581ef7}.read-more img{margin-top:2px}.deployment-card img{margin-top:6px}.links{margin:40px auto 0;max-width:80%;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center}.link-header{color:#181d27;display:flex;gap:10px;align-items:center;margin-bottom:16px}.link-header h3{font-size:20px;font-weight:500}.link-list{color:#6938ef;font-weight:500;display:flex;flex-direction:column;gap:12px}.link-list a:hover{text-decoration:underline;color:#5730c1}.collate-video{background:linear-gradient(135deg,rgb(224 195 252/50%) 0,rgb(142 197 252/50%) 100%);border-radius:24px;max-width:90%;margin:32px auto 64px;padding:36px 80px}.video-content{display:grid;grid-template-columns:repeat(2,1fr);align-items:center;gap:16px}.video-container{width:100%;max-width:600px;margin:20px auto;padding:0 16px;box-sizing:border-box}.video,.video-container iframe{border-radius:20px;border:3px solid #bed2fb;height:auto}.video-container iframe{width:100%;aspect-ratio:16/9;display:block}.video{max-width:100%;box-shadow:0 2px 2px -1px rgba(10,13,18,.04),0 4px 6px -2px rgba(10,13,18,.03),0 12px 16px -4px rgba(10,13,18,.08)}.video-chip{background-color:rgba(255,255,255,.4);width:max-content;padding:12px 8px;border-radius:24px;color:#6938ef;font-size:12px}.video-description{color:#414651;font-size:18px;max-width:90%}.product-demo{background-color:#7a5af8;padding:8px 14px;color:#fff;border-radius:24px;margin-right:8px;font-size:12px}.video-header{text-align:left;margin-bottom:16px}.external-links{padding:36px 80px}.explore-container{display:grid;grid-template-columns:repeat(3,1fr)}.explore-items{display:flex;gap:20px;grid-column:span 2/span 2}.explore-header{color:#252b37;font-size:24px;font-weight:600;letter-spacing:-2%}.explore-desc{font-size:18px;color:#717680;margin-top:4px}.slack-icon{width:20px;height:27px}.explore-card{background-color:#f4f9ff;box-shadow:0 4px 12px -8px #0026543d;padding:12px 20px;border-radius:12px;color:#535862;font-size:14px;font-weight:400;transition:all .3s ease}.explore-card:hover{box-shadow:0 3px 3px -1.5px rgba(10,13,18,.04),0 8px 8px -4px rgba(10,13,18,.03),0 20px 24px -4px rgba(10,13,18,.08);padding:16px 24px;margin:-4px;transform:translateY(-2px)}.explore-card-header{display:flex;gap:10px}.explore-card-header div{color:#252b37;font-weight:500;font-size:18px}.home-footer{display:flex;justify-content:space-between;padding:36px 80px 0;color:#717680}.home-footer-links{display:flex;gap:20px}.footer-link-name{color:#252b37;font-weight:400}.footer-link-name:hover{color:#181d27;text-decoration:underline}.home-footer-social{display:flex;gap:8px}.social-link{padding:4px 8px;border-radius:4px}.social-link:hover{background-color:#f8f9fc}.connector-page div[data-component-part=card-icon]{background-color:#f8f9fc;padding:21px 20px;border-radius:100%;display:inline-flex;align-items:center;justify-content:center}.connector-page div[data-component-part=card-icon]>*{position:relative;z-index:1}.connector-page .card [data-component-part=card-content-container]{padding:16px}.card-details{display:flex;gap:6px;align-items:center}.card-logo{width:20px;height:20px;margin:0}.products-container{max-width:1150px;margin:0 auto;padding:60px 14px 40px}.products-container h1{font-size:30px!important}.products-container [data-as=p]:first-of-type{display:block;margin-bottom:40px}.product-cards{margin-top:16px;padding-bottom:48px}.product-cards .card [data-component-part=card-content]{margin-top:4px}.products-container .external-links{padding:64px 0 36px}.products-container .home-footer{padding:36px 0 0}@media (max-width:1280px){.guide-list{grid-template-columns:repeat(3,1fr)}.links{max-width:100%}.collate-video,.external-links,.home-footer{padding:32px 56px}}@media (max-width:1024px){.explore-container,.video-content{grid-template-columns:repeat(1,1fr);gap:28px}.explore-container{gap:32px}.home-footer{display:grid;grid-template-columns:repeat(3,1fr);row-gap:20px}.collate-tm{grid-column:span 3/span 3}.home-footer-links{grid-column:span 2/span 2}.home-footer-social{justify-self:flex-end}}@media (max-width:768px){.page-header{font-size:48px}.chips{display:grid;grid-template-columns:repeat(2,1fr);max-width:400px;margin:40px auto 0}.deployment-cards{grid-template-columns:repeat(1,1fr);gap:64px}.collate-content{flex-direction:column;align-items:center;text-align:center;padding:48px 24px}.guide-list,.links{grid-template-columns:repeat(2,1fr)}.links{justify-items:start;row-gap:40px}.video-container{padding:0 12px;margin:16px auto}.external-links,.home-footer{padding:24px}.home-footer-links{flex-direction:column}}@media (max-width:640px){.chips{max-width:auto;justify-items:center}.chips,.guide-list,.highlight-cards,.links{grid-template-columns:repeat(1,1fr)}.collate-video{padding:24px}.explore-items{flex-direction:column}.best-enterprise{padding:9px 36px 10px 24px}}"},{"filePath":"snippets/components/CodePreview.css","content":".split-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;align-items:start}@media (max-width:768px){.split-layout{grid-template-columns:1fr;gap:1rem}}.code-content .code-block [data-component-part=code-block-root]{background-color:#0b1e3d!important}.content-panel{display:flex;flex-direction:column;gap:1.5rem;padding-right:1rem}.content-section{padding:.5rem 1rem;border-left:2px solid transparent;border-radius:6px;cursor:pointer;position:relative;box-sizing:border-box;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.content-section:hover{background:linear-gradient(90deg,rgba(176,176,176,.08) 0,rgba(176,176,176,.03) 100%);border-left-color:rgba(176,176,176,.5)}.content-section.active{background:linear-gradient(90deg,rgba(176,176,176,.15) 0,rgba(176,176,176,.05) 100%);border-left-color:#b0b0b0;box-shadow:0 2px 8px rgba(176,176,176,.1),inset 0 0 20px rgba(176,176,176,.05);color:#3f4145}.content-section.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,silver 0,#b0b0b0 50%,#a0a0a0 100%)}.content-section h4{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#1a1a1a}.content-section p{margin:.5rem 0;line-height:1.6;color:#4a4a4a}.content-section code{background:rgba(0,0,0,.05);padding:.2em .4em;border-radius:3px;font-size:.9em}.code-panel{position:sticky;top:calc(var(--navbar-height, 64px) + 6rem);height:calc(100vh - var(--navbar-height, 64px) - 6rem);display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#1e1e1e;box-shadow:0 4px 6px rgba(0,0,0,.1)}.code-panel [data-component-part=code-block-root]{padding:0 1rem}.code-panel .code-block{margin:0}.code-header,.copy-btn{display:flex;align-items:center;font-size:.875rem}.code-header{justify-content:space-between;padding:.4rem 1rem;background:#0b1e3d;border-bottom:1px solid #404040;color:#fff;font-family:'Monaco','Menlo','Ubuntu Mono',monospace}.copy-btn{gap:.5rem;padding:.375rem .75rem;background:0 0;border:1px solid #404040;border-radius:4px;color:#a0a0a0;cursor:pointer;transition:all .2s ease}.copy-btn:hover{background:#404040;border-color:#606060;color:#fff}.copy-btn svg{width:16px;height:16px}.copy-btn .icon-check,.copy-btn[data-copied=true] .icon-copy{display:none}.copy-btn[data-copied=true] .icon-check{display:block;color:#10b981}.code-content{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:auto;background:#0b1e3d;scroll-behavior:smooth;padding:14px 0}.code-content::-webkit-scrollbar{width:8px;height:8px}.code-content::-webkit-scrollbar-track{background:#2d2d2d}.code-content::-webkit-scrollbar-thumb{background:#404040;border-radius:4px}.code-content::-webkit-scrollbar-thumb:hover{background:#606060}.code-content pre,.code-line{position:relative;white-space:pre}.code-content pre{margin:0;padding:0 1rem;background:0 0;color:#d4d4d4;font-family:'Monaco','Menlo','Ubuntu Mono',monospace;font-size:.875rem;line-height:1.6;word-wrap:normal;overflow-wrap:normal}.code-content pre code{background:0 0;padding:0;color:inherit;font-size:inherit;border-radius:0;display:block;white-space:pre}.code-line{display:block;padding-left:1rem;padding-right:1rem;margin-left:-1rem;margin-right:-1rem;transition:all .2s ease;line-height:inherit;border-left:2px solid transparent}.code-line::after{content:'\\a';white-space:pre}.code-line.highlighted{background:rgba(200,200,200,.15)!important;border-left:2px solid #d0d0d0;padding-left:calc(1rem - 2px);min-height:1.5em}.code-line.highlighted::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:#d0d0d0;z-index:1}.code-line.highlighted+.code-line.highlighted{border-top:none}.code-line.highlighted:not(.code-line.highlighted+.code-line.highlighted){border-top-left-radius:4px}.code-line.highlighted:not(:has(+.code-line.highlighted)){border-bottom-left-radius:4px}.line-number{display:inline-block;min-width:2.5em;padding-right:1em;margin-right:.5em;text-align:right;color:#858585;user-select:none;border-right:1px solid #404040}@media (prefers-color-scheme:dark){.content-section p{color:silver}.content-section code{background:rgba(255,255,255,.1)}.code-panel{border-color:#404040}}@media (max-width:768px){.code-panel{position:relative;top:0;max-height:400px}.split-layout{grid-template-columns:1fr}}.code-content #ask-ai-code-block-button,.code-content [data-testid=copy-code-button]{display:none!important}div[data-fade-overlay=true]{--fade-color-light:transparent!important;--fade-color-dark:transparent!important;display:none!important}:has([data-floating-buttons])>[data-component-part=code-block-root] pre>code{padding-right:0!important}@media (max-width:768px){.code-panel{position:relative;top:0;height:400px}}"},{"filePath":"snippets/components/ConnectorDetailsHeader/ConnectorDetailsHeader.css","content":".container{margin:48px 0!important;display:flex;flex-direction:column;gap:6px}.Heading{display:flex;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--default-border-color)}.ConnectorName{font-size:32px;font-weight:700;margin-bottom:0}.PlatformDetails{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--gray-text-color)}.ImageContainer,.PlatformIcon{padding:4px;background-color:var(--connector-icon-bg-color);border:1px solid var(--default-border-color);border-radius:12px}.ImageContainer{padding:12px;border-radius:28px}.IconContainer{background-color:#f8f9fc;padding:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;flex-shrink:0}.ConnectorIcon{width:32px!important;height:32px!important;object-fit:contain;display:block;margin:0}.FeaturesHeading{font-size:14px;color:var(--gray-text-color)}.SubHeading{display:flex;flex-direction:column;gap:8px}.FeaturesList{display:flex;flex-wrap:wrap;gap:12px}.FeatureTag{padding:4px 10px;font-size:12px;border-radius:14px;width:fit-content;display:flex;align-items:center;gap:4px}.AvailableFeature{color:var(--green-tag-color);border:1px solid var(--green-tag-color);background-color:var(--green-tag-bg-color)}.UnavailableFeature{color:var(--orange-tag-color);border:1px solid var(--orange-tag-color);background-color:var(--orange-tag-bg-color)}.StageBadge{font-size:10px;height:auto;color:var(--green-tag-color)}"},{"filePath":"snippets/v1.13.x/components/ConnectorGrid/Integrations.css","content":".no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.integrations-section{padding:3rem 1rem 9rem;max-width:1300px;margin:0 auto}.integrations-card{background:#fafafa;border-radius:12px;border:1px solid #eaecf5;display:flex;height:610px;overflow:hidden;position:relative;padding:40px 40px 40px 0}.integrations-mobile-header{display:none;width:100%;background:#fff;border-bottom:1px solid #d9daee;padding:32px;font-size:20px;justify-content:center;align-items:center;gap:12px;position:sticky;top:0;z-index:15;cursor:pointer}.arrow{transition:transform .3s ease}.arrow.open{transform:rotate(180deg)}.arrow-down{width:10px;height:10px}.integrations-sidebar{width:220px;border-right:1px solid #eaecf5;display:flex;flex-direction:column;position:sticky;top:0;z-index:5}.sidebar-item{display:block;width:100%;padding:12px 22px;font-size:16px;color:#535862;cursor:pointer;white-space:nowrap;flex-shrink:0;text-align:right;font-weight:500;border-right:2px solid transparent}.sidebar-item:hover{color:#414651;border-right:2px solid #d5d9eb}.sidebar-item.active{border-right:2px solid #6938ef;font-weight:600;color:#6938ef}.integrations-grid{flex:1;padding:20px 32px;overflow-y:auto;display:grid;gap:20px;align-content:flex-start}.integrations-grid.desktop{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.integrations-grid.mobile{display:none}.integration-card{max-height:110px;display:flex;align-items:center;gap:12px;background-color:#fff;box-shadow:0 4px 12px -1px #0a0d1214;border-radius:12px;padding:12px 20px;box-sizing:border-box;transition:all .3s ease}.integration-card span{color:#181d27;font-weight:500;font-size:16px;line-height:120%}.integration-card,a.integration-card span:hover{text-decoration:none}a.integration-card:hover{box-shadow:0 3px 3px -1.5px #0a0d120a,0 8px 8px -4px #0a0d1208,0 20px 24px -4px #0a0d1214;padding:16px 24px;margin:-4px;text-decoration:none;transform:translateY(-2px)}.integration-card img{width:32px;height:32px;object-fit:contain;flex-shrink:0}.load-more{grid-column:span 2;padding:24px;font-size:20px;background:#fff;border:0;cursor:pointer}@media (max-width:1024px){.integrations-card{flex-direction:column;height:auto;padding:0;overflow:auto}.integrations-mobile-header{display:flex}.integrations-sidebar{display:none;width:100%;position:absolute;top:68px;left:0;right:0;border-right:none;border-bottom:1px solid #d9daee;background:#fff;overflow-y:scroll;z-index:20}.integrations-sidebar.open{display:block}.sidebar-item{text-align:center}.sidebar-item.active{border-right:none}.integrations-grid.desktop{display:none}.integrations-grid.mobile{display:grid;grid-template-columns:repeat(2,1fr);padding:24px}}"},{"filePath":"snippets/components/BreakingChanges/BreakingChanges.css","content":".breaking-changes-container{border-bottom:5px solid #b42318;border-radius:20px;background-color:#ef4444;padding:12px 18px 18px;margin:24px 0}.breaking-changes-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;margin-top:4px!important}.breaking-changes-icon{width:24px;height:24px;flex-shrink:0}.breaking-changes-title{font-size:22px;font-weight:700;color:#fff}.breaking-changes-content{background-color:#fef3f2;border-radius:20px;padding:20px 24px;color:#414045}.breaking-changes-content ul{margin:0}.breaking-changes-content li{margin-bottom:12px;line-height:1.6}.breaking-changes-content li:last-child{margin-bottom:0}.breaking-changes-content pre{border-radius:8px;padding:16px 20px;margin:12px 0;overflow-x:auto}.breaking-changes-content code{font-size:14px;line-height:1.7}"},{"filePath":"snippets/components/VersionMatrix/VersionMatrix.css","content":".vm-wrapper{border-radius:16px;overflow-x:auto;border:1px solid #7237f8;max-width:700px;font-family:inherit;display:inline-block;width:100%}.vm-wrapper .vm-table,.vm-wrapper .vm-table>div{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important}.vm-wrapper table{margin:0!important;width:100%!important;min-width:0!important;display:table!important;table-layout:fixed;border-collapse:collapse}.vm-header-row{background:#6938ef}.vm-wrapper .vm-th{padding:14px 20px;text-align:left;color:#fff;font-weight:500;font-size:18px;width:50%}.vm-th:not(:last-child){border-right:1px solid rgba(255,255,255,.4)}.vm-row-even{background:#fff}.vm-row-odd{background:#f5f3ff}.vm-wrapper .vm-td{padding:14px 20px;font-size:16px;border-top:1px solid #e5e7eb;color:#111827;text-align:left}.vm-td:not(:last-child){border-right:1px solid #e5e7eb}.vm-td-updated{font-weight:400}.vm-updated-badge{color:#000;font-weight:400;font-size:14px;display:inline-flex;align-items:center;margin-left:12px;vertical-align:top}.vm-badge-icon{fill:red;vertical-align:middle;margin-right:4px;flex-shrink:0}@media (max-width:480px){.vm-td,.vm-th{padding:10px 12px;font-size:14px}.vm-td{font-size:13px}.vm-updated-badge{font-size:11px;display:flex;margin-left:0;margin-top:4px}.vm-badge-icon{width:12px;height:12px}}"},{"filePath":"snippets/components/CodeLayout/CodeLayout.css","content":".code-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;align-items:start;width:100%}.code-layout h4{margin-top:0}.code-layout-code{position:-webkit-sticky;position:sticky;top:132px;align-self:flex-start;max-height:calc(100vh - 132px);overflow-y:auto;z-index:10}@media (max-width:768px){.code-layout{grid-template-columns:1fr;gap:1rem}.code-layout-code{position:static;max-height:none;overflow-y:visible}}"},{"filePath":"snippets/components/ConnectorFilter/ConnectorFilter.css","content":".connector-filter{--connector-filter-accent:#1570ef;position:sticky;top:0;z-index:20;margin:20px 0 28px;padding:16px;border:1px solid var(--default-border-color, #e5e7eb);border-radius:8px;background-color:var(--background-color, #fff);box-shadow:0 2px 8px rgba(15,23,42,.06)}.connector-filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.connector-filter-field{display:flex;flex-direction:column;gap:6px;flex:1 1 160px;min-width:140px}.connector-filter-search-field{flex:1 1 170px;min-width:140px}.connector-filter-field label{font-size:14px;font-weight:600;color:var(--default-text-color, #374151)}.connector-filter-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--select-border-color, #d1d5db);border-radius:6px;background-color:var(--background-color, #fff);color:var(--gray-text-color, #6b7280)}.connector-filter-search:focus-within{border-color:var(--connector-filter-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--connector-filter-accent) 20%,transparent)}.connector-filter-search svg{flex-shrink:0}.connector-filter-search input{flex:1;min-width:0;border:0;outline:0;background:0 0;font-size:13px;color:var(--default-text-color, #111827)}.connector-filter-dropdown{position:relative}.connector-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px;border:1px solid var(--select-border-color, #d1d5db);border-radius:6px;background-color:var(--background-color, #fff);color:var(--default-text-color, #111827);font-size:13px;cursor:pointer;text-align:left}.connector-filter-trigger:hover{border-color:var(--connector-filter-accent)}.connector-filter-trigger[aria-expanded=true]{border-color:var(--connector-filter-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--connector-filter-accent) 20%,transparent)}.connector-filter-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connector-filter-chevron{flex-shrink:0;color:var(--gray-text-color, #6b7280);transition:transform .15s ease}.connector-filter-chevron-open{transform:rotate(180deg);color:var(--connector-filter-accent)}.connector-filter-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;max-height:320px;overflow-y:auto;margin:0;padding:6px;list-style:none;border:1px solid var(--default-border-color, #e5e7eb);border-radius:8px;background-color:var(--background-color, #fff);box-shadow:0 8px 24px rgba(15,23,42,.12)}.connector-filter-menu li{list-style:none}.connector-filter-menu li::before,.connector-filter-menu li::marker{content:none}.connector-filter-menu li[role=option]{padding:7px 10px;border-radius:5px;font-size:13px;color:var(--default-text-color, #111827);cursor:pointer}.connector-filter-menu li[role=option]:hover{background-color:var(--primary-background-color, rgba(21, 112, 239, 0.08))}.connector-filter-menu li[role=option].active{background-color:var(--primary-background-color, rgba(21, 112, 239, 0.1));color:var(--connector-filter-accent);font-weight:600}.connector-filter-group-label{padding:6px 10px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-text-color, #9ca3af)}.connector-filter-reset{flex-shrink:0;margin-left:auto;height:36px;padding:0 14px;border:1px solid var(--connector-filter-accent);border-radius:6px;background-color:transparent;color:var(--connector-filter-accent);font-size:13px;font-weight:600;cursor:pointer}.connector-filter-reset:hover{background-color:color-mix(in srgb,var(--connector-filter-accent) 10%,transparent)}"},{"filePath":"snippets/v2.0.x/components/ConnectorGrid/Integrations.css","content":".no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.integrations-section{padding:1.5rem .5rem 4.5rem;max-width:1300px;margin:0 auto}.integrations-card{background:#fafafa;border-radius:12px;border:1px solid #eaecf5;display:flex;height:610px;overflow:hidden;position:relative;padding:40px 40px 40px 0}.integrations-mobile-header{display:none;width:100%;background:#fff;border-bottom:1px solid #d9daee;padding:32px;font-size:20px;justify-content:center;align-items:center;gap:12px;position:sticky;top:0;z-index:15;cursor:pointer}.arrow{transition:transform .3s ease}.arrow.open{transform:rotate(180deg)}.arrow-down{width:10px;height:10px}.integrations-sidebar{width:220px;border-right:1px solid #eaecf5;display:flex;flex-direction:column;position:sticky;top:0;z-index:5}.sidebar-item{display:block;width:100%;padding:12px 22px;font-size:16px;color:#535862;cursor:pointer;white-space:nowrap;flex-shrink:0;text-align:right;font-weight:500;border-right:2px solid transparent}.sidebar-item:hover{color:#414651;border-right:2px solid #d5d9eb}.sidebar-item.active{border-right:2px solid #6938ef;font-weight:600;color:#6938ef}.integrations-grid{flex:1;padding:20px 32px;overflow-y:auto;display:grid;gap:20px;align-content:flex-start}.integrations-grid.desktop{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.integrations-grid.mobile{display:none}.integration-card{max-height:110px;display:flex;align-items:center;gap:12px;background-color:#fff;box-shadow:0 4px 12px -1px #0a0d1214;border-radius:12px;padding:12px 20px;box-sizing:border-box;transition:all .3s ease}.integration-card span{color:#181d27;font-weight:500;font-size:16px;line-height:120%}.integration-card,a.integration-card span:hover{text-decoration:none}a.integration-card:hover{box-shadow:0 3px 3px -1.5px #0a0d120a,0 8px 8px -4px #0a0d1208,0 20px 24px -4px #0a0d1214;padding:16px 24px;margin:-4px;text-decoration:none;transform:translateY(-2px)}.integration-card img{width:32px;height:32px;object-fit:contain;flex-shrink:0}.load-more{grid-column:span 2;padding:24px;font-size:20px;background:#fff;border:0;cursor:pointer}@media (max-width:1024px){.integrations-card{flex-direction:column;height:auto;padding:0;overflow:auto}.integrations-mobile-header{display:flex}.integrations-sidebar{display:none;width:100%;position:absolute;top:68px;left:0;right:0;border-right:none;border-bottom:1px solid #d9daee;background:#fff;overflow-y:scroll;z-index:20}.integrations-sidebar.open{display:block}.sidebar-item{text-align:center}.sidebar-item.active{border-right:none}.integrations-grid.desktop{display:none}.integrations-grid.mobile{display:grid;grid-template-columns:repeat(2,1fr);padding:24px}}"},{"filePath":"snippets/v2.1.x-SNAPSHOT/components/ConnectorGrid/Integrations.css","content":".no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.integrations-section{padding:1.5rem .5rem 4.5rem;max-width:1300px;margin:0 auto}.integrations-card{background:#fafafa;border-radius:12px;border:1px solid #eaecf5;display:flex;height:610px;overflow:hidden;position:relative;padding:40px 40px 40px 0}.integrations-mobile-header{display:none;width:100%;background:#fff;border-bottom:1px solid #d9daee;padding:32px;font-size:20px;justify-content:center;align-items:center;gap:12px;position:sticky;top:0;z-index:15;cursor:pointer}.arrow{transition:transform .3s ease}.arrow.open{transform:rotate(180deg)}.arrow-down{width:10px;height:10px}.integrations-sidebar{width:220px;border-right:1px solid #eaecf5;display:flex;flex-direction:column;position:sticky;top:0;z-index:5}.sidebar-item{display:block;width:100%;padding:12px 22px;font-size:16px;color:#535862;cursor:pointer;white-space:nowrap;flex-shrink:0;text-align:right;font-weight:500;border-right:2px solid transparent}.sidebar-item:hover{color:#414651;border-right:2px solid #d5d9eb}.sidebar-item.active{border-right:2px solid #6938ef;font-weight:600;color:#6938ef}.integrations-grid{flex:1;padding:20px 32px;overflow-y:auto;display:grid;gap:20px;align-content:flex-start}.integrations-grid.desktop{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.integrations-grid.mobile{display:none}.integration-card{max-height:110px;display:flex;align-items:center;gap:12px;background-color:#fff;box-shadow:0 4px 12px -1px #0a0d1214;border-radius:12px;padding:12px 20px;box-sizing:border-box;transition:all .3s ease}.integration-card span{color:#181d27;font-weight:500;font-size:16px;line-height:120%}.integration-card,a.integration-card span:hover{text-decoration:none}a.integration-card:hover{box-shadow:0 3px 3px -1.5px #0a0d120a,0 8px 8px -4px #0a0d1208,0 20px 24px -4px #0a0d1214;padding:16px 24px;margin:-4px;text-decoration:none;transform:translateY(-2px)}.integration-card img{width:32px;height:32px;object-fit:contain;flex-shrink:0}.load-more{grid-column:span 2;padding:24px;font-size:20px;background:#fff;border:0;cursor:pointer}@media (max-width:1024px){.integrations-card{flex-direction:column;height:auto;padding:0;overflow:auto}.integrations-mobile-header{display:flex}.integrations-sidebar{display:none;width:100%;position:absolute;top:68px;left:0;right:0;border-right:none;border-bottom:1px solid #d9daee;background:#fff;overflow-y:scroll;z-index:20}.integrations-sidebar.open{display:block}.sidebar-item{text-align:center}.sidebar-item.active{border-right:none}.integrations-grid.desktop{display:none}.integrations-grid.mobile{display:grid;grid-template-columns:repeat(2,1fr);padding:24px}}"},{"filePath":"snippets/v2.0.x/components/ReleaseCarousel/ReleaseCarousel.css","content":"@keyframes release-carousel-slide-next{0%{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}@keyframes release-carousel-slide-prev{0%{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}.release-banner{max-width:1300px;margin:0 auto;background:linear-gradient(135deg,rgba(105,56,239,.12) 0,rgba(142,198,252,.35) 100%);padding:48px 100px;border-radius:24px}.release-banner-content{display:grid;grid-template-columns:repeat(2,1fr);gap:50px;align-items:center}.release-banner-content h2{color:#181d27;font-weight:500;font-size:32px;margin-bottom:16px}.release-banner-content p,.release-carousel-content [data-as=p]{color:#414651;font-size:18px;margin-bottom:24px}.release-banner-content a{background-color:#fff;box-shadow:0 1px 2px rgba(10,13,18,.06),0 2px 4px rgba(10,13,18,.05);padding:12px 24px;border-radius:99px;font-size:18px;font-weight:500;color:#131313}.release-banner-content a:hover{text-decoration:underline}.release-carousel{position:relative}.release-carousel-viewport{overflow:hidden}.release-carousel-content [data-as=p]{display:block}.release-carousel-content [data-as=p] strong{color:#181d27;font-weight:700}.release-carousel-content a{display:inline-block}.release-carousel-title-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.release-carousel-content .release-carousel-title-row h2{margin:0}.release-carousel-eyebrow{display:inline-block;flex-shrink:0;background-color:#f4f3ff;color:#6938ef;padding:4px 14px;border-radius:100px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.release-carousel-content.slide-next{animation:release-carousel-slide-next .45s ease}.release-carousel-content.slide-prev{animation:release-carousel-slide-prev .45s ease}.release-carousel-image{width:100%;max-width:1200px;display:block;border:3px solid #d9d2fa;border-radius:16px;box-shadow:0 2px 2px -1px #0a0d120a,0 4px 6px -2px #0a0d1208,0 12px 16px -4px #0a0d1214;cursor:zoom-in}.release-carousel-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;background-color:rgba(16,24,40,.85)}.release-carousel-lightbox-image{max-width:100%;max-height:100%;display:block;border-radius:12px;box-shadow:0 12px 16px -4px #0a0d1214;cursor:default}.release-carousel-lightbox-close{top:24px;right:24px;border:1px solid rgba(255,255,255,.3);background-color:rgba(255,255,255,.1);color:#fff}.release-carousel-lightbox-close:hover{background-color:rgba(255,255,255,.2)}.release-carousel .carousel-arrow,.release-carousel-lightbox-close{position:absolute;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:background-color .15s ease}.release-carousel .carousel-arrow{top:50%;transform:translateY(-50%);border:1px solid #d9d2fa;background-color:#fff;color:#181d27;box-shadow:0 2px 2px -1px #0a0d120a,0 4px 6px -2px #0a0d1208,0 12px 16px -4px #0a0d1214}.release-carousel .carousel-arrow:hover{background-color:#f4f3ff}.release-carousel .carousel-arrow-prev{left:16px}.release-carousel .carousel-arrow-next{right:16px}.release-carousel .carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}.release-carousel .carousel-dot{width:8px;height:8px;border-radius:50%;border:0;background-color:#d9d2fa;padding:0;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.release-carousel .carousel-dot.active{background-color:#6938ef;transform:scale(1.2)}@media (max-width:1024px){.release-banner-content{grid-template-columns:repeat(1,1fr)}.release-banner-content h2{font-size:28px}.release-carousel .carousel-arrow-prev{left:4px}.release-carousel .carousel-arrow-next{right:4px}}@media (max-width:768px){.release-banner{padding:40px 52px}.release-carousel .carousel-arrow{width:32px;height:32px}}@media (max-width:480px){.release-banner{padding:40px 20px}}"},{"filePath":"snippets/v2.1.x-SNAPSHOT/components/ReleaseCarousel/ReleaseCarousel.css","content":"@keyframes release-carousel-slide-next{0%{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}@keyframes release-carousel-slide-prev{0%{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}.release-banner{max-width:1300px;margin:0 auto;background:linear-gradient(135deg,rgba(105,56,239,.12) 0,rgba(142,198,252,.35) 100%);padding:48px 100px;border-radius:24px}.release-banner-content{display:grid;grid-template-columns:repeat(2,1fr);gap:50px;align-items:center}.release-banner-content h2{color:#181d27;font-weight:500;font-size:32px;margin-bottom:16px}.release-banner-content p,.release-carousel-content [data-as=p]{color:#414651;font-size:18px;margin-bottom:24px}.release-banner-content a{background-color:#fff;box-shadow:0 1px 2px rgba(10,13,18,.06),0 2px 4px rgba(10,13,18,.05);padding:12px 24px;border-radius:99px;font-size:18px;font-weight:500;color:#131313}.release-banner-content a:hover{text-decoration:underline}.release-carousel{position:relative}.release-carousel-viewport{overflow:hidden}.release-carousel-content [data-as=p]{display:block}.release-carousel-content [data-as=p] strong{color:#181d27;font-weight:700}.release-carousel-content a{display:inline-block}.release-carousel-title-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.release-carousel-content .release-carousel-title-row h2{margin:0}.release-carousel-eyebrow{display:inline-block;flex-shrink:0;background-color:#f4f3ff;color:#6938ef;padding:4px 14px;border-radius:100px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.release-carousel-content.slide-next{animation:release-carousel-slide-next .45s ease}.release-carousel-content.slide-prev{animation:release-carousel-slide-prev .45s ease}.release-carousel-image{width:100%;max-width:1200px;display:block;border:3px solid #d9d2fa;border-radius:16px;box-shadow:0 2px 2px -1px #0a0d120a,0 4px 6px -2px #0a0d1208,0 12px 16px -4px #0a0d1214;cursor:zoom-in}.release-carousel-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;background-color:rgba(16,24,40,.85)}.release-carousel-lightbox-image{max-width:100%;max-height:100%;display:block;border-radius:12px;box-shadow:0 12px 16px -4px #0a0d1214;cursor:default}.release-carousel-lightbox-close{top:24px;right:24px;border:1px solid rgba(255,255,255,.3);background-color:rgba(255,255,255,.1);color:#fff}.release-carousel-lightbox-close:hover{background-color:rgba(255,255,255,.2)}.release-carousel .carousel-arrow,.release-carousel-lightbox-close{position:absolute;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:background-color .15s ease}.release-carousel .carousel-arrow{top:50%;transform:translateY(-50%);border:1px solid #d9d2fa;background-color:#fff;color:#181d27;box-shadow:0 2px 2px -1px #0a0d120a,0 4px 6px -2px #0a0d1208,0 12px 16px -4px #0a0d1214}.release-carousel .carousel-arrow:hover{background-color:#f4f3ff}.release-carousel .carousel-arrow-prev{left:16px}.release-carousel .carousel-arrow-next{right:16px}.release-carousel .carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}.release-carousel .carousel-dot{width:8px;height:8px;border-radius:50%;border:0;background-color:#d9d2fa;padding:0;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.release-carousel .carousel-dot.active{background-color:#6938ef;transform:scale(1.2)}@media (max-width:1024px){.release-banner-content{grid-template-columns:repeat(1,1fr)}.release-banner-content h2{font-size:28px}.release-carousel .carousel-arrow-prev{left:4px}.release-carousel .carousel-arrow-next{right:4px}}@media (max-width:768px){.release-banner{padding:40px 52px}.release-carousel .carousel-arrow{width:32px;height:32px}}@media (max-width:480px){.release-banner{padding:40px 20px}}"}],"page":{"pagePath":"v1.13.x/api-reference/sdk/python/ingestion/lineage","slug":"/v1.13.x/api-reference/sdk/python/ingestion/lineage","pageMetadata":{"title":"Python SDK for Lineage","description":"Learn to implement data lineage tracking with OpenMetadata'sPython SDK. Complete guide with code examples, API usage, and best practices for data flow ...","sidebarTitle":"Lineage","href":"/v1.13.x/api-reference/sdk/python/ingestion/lineage"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn to implement data lineage tracking with OpenMetadata’sPython SDK. Complete guide with code examples, API usage, and best practices for data flow …\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`python-sdk-for-lineage`,children:`Python SDK for Lineage`}),`\n`,_jsx(_components.p,{children:`In this guide, we will use the Python SDK to create and fetch Lineage information.`}),`\n`,_jsx(_components.p,{children:`For simplicity, we are going to create lineage between Tables. However, this would work with ANY entity.`}),`\n`,_jsxs(_components.p,{children:[`You can find the Lineage Entity defined `,_jsx(_components.a,{href:`https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/type/entityLineage.json`,children:`here`}),`,\nas well as the Entity defining the payload to add a new lineage: `,_jsx(_components.a,{href:`https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/api/lineage/addLineage.json`,children:`AddLineage`}),`.`]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:`Note that in OpenMetadata, the Lineage information is just a possible relationship between Entities. Other types\nof relationships for example could be:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Contains (a Database contains Schemas, which at the same time contain Tables),`}),`\n`,_jsx(_components.li,{children:`or Ownership of any asset.`}),`\n`]}),_jsx(_components.p,{children:`The point being, any Entity existent in OpenMetadata can be related to any other via Lineage.`})]}),`\n`,_jsx(_components.p,{children:`In the following sections we will:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Create a Database Service, a Database, a Schema and two Tables,`}),`\n`,_jsx(_components.li,{children:`Add Lineage between both Tables,`}),`\n`,_jsx(_components.li,{children:`Get the Lineage information back.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`prerequisite`}),` for this section is to have previously gone through the following `,_jsx(_components.a,{href:`/v1.13.x/api-reference/sdk/python`,children:`docs`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`creating-the-entities`,children:`Creating the Entities`}),`\n`,_jsx(_components.p,{children:`To prepare the necessary ingredients, execute the following steps.`}),`\n`,_jsxs(_components.p,{children:[`All functions that we are going to use related to Lineage can be found `,_jsx(_components.a,{href:`https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/src/metadata/sdk/api/lineage.py`,children:`here`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`1-preparing-the-client`,children:`1. Preparing the Client`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.sdk `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` configure`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`configure(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` host`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://localhost:8585/api\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` jwt_token`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003ctoken>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`2-creating-the-database-service`,children:`2. Creating the Database Service`}),`\n`,_jsxs(_components.p,{children:[`We are mocking a MySQL instance. Note how we need to pass the right configuration class `,_jsx(_components.code,{children:`MysqlConnection`}),`, as a\nparameter for the generic `,_jsx(_components.code,{children:`DatabaseConnection`}),` type.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`28`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`28`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.sdk `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DatabaseServices`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.services.createDatabaseService `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateDatabaseServiceRequest,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.entity.services.connections.database.common.basicAuth `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BasicAuth,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.entity.services.connections.database.mysqlConnection `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MysqlConnection,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.entity.services.databaseService `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DatabaseConnection,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DatabaseServiceType,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`db_service `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateDatabaseServiceRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-service-db-lineage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` serviceType`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DatabaseServiceType.Mysql,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` connection`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DatabaseConnection(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` config`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`MysqlConnection(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` username`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"username\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` authType`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`BasicAuth(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`password`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"password\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` hostPort`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://localhost:1234\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`db_service_entity `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DatabaseServices.create(db_service)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`3-creating-the-database`,children:`3. Creating the Database`}),`\n`,_jsxs(_components.p,{children:[`Any Entity that is created and linked to another Entity, has to hold the `,_jsx(_components.code,{children:`fullyQualifiedName`}),` to the Entity it\nrelates to. In this case, a Database is bound to a specific service.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.sdk `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Databases`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.data.createDatabase `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateDatabaseRequest`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_db `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateDatabaseRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-db\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` service`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`db_service_entity.fullyQualifiedName,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_db_entity `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Databases.create(create_db)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`4-creating-the-schema`,children:`4. Creating the Schema`}),`\n`,_jsx(_components.p,{children:`The same happens with the Schemas. They are related to a Database.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.sdk `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DatabaseSchemas`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.data.createDatabaseSchema `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateDatabaseSchemaRequest,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_schema `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateDatabaseSchemaRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`database`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_db_entity.fullyQualifiedName`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_schema_entity `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` DatabaseSchemas.create(create_schema)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`5-creating-the-tables`,children:`5. Creating the Tables`}),`\n`,_jsxs(_components.p,{children:[`And finally, Tables are contained in a specific Schema, so we use the `,_jsx(_components.code,{children:`fullyQualifiedName`}),` here as well.`]}),`\n`,_jsx(_components.p,{children:`We are doing a simple example with a single column.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`18`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.sdk `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Tables`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.data.createTable `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateTableRequest`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.entity.data.table `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Column, DataType`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`table_a `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateTableRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tableA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` databaseSchema`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_schema_entity.fullyQualifiedName,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` columns`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[Column(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`dataType`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DataType.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`BIGINT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`table_b `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateTableRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tableB\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` databaseSchema`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_schema_entity.fullyQualifiedName,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` columns`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[Column(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`dataType`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DataType.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`BIGINT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`table_a_entity `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Tables.create(table_a)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`table_b_entity `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Tables.create(table_b)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`6-adding-lineage`,children:`6. Adding Lineage`}),`\n`,_jsx(_components.p,{children:`With everything prepared, we can now create the lineage between both entities.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.sdk.api `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Lineage`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`created_lineage `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Lineage.add_lineage(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` from_entity_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(table_a_entity.id),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` from_entity_type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"table\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` to_entity_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`str`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(table_b_entity.id),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` to_entity_type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"table\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test lineage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The Python client will already return us a JSON object with the Lineage information about the `,_jsx(_components.code,{children:`fromEntity`}),` node\nwe added:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`27`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`27`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"entity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"e7bee99b-5c5e-43ec-805c-8beba04804f5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"table\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tableA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"fullyQualifiedName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-service-db-lineage.test-db.test-schema.tableA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"deleted\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"href\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://localhost:8585/api/v1/tables/e7bee99b-5c5e-43ec-805c-8beba04804f5\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"nodes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"800caa0f-a149-48d2-a0ce-6ca84501767e\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"table\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tableB\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"fullyQualifiedName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-service-db-lineage.test-db.test-schema.tableB\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"deleted\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"href\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://localhost:8585/api/v1/tables/800caa0f-a149-48d2-a0ce-6ca84501767e\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"upstreamEdges\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"downstreamEdges\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"fromEntity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"e7bee99b-5c5e-43ec-805c-8beba04804f5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"toEntity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"800caa0f-a149-48d2-a0ce-6ca84501767e\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`If the node were to have other edges already, they would be showing up here.`}),`\n`,_jsx(_components.p,{children:`If we validate the Lineage from the UI, we will see:`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/simple-lineage.png?fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=cb057373a2a7d37013abe2b6774127cd`,alt:`simple-lineage`,\"data-og-width\":`1626`,width:`1626`,\"data-og-height\":`384`,height:`384`,\"data-path\":`public/images/sdk/python/ingestion/lineage/simple-lineage.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/simple-lineage.png?w=280\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=07e9aa0b5b74f2f521770274e777fbc7 280w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/simple-lineage.png?w=560\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=8f8e1a3aef26b3e5d08e18d6c7dfa01c 560w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/simple-lineage.png?w=840\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=56c79296ab6ec56b0046fa4683aafb7b 840w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/simple-lineage.png?w=1100\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=a333c83a99ab960db13d626fc8b3c1e7 1100w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/simple-lineage.png?w=1650\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=3d1e1e07921f64ef3fe74a87b4418eee 1650w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/simple-lineage.png?w=2500\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=b20528788a37ec36c021d4851e0f5aea 2500w`}),`\n`,_jsx(Heading,{level:`3`,id:`7-fetching-lineage`,children:`7. Fetching Lineage`}),`\n`,_jsx(_components.p,{children:`Finally, let’s fetch the lineage from the other node involved:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.sdk.api `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Lineage`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`lineage `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Lineage.get_lineage(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"test-service-db-lineage.test-db.test-schema.tableB\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` upstream_depth`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` downstream_depth`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Which will give us the symmetric results from above`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`27`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`27`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"entity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"800caa0f-a149-48d2-a0ce-6ca84501767e\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"table\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tableB\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"fullyQualifiedName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-service-db-lineage.test-db.test-schema.tableB\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"deleted\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"href\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://localhost:8585/api/v1/tables/800caa0f-a149-48d2-a0ce-6ca84501767e\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"nodes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"e7bee99b-5c5e-43ec-805c-8beba04804f5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"table\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tableA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"fullyQualifiedName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-service-db-lineage.test-db.test-schema.tableA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"deleted\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"href\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://localhost:8585/api/v1/tables/e7bee99b-5c5e-43ec-805c-8beba04804f5\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"upstreamEdges\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"fromEntity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"e7bee99b-5c5e-43ec-805c-8beba04804f5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"toEntity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"800caa0f-a149-48d2-a0ce-6ca84501767e\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"downstreamEdges\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: []`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`You can also get lineage by entity type and ID using `,_jsx(_components.code,{children:`Lineage.get_entity_lineage(entity_type=\"table\", entity_id=\"entity-id\", upstream_depth=1, downstream_depth=1)`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`lineage-details`,children:`Lineage Details`}),`\n`,_jsxs(_components.p,{children:[`Note how when adding lineage information we give to the API an `,_jsx(_components.a,{href:`https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/api/lineage/addLineage.json`,children:`AddLineage`}),`\nRequest. This is composed of an Entity Edge, whose definition you can find `,_jsx(_components.a,{href:`https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/type/entityLineage.json#L75`,children:`here`}),`.`]}),`\n`,_jsx(_components.p,{children:`In a nutshell, an Entity Edge has:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`The Entity Reference as the lineage origin,`}),`\n`,_jsx(_components.li,{children:`The Entity Reference as the lineage destination,`}),`\n`,_jsx(_components.li,{children:`Optionally, Lineage Details.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`In the Lineage Details property we can pass further information specific about Table to Table lineage:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`sqlQuery`}),` specifying the transformation,`]}),`\n`,_jsxs(_components.li,{children:[`An array of `,_jsx(_components.code,{children:`columnsLineage`}),` as an object with an array of source and destination columns, as well as their own specific transformation function,`]}),`\n`,_jsx(_components.li,{children:`Optionally, the Entity Reference of a Pipeline powering the transformation from Table A to Table B.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The simple `,_jsx(_components.code,{children:`Lineage.add_lineage(...)`}),` helper covers direct edges. For advanced payloads, construct an `,_jsx(_components.code,{children:`AddLineageRequest`}),`\nand submit it with `,_jsx(_components.code,{children:`Lineage.add_lineage_request(...)`}),`.`]}),`\n`,_jsx(_components.p,{children:`Let’s see how to do that and play with the possible combinations.`}),`\n`,_jsx(_components.p,{children:`First, import the required classes and create a new table:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`17`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.sdk `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Tables`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.lineage.addLineage `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` AddLineageRequest`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.type.entityReference `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` EntityReference`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.type.entityLineage `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ColumnLineage,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` EntitiesEdge,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LineageDetails,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Prepare a new table`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`table_c `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreateTableRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tableC\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` databaseSchema`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_schema_entity.ifullyQualifiedName,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` columns`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[Column(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`dataType`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DataType.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`BIGINT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`table_c_entity `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.create_or_update(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`table_c)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`column-level-lineage`,children:`Column Level Lineage`}),`\n`,_jsx(_components.p,{children:`We can start by linking our columns together. For that we are going to create:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.code,{children:`ColumnLineage`}),` object, linking our Table A column ID -> Table C column ID. Note that this can be a list!`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.code,{children:`LineageDetails`}),` object, passing the column lineage and the SQL query that powers the transformation.`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`21`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`21`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.sdk.api `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Lineage`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`column_lineage `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ColumnLineage(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` fromColumns`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-service-db-lineage.test-db.test-schema.tableA.id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` toColumn`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-service-db-lineage.test-db.test-schema.tableC.id\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`lineage_details `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LineageDetails(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` sqlQuery`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SELECT * FROM AWESOME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` columnsLineage`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[column_lineage],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`add_lineage_request `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` AddLineageRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` edge`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EntitiesEdge(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` fromEntity`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EntityReference(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`table_a_entity.id, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"table\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` toEntity`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EntityReference(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`table_c_entity.id, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"table\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` lineageDetails`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`lineage_details,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`created_lineage `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Lineage.add_lineage_request(add_lineage_request)`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This information will now be reflected in the UI as well:`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/lineage-col.png?fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=122f412a497c5261e22afadea666a5dd`,alt:`lineage-col`,\"data-og-width\":`1688`,width:`1688`,\"data-og-height\":`424`,height:`424`,\"data-path\":`public/images/sdk/python/ingestion/lineage/lineage-col.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/lineage-col.png?w=280\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=9527e119ec6cd37a115ca338ecd6fc8e 280w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/lineage-col.png?w=560\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=318f02a3dac924495f991c0b651492e3 560w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/lineage-col.png?w=840\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=1115503839f48b02018f84b2161a6841 840w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/lineage-col.png?w=1100\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=6ce60dc9351b58e6fccb04c34f64aaf9 1100w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/lineage-col.png?w=1650\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=83efb98ace1e9f19661f23d06c86e7e2 1650w, https://mintcdn.com/openmetadata/m2dVw4ye-bGbm5O_/public/images/sdk/python/ingestion/lineage/lineage-col.png?w=2500\u0026fit=max\u0026auto=format\u0026n=m2dVw4ye-bGbm5O_\u0026q=85\u0026s=ba77591888959d12ff13242c6d528413 2500w`}),`\n`,_jsx(Heading,{level:`3`,id:`adding-a-pipeline-reference`,children:`Adding a Pipeline Reference`}),`\n`,_jsx(_components.p,{children:`We can as well pass the reference to the pipeline used to create the lineage (e.g., the ETL feeding the tables).`}),`\n`,_jsx(_components.p,{children:`To prepare this example, we need to start by creating the Pipeline Entity. Again, we’ll need first\nto prepare the Pipeline Service:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`33`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`33`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.type.entityReference `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` EntityReference`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.data.createPipeline `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreatePipelineRequest`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.api.services.createPipelineService `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreatePipelineServiceRequest,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.entity.services.pipelineService `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PipelineConnection,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PipelineService,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PipelineServiceType,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.generated.schema.entity.services.connections.pipeline.backendConnection `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` BackendConnection,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`pipeline_service `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreatePipelineServiceRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test-service-pipeline\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` serviceType`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`PipelineServiceType.Airflow,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` connection`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`PipelineConnection(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` config`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`AirflowConnection(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` hostPort`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://localhost:8080\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` connection`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`BackendConnection(),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`pipeline_service_entity `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.create_or_update(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`pipeline_service)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_pipeline `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CreatePipelineRequest(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"test\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` service`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`pipeline_service_entity.fullyQualifiedName,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`pipeline_entity `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` metadata.create_or_update(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_pipeline)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`With these ingredients ready, we can then follow the code above and add there a `,_jsx(_components.code,{children:`pipeline`}),` argument\nas an Entity Reference:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`lineage_details `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LineageDetails(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` sqlQuery`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SELECT * FROM AWESOME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` columnsLineage`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[column_lineage],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` pipeline`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EntityReference(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`pipeline_entity.id, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pipeline\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`The UI currently supports showing the column lineage information. Data about the SQL queries and the Pipeline Entities\nwill be surfaced soon. Thanks!`})}),`\n`,_jsx(Heading,{level:`2`,id:`automated-sql-lineage`,children:`Automated SQL lineage`}),`\n`,_jsxs(_components.p,{children:[`SQL-based lineage parsing is not part of `,_jsx(_components.code,{children:`metadata.sdk.api.Lineage`}),` today. If you need lineage generated from raw SQL,\nuse the lineage ingestion workflow or CLI. The older `,_jsx(_components.code,{children:`add_lineage_by_query`}),` helper belongs to the legacy\n`,_jsx(_components.code,{children:`metadata.ingestion.ometa`}),` client surface, not the current `,_jsx(_components.code,{children:`metadata.sdk`}),` API.`]}),`\n`,_jsx(Heading,{level:`2`,id:`automated-sql-lineage-via-cli`,children:`Automated SQL lineage via CLI`}),`\n`,_jsxs(_components.p,{children:[`To create the automated sql lineage via CLI, you need to make sure that you have installed the openmetadata-ingestion package in your local environment using command `,_jsx(_components.code,{children:`pip install openmetadata-ingestion`}),`.`]}),`\n`,_jsx(_components.p,{children:`Once that is done you will have to prepare a yaml file as follows.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`serviceName`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`local_mysql`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`insert into target_table(id) as select id from source_table`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# filePath: test.sql`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# parseTimeout: 360 # timeout in seconds`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`workflowConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # loggerLevel: DEBUG # DEBUG, INFO, WARN or ERROR`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` openMetadataServerConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` hostPort`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cOpenMetadata host and port>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` authProvider`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cOpenMetadata auth provider>`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`serviceName`}),`: Name of the database service which contains the table involved in query.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`query`}),`: You can specify the raw sql query within the yaml file itself.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`filePath`}),`: In case the query is too big then you can also save query in a file and pass the path to the file in this field.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`parseTimeout`}),`: Timeout for the lineage parsing process.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`workflowConfig`}),`: The main property here is the openMetadataServerConfig, where you can define the host and security provider of your OpenMetadata installation.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Once the yaml file is prepare you can run the command`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`metadata lineage -c path/to/your_config_yaml.yaml`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Python SDK for Lineage","description":"Learn to implement data lineage tracking with OpenMetadata'sPython SDK. Complete guide with code examples, API usage, and best practices for data flow ...","sidebarTitle":"Lineage","href":"/v1.13.x/api-reference/sdk/python/ingestion/lineage"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Python SDK for Lineage","slug":"python-sdk-for-lineage","depth":1,"children":[]},{"title":"Creating the Entities","slug":"creating-the-entities","depth":2,"children":[{"title":"1. Preparing the Client","slug":"1-preparing-the-client","depth":3,"children":[]},{"title":"2. Creating the Database Service","slug":"2-creating-the-database-service","depth":3,"children":[]},{"title":"3. Creating the Database","slug":"3-creating-the-database","depth":3,"children":[]},{"title":"4. Creating the Schema","slug":"4-creating-the-schema","depth":3,"children":[]},{"title":"5. Creating the Tables","slug":"5-creating-the-tables","depth":3,"children":[]},{"title":"6. Adding Lineage","slug":"6-adding-lineage","depth":3,"children":[]},{"title":"7. Fetching Lineage","slug":"7-fetching-lineage","depth":3,"children":[]}]},{"title":"Lineage Details","slug":"lineage-details","depth":2,"children":[]},{"title":"Column Level Lineage","slug":"column-level-lineage","depth":2,"children":[{"title":"Adding a Pipeline Reference","slug":"adding-a-pipeline-reference","depth":3,"children":[]}]},{"title":"Automated SQL lineage","slug":"automated-sql-lineage","depth":2,"children":[]},{"title":"Automated SQL lineage via CLI","slug":"automated-sql-lineage-via-cli","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/openmetadata/193c43da98baa789/loader.js"],"subdomain":"openmetadata","siteName":"OpenMetadata Documentation","title":"Python SDK for Lineage - OpenMetadata Documentation","navMaps":{"firstHrefInVersion":{"v2.0.x":{"href":"/v2.0.x/api-reference/sdk/python/ingestion/lineage","matchLevel":1},"v1.13.x":{"href":"/v1.13.x/api-reference/sdk/python/ingestion/lineage","matchLevel":0},"v2.1.x-SNAPSHOT":{"href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/ingestion/lineage","matchLevel":1}},"firstHrefInLanguage":{}},"lastModified":"2026-06-10T10:47:04.631Z","originalFileLocation":"v1.13.x/api-reference/sdk/python/ingestion/lineage.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn to implement data lineage tracking with OpenMetadata\u0026#x27;sPython SDK. Complete guide with code examples, API usage, and best practices for data flow ...\">\u003cmeta data-mint-head name=\"application-name\" content=\"OpenMetadata Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Python SDK for Lineage - OpenMetadata Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn to implement data lineage tracking with OpenMetadata\u0026#x27;sPython SDK. Complete guide with code examples, API usage, and best practices for data flow ...\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OpenMetadata Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://openmetadata.mintlify.app/_mintlify/api/og/v2?division=Ingestion\u0026amp;title=Python+SDK+for+Lineage\u0026amp;description=Learn+to+implement+data+lineage+tracking+with+OpenMetadata%27sPython+SDK.+Complete+guide+with+code+examples%2C+API+usage%2C+and+best+practices+for+data+flow+...\u0026amp;theme=b72ba3b6733cb95c984de390\u0026amp;signature=5587ff84f236c9880e895794122a9b2132bc89244c25a4cbe30a96091d51a1a9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Python SDK for Lineage - OpenMetadata Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn to implement data lineage tracking with OpenMetadata\u0026#x27;sPython SDK. Complete guide with code examples, API usage, and best practices for data flow ...\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://openmetadata.mintlify.app/_mintlify/api/og/v2?division=Ingestion\u0026amp;title=Python+SDK+for+Lineage\u0026amp;description=Learn+to+implement+data+lineage+tracking+with+OpenMetadata%27sPython+SDK.+Complete+guide+with+code+examples%2C+API+usage%2C+and+best+practices+for+data+flow+...\u0026amp;theme=b72ba3b6733cb95c984de390\u0026amp;signature=5587ff84f236c9880e895794122a9b2132bc89244c25a4cbe30a96091d51a1a9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/openmetadata/6KJlWty2MOEAr7r6/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OpenMetadata Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6938EF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v1.13.x/api-reference/sdk/python/ingestion/lineage.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.open-metadata.org/#organization\",\"name\":\"OpenMetadata Documentation\",\"url\":\"https://docs.open-metadata.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/openmetadata/Z_Ib-0g05fLykSep/public/images/icons/omd.svg?fit=max\u0026auto=format\u0026n=Z_Ib-0g05fLykSep\u0026q=85\u0026s=8eb40986afc777e29ae395288a3983e8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.open-metadata.org#website\",\"name\":\"OpenMetadata Documentation\",\"url\":\"https://docs.open-metadata.org\",\"publisher\":{\"@id\":\"https://docs.open-metadata.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage#webpage\",\"url\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage\",\"name\":\"Python SDK for Lineage\",\"description\":\"Learn to implement data lineage tracking with OpenMetadata'sPython SDK. Complete guide with code examples, API usage, and best practices for data flow ...\",\"dateModified\":\"2026-06-10T10:47:04.631Z\",\"isPartOf\":{\"@id\":\"https://docs.open-metadata.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SDK\",\"item\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ingestion\",\"item\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Python SDK for Lineage\",\"item\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage#article\",\"headline\":\"Python SDK for Lineage\",\"name\":\"Python SDK for Lineage\",\"description\":\"Learn to implement data lineage tracking with OpenMetadata'sPython SDK. Complete guide with code examples, API usage, and best practices for data flow ...\",\"url\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage\",\"mainEntityOfPage\":{\"@id\":\"https://docs.open-metadata.org/v1.13.x/api-reference/sdk/python/ingestion/lineage#webpage\"},\"dateModified\":\"2026-06-10T10:47:04.631Z\",\"publisher\":{\"@id\":\"https://docs.open-metadata.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.open-metadata.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OpenMetadata Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OpenMetadata Documentation","nav":{"global":null,"versions":[{"version":"v2.0.x","pages":[{"title":"v2.0.x","href":"/v2.0.x/api-reference/sdk/python/ingestion/lineage"}]},{"version":"v1.13.x","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/v1.13.x"}]},{"tab":"Quickstart","pages":[{"title":"Quickstart","href":"/v1.13.x/quick-start"}]},{"tab":"Deployment","pages":[{"title":"Deployment","href":"/v1.13.x/deployment"}]},{"tab":"Connectors","pages":[{"title":"Connectors","href":"/v1.13.x/connectors"}]},{"tab":"How-to Guides","pages":[{"title":"How-to Guides","href":"/v1.13.x/how-to-guides"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/v1.13.x/how-to-guides/mcp"}]},{"tab":"Admin Guide","pages":[{"title":"Admin Guide","href":"/v1.13.x/how-to-guides/admin-guide"}]},{"tab":"Guide for Data Users","pages":[{"title":"Guide for Data Users","href":"/v1.13.x/how-to-guides/guide-for-data-users"}]},{"tab":"Data Discovery","pages":[{"title":"Data Discovery","href":"/v1.13.x/how-to-guides/data-discovery"}]},{"tab":"Data Contracts","pages":[{"title":"Data Contracts","href":"/v1.13.x/how-to-guides/data-contracts"}]},{"tab":"Data Collaboration","pages":[{"title":"Data Collaboration","href":"/v1.13.x/how-to-guides/data-collaboration"}]},{"tab":"Data Quality and Observability","pages":[{"title":"Data Quality and Observability","href":"/v1.13.x/how-to-guides/data-quality-observability"}]},{"tab":"Data Lineage","pages":[{"title":"Data Lineage","href":"/v1.13.x/how-to-guides/data-lineage"}]},{"tab":"Data Insights","pages":[{"title":"Data Insights","href":"/v1.13.x/how-to-guides/data-insights"}]},{"tab":"Data Marketplace","pages":[{"title":"Data Marketplace","href":"/v1.13.x/how-to-guides/data-marketplace"}]},{"tab":"Data Governance","pages":[{"title":"Data Governance","href":"/v1.13.x/how-to-guides/data-governance"}]},{"tab":"Releases","pages":[{"title":"Releases","href":"/v1.13.x/releases"}]},{"tab":"Developers","pages":[{"title":"Developers","href":"/v1.13.x/developers"}]},{"tab":"SDK \u0026 APIs","groups":[{"group":"API Reference","pages":[{"title":"OpenMetadata SDKs \u0026 APIs","sidebarTitle":"Introduction","href":"/v1.13.x/api-reference"},{"title":"Getting Started","sidebarTitle":"Getting Started","href":"/v1.13.x/api-reference/getting-started"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/v1.13.x/api-reference/authentication"},{"title":"Errors","sidebarTitle":"Errors","mode":"wide","href":"/v1.13.x/api-reference/errors"},{"title":"Pagination","sidebarTitle":"Pagination","mode":"wide","href":"/v1.13.x/api-reference/pagination"}]},{"group":"Data Assets","pages":[{"title":"Data Assets","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets"},{"title":"Databases","sidebarTitle":"Databases","href":"/v1.13.x/api-reference/data-assets/databases-overview"},{"group":"Api Collections","pages":[{"title":"API Collections","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/api-collections"},{"title":"Create an API Collection","sidebarTitle":"Create an API Collection","api":"POST /v1/apiCollections","href":"/v1.13.x/api-reference/data-assets/api-collections/create"},{"title":"Delete an API Collection","sidebarTitle":"Delete an API Collection","api":"DELETE /v1/apiCollections/{id}","href":"/v1.13.x/api-reference/data-assets/api-collections/delete"},{"title":"List API Collections","sidebarTitle":"List API Collections","api":"GET /v1/apiCollections","href":"/v1.13.x/api-reference/data-assets/api-collections/list"},{"title":"Retrieve an API Collection","sidebarTitle":"Retrieve an API Collection","api":"GET /v1/apiCollections/{id}","href":"/v1.13.x/api-reference/data-assets/api-collections/retrieve"},{"title":"Update an API Collection","sidebarTitle":"Update an API Collection","api":"PUT /v1/apiCollections","href":"/v1.13.x/api-reference/data-assets/api-collections/update"},{"title":"API Collection Versions","sidebarTitle":"API Collection Versions","api":"GET /v1/apiCollections/{id}/versions","href":"/v1.13.x/api-reference/data-assets/api-collections/versions"}]},{"group":"Api Endpoints","pages":[{"title":"API Endpoints","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/api-endpoints"},{"title":"Create an API Endpoint","sidebarTitle":"Create an API Endpoint","api":"POST /v1/apiEndpoints","href":"/v1.13.x/api-reference/data-assets/api-endpoints/create"},{"title":"Delete an API Endpoint","sidebarTitle":"Delete an API Endpoint","api":"DELETE /v1/apiEndpoints/{id}","href":"/v1.13.x/api-reference/data-assets/api-endpoints/delete"},{"title":"List API Endpoints","sidebarTitle":"List API Endpoints","api":"GET /v1/apiEndpoints","href":"/v1.13.x/api-reference/data-assets/api-endpoints/list"},{"title":"Retrieve an API Endpoint","sidebarTitle":"Retrieve an API Endpoint","api":"GET /v1/apiEndpoints/{id}","href":"/v1.13.x/api-reference/data-assets/api-endpoints/retrieve"},{"title":"Update an API Endpoint","sidebarTitle":"Update an API Endpoint","api":"PUT /v1/apiEndpoints","href":"/v1.13.x/api-reference/data-assets/api-endpoints/update"},{"title":"API Endpoint Versions","sidebarTitle":"API Endpoint Versions","api":"GET /v1/apiEndpoints/{id}/versions","href":"/v1.13.x/api-reference/data-assets/api-endpoints/versions"}]},{"group":"Charts","pages":[{"title":"Charts","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/charts"},{"title":"Create a Chart","sidebarTitle":"Create a Chart","api":"POST /v1/charts","href":"/v1.13.x/api-reference/data-assets/charts/create"},{"title":"Delete a Chart","sidebarTitle":"Delete a Chart","api":"DELETE /v1/charts/{id}","href":"/v1.13.x/api-reference/data-assets/charts/delete"},{"title":"List Charts","sidebarTitle":"List Charts","api":"GET /v1/charts","href":"/v1.13.x/api-reference/data-assets/charts/list"},{"title":"Retrieve a Chart","sidebarTitle":"Retrieve a Chart","api":"GET /v1/charts/{id}","href":"/v1.13.x/api-reference/data-assets/charts/retrieve"},{"title":"Update a Chart","sidebarTitle":"Update a Chart","api":"PUT /v1/charts","href":"/v1.13.x/api-reference/data-assets/charts/update"},{"title":"Chart Versions","sidebarTitle":"Chart Versions","api":"GET /v1/charts/{id}/versions","href":"/v1.13.x/api-reference/data-assets/charts/versions"}]},{"group":"Containers","pages":[{"title":"Containers","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/containers"},{"title":"Create a Container","sidebarTitle":"Create a Container","api":"POST /v1/containers","href":"/v1.13.x/api-reference/data-assets/containers/create"},{"title":"Delete a Container","sidebarTitle":"Delete a Container","api":"DELETE /v1/containers/{id}","href":"/v1.13.x/api-reference/data-assets/containers/delete"},{"title":"List Containers","sidebarTitle":"List Containers","api":"GET /v1/containers","href":"/v1.13.x/api-reference/data-assets/containers/list"},{"title":"Retrieve a Container","sidebarTitle":"Retrieve a Container","api":"GET /v1/containers/{id}","href":"/v1.13.x/api-reference/data-assets/containers/retrieve"},{"title":"Update a Container","sidebarTitle":"Update a Container","api":"PUT /v1/containers","href":"/v1.13.x/api-reference/data-assets/containers/update"},{"title":"Container Versions","sidebarTitle":"Container Versions","api":"GET /v1/containers/{id}/versions","href":"/v1.13.x/api-reference/data-assets/containers/versions"}]},{"group":"Dashboard Services","pages":[{"title":"Dashboard Services","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/dashboard-services"},{"title":"Create a Dashboard Service","sidebarTitle":"Create a Dashboard Service","api":"POST /v1/services/dashboardServices","href":"/v1.13.x/api-reference/data-assets/dashboard-services/create"},{"title":"Delete a Dashboard Service","sidebarTitle":"Delete a Dashboard Service","api":"DELETE /v1/services/dashboardServices/{id}","href":"/v1.13.x/api-reference/data-assets/dashboard-services/delete"},{"title":"Import \u0026 Export Dashboard Services","sidebarTitle":"Import \u0026 Export Dashboard Services","api":"GET /v1/services/dashboardServices/name/{fqn}/export","href":"/v1.13.x/api-reference/data-assets/dashboard-services/import-export"},{"title":"List Dashboard Services","sidebarTitle":"List Dashboard Services","api":"GET /v1/services/dashboardServices","href":"/v1.13.x/api-reference/data-assets/dashboard-services/list"},{"title":"Retrieve a Dashboard Service","sidebarTitle":"Retrieve a Dashboard Service","api":"GET /v1/services/dashboardServices/{id}","href":"/v1.13.x/api-reference/data-assets/dashboard-services/retrieve"},{"title":"Update a Dashboard Service","sidebarTitle":"Update a Dashboard Service","api":"PUT /v1/services/dashboardServices","href":"/v1.13.x/api-reference/data-assets/dashboard-services/update"},{"title":"Dashboard Service Versions","sidebarTitle":"Dashboard Service Versions","api":"GET /v1/services/dashboardServices/{id}/versions","href":"/v1.13.x/api-reference/data-assets/dashboard-services/versions"}]},{"group":"Dashboards","pages":[{"title":"Dashboards","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/dashboards"},{"title":"Create a Dashboard","sidebarTitle":"Create a Dashboard","api":"POST /v1/dashboards","href":"/v1.13.x/api-reference/data-assets/dashboards/create"},{"title":"Delete a Dashboard","sidebarTitle":"Delete a Dashboard","api":"DELETE /v1/dashboards/{id}","href":"/v1.13.x/api-reference/data-assets/dashboards/delete"},{"title":"Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/dashboards/{id}/followers","href":"/v1.13.x/api-reference/data-assets/dashboards/followers-votes"},{"title":"List Dashboards","sidebarTitle":"List Dashboards","api":"GET /v1/dashboards","href":"/v1.13.x/api-reference/data-assets/dashboards/list"},{"title":"Retrieve a Dashboard","sidebarTitle":"Retrieve a Dashboard","api":"GET /v1/dashboards/{id}","href":"/v1.13.x/api-reference/data-assets/dashboards/retrieve"},{"title":"Update a Dashboard","sidebarTitle":"Update a Dashboard","api":"PUT /v1/dashboards","href":"/v1.13.x/api-reference/data-assets/dashboards/update"},{"title":"Dashboard Versions","sidebarTitle":"Dashboard Versions","api":"GET /v1/dashboards/{id}/versions","href":"/v1.13.x/api-reference/data-assets/dashboards/versions"}]},{"group":"Database Schemas","pages":[{"title":"Database Schemas","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/database-schemas"},{"title":"Advanced Database Schema Operations","sidebarTitle":"Advanced Database Schema Operations","api":"PUT /v1/databaseSchemas/{id}/followers","href":"/v1.13.x/api-reference/data-assets/database-schemas/advanced"},{"title":"Create a Database Schema","sidebarTitle":"Create a Database Schema","api":"POST /v1/databaseSchemas","href":"/v1.13.x/api-reference/data-assets/database-schemas/create"},{"title":"Delete a Database Schema","sidebarTitle":"Delete a Database Schema","api":"DELETE /v1/databaseSchemas/{id}","href":"/v1.13.x/api-reference/data-assets/database-schemas/delete"},{"title":"Import \u0026 Export Database Schemas","sidebarTitle":"Import \u0026 Export Database Schemas","api":"GET /v1/databaseSchemas/name/{fqn}/export","href":"/v1.13.x/api-reference/data-assets/database-schemas/import-export"},{"title":"List Database Schemas","sidebarTitle":"List Database Schemas","api":"GET /v1/databaseSchemas","href":"/v1.13.x/api-reference/data-assets/database-schemas/list"},{"title":"Retrieve a Database Schema","sidebarTitle":"Retrieve a Database Schema","api":"GET /v1/databaseSchemas/{id}","href":"/v1.13.x/api-reference/data-assets/database-schemas/retrieve"},{"title":"Update a Database Schema","sidebarTitle":"Update a Database Schema","api":"PUT /v1/databaseSchemas","href":"/v1.13.x/api-reference/data-assets/database-schemas/update"},{"title":"Database Schema Versions","sidebarTitle":"Database Schema Versions","api":"GET /v1/databaseSchemas/{id}/versions","href":"/v1.13.x/api-reference/data-assets/database-schemas/versions"}]},{"group":"Database Services","pages":[{"title":"Database Services","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/database-services"},{"title":"Create a Database Service","sidebarTitle":"Create a Database Service","api":"POST /v1/services/databaseServices","href":"/v1.13.x/api-reference/data-assets/database-services/create"},{"title":"Delete a Database Service","sidebarTitle":"Delete a Database Service","api":"DELETE /v1/services/databaseServices/{id}","href":"/v1.13.x/api-reference/data-assets/database-services/delete"},{"title":"Import \u0026 Export Database Services","sidebarTitle":"Import \u0026 Export Database Services","api":"GET /v1/services/databaseServices/name/{fqn}/export","href":"/v1.13.x/api-reference/data-assets/database-services/import-export"},{"title":"List Database Services","sidebarTitle":"List Database Services","api":"GET /v1/services/databaseServices","href":"/v1.13.x/api-reference/data-assets/database-services/list"},{"title":"Retrieve a Database Service","sidebarTitle":"Retrieve a Database Service","api":"GET /v1/services/databaseServices/{id}","href":"/v1.13.x/api-reference/data-assets/database-services/retrieve"},{"title":"Update a Database Service","sidebarTitle":"Update a Database Service","api":"PUT /v1/services/databaseServices","href":"/v1.13.x/api-reference/data-assets/database-services/update"},{"title":"Database Service Versions","sidebarTitle":"Database Service Versions","api":"GET /v1/services/databaseServices/{id}/versions","href":"/v1.13.x/api-reference/data-assets/database-services/versions"}]},{"group":"Databases","pages":[{"title":"Databases","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/databases"},{"title":"Advanced Database Operations","sidebarTitle":"Advanced Database Operations","api":"PUT /v1/databases/{id}/followers","href":"/v1.13.x/api-reference/data-assets/databases/advanced"},{"title":"Create a Database","sidebarTitle":"Create a Database","api":"POST /v1/databases","href":"/v1.13.x/api-reference/data-assets/databases/create"},{"title":"Delete a Database","sidebarTitle":"Delete a Database","api":"DELETE /v1/databases/{id}","href":"/v1.13.x/api-reference/data-assets/databases/delete"},{"title":"Import \u0026 Export Databases","sidebarTitle":"Import \u0026 Export Databases","api":"GET /v1/databases/name/{fqn}/export","href":"/v1.13.x/api-reference/data-assets/databases/import-export"},{"title":"List Databases","sidebarTitle":"List Databases","api":"GET /v1/databases","href":"/v1.13.x/api-reference/data-assets/databases/list"},{"title":"Retrieve a Database","sidebarTitle":"Retrieve a Database","api":"GET /v1/databases/{id}","href":"/v1.13.x/api-reference/data-assets/databases/retrieve"},{"title":"Update a Database","sidebarTitle":"Update a Database","api":"PUT /v1/databases","href":"/v1.13.x/api-reference/data-assets/databases/update"},{"title":"Database Versions","sidebarTitle":"Database Versions","api":"GET /v1/databases/{id}/versions","href":"/v1.13.x/api-reference/data-assets/databases/versions"}]},{"group":"Messaging Services","pages":[{"title":"Messaging Services","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/messaging-services"},{"title":"Create a Messaging Service","sidebarTitle":"Create a Messaging Service","api":"POST /v1/services/messagingServices","href":"/v1.13.x/api-reference/data-assets/messaging-services/create"},{"title":"Delete a Messaging Service","sidebarTitle":"Delete a Messaging Service","api":"DELETE /v1/services/messagingServices/{id}","href":"/v1.13.x/api-reference/data-assets/messaging-services/delete"},{"title":"Import \u0026 Export Messaging Services","sidebarTitle":"Import \u0026 Export Messaging Services","api":"GET /v1/services/messagingServices/name/{fqn}/export","href":"/v1.13.x/api-reference/data-assets/messaging-services/import-export"},{"title":"List Messaging Services","sidebarTitle":"List Messaging Services","api":"GET /v1/services/messagingServices","href":"/v1.13.x/api-reference/data-assets/messaging-services/list"},{"title":"Retrieve a Messaging Service","sidebarTitle":"Retrieve a Messaging Service","api":"GET /v1/services/messagingServices/{id}","href":"/v1.13.x/api-reference/data-assets/messaging-services/retrieve"},{"title":"Update a Messaging Service","sidebarTitle":"Update a Messaging Service","api":"PUT /v1/services/messagingServices","href":"/v1.13.x/api-reference/data-assets/messaging-services/update"},{"title":"Messaging Service Versions","sidebarTitle":"Messaging Service Versions","api":"GET /v1/services/messagingServices/{id}/versions","href":"/v1.13.x/api-reference/data-assets/messaging-services/versions"}]},{"group":"Mlmodel Services","pages":[{"title":"ML Model Services","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/mlmodel-services"},{"title":"Create an ML Model Service","sidebarTitle":"Create an ML Model Service","api":"POST /v1/services/mlmodelServices","href":"/v1.13.x/api-reference/data-assets/mlmodel-services/create"},{"title":"Delete an ML Model Service","sidebarTitle":"Delete an ML Model Service","api":"DELETE /v1/services/mlmodelServices/{id}","href":"/v1.13.x/api-reference/data-assets/mlmodel-services/delete"},{"title":"List ML Model Services","sidebarTitle":"List ML Model Services","api":"GET /v1/services/mlmodelServices","href":"/v1.13.x/api-reference/data-assets/mlmodel-services/list"},{"title":"Retrieve an ML Model Service","sidebarTitle":"Retrieve an ML Model Service","api":"GET /v1/services/mlmodelServices/{id}","href":"/v1.13.x/api-reference/data-assets/mlmodel-services/retrieve"},{"title":"Update an ML Model Service","sidebarTitle":"Update an ML Model Service","api":"PUT /v1/services/mlmodelServices","href":"/v1.13.x/api-reference/data-assets/mlmodel-services/update"},{"title":"ML Model Service Versions","sidebarTitle":"ML Model Service Versions","api":"GET /v1/services/mlmodelServices/{id}/versions","href":"/v1.13.x/api-reference/data-assets/mlmodel-services/versions"}]},{"group":"Mlmodels","pages":[{"title":"ML Models","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/mlmodels"},{"title":"Create an ML Model","sidebarTitle":"Create an ML Model","api":"POST /v1/mlmodels","href":"/v1.13.x/api-reference/data-assets/mlmodels/create"},{"title":"Delete an ML Model","sidebarTitle":"Delete an ML Model","api":"DELETE /v1/mlmodels/{id}","href":"/v1.13.x/api-reference/data-assets/mlmodels/delete"},{"title":"Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/mlmodels/{id}/followers","href":"/v1.13.x/api-reference/data-assets/mlmodels/followers-votes"},{"title":"List ML Models","sidebarTitle":"List ML Models","api":"GET /v1/mlmodels","href":"/v1.13.x/api-reference/data-assets/mlmodels/list"},{"title":"Retrieve an ML Model","sidebarTitle":"Retrieve an ML Model","api":"GET /v1/mlmodels/{id}","href":"/v1.13.x/api-reference/data-assets/mlmodels/retrieve"},{"title":"Update an ML Model","sidebarTitle":"Update an ML Model","api":"PUT /v1/mlmodels","href":"/v1.13.x/api-reference/data-assets/mlmodels/update"},{"title":"ML Model Versions","sidebarTitle":"ML Model Versions","api":"GET /v1/mlmodels/{id}/versions","href":"/v1.13.x/api-reference/data-assets/mlmodels/versions"}]},{"group":"Pipeline Services","pages":[{"title":"Pipeline Services","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/pipeline-services"},{"title":"Create a Pipeline Service","sidebarTitle":"Create a Pipeline Service","api":"POST /v1/services/pipelineServices","href":"/v1.13.x/api-reference/data-assets/pipeline-services/create"},{"title":"Delete a Pipeline Service","sidebarTitle":"Delete a Pipeline Service","api":"DELETE /v1/services/pipelineServices/{id}","href":"/v1.13.x/api-reference/data-assets/pipeline-services/delete"},{"title":"Import \u0026 Export Pipeline Services","sidebarTitle":"Import \u0026 Export Pipeline Services","api":"GET /v1/services/pipelineServices/name/{fqn}/export","href":"/v1.13.x/api-reference/data-assets/pipeline-services/import-export"},{"title":"List Pipeline Services","sidebarTitle":"List Pipeline Services","api":"GET /v1/services/pipelineServices","href":"/v1.13.x/api-reference/data-assets/pipeline-services/list"},{"title":"Retrieve a Pipeline Service","sidebarTitle":"Retrieve a Pipeline Service","api":"GET /v1/services/pipelineServices/{id}","href":"/v1.13.x/api-reference/data-assets/pipeline-services/retrieve"},{"title":"Update a Pipeline Service","sidebarTitle":"Update a Pipeline Service","api":"PUT /v1/services/pipelineServices","href":"/v1.13.x/api-reference/data-assets/pipeline-services/update"},{"title":"Pipeline Service Versions","sidebarTitle":"Pipeline Service Versions","api":"GET /v1/services/pipelineServices/{id}/versions","href":"/v1.13.x/api-reference/data-assets/pipeline-services/versions"}]},{"group":"Pipelines","pages":[{"title":"Pipelines","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/pipelines"},{"title":"Create a Pipeline","sidebarTitle":"Create a Pipeline","api":"POST /v1/pipelines","href":"/v1.13.x/api-reference/data-assets/pipelines/create"},{"title":"Delete a Pipeline","sidebarTitle":"Delete a Pipeline","api":"DELETE /v1/pipelines/{id}","href":"/v1.13.x/api-reference/data-assets/pipelines/delete"},{"title":"Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/pipelines/{id}/followers","href":"/v1.13.x/api-reference/data-assets/pipelines/followers-votes"},{"title":"List Pipelines","sidebarTitle":"List Pipelines","api":"GET /v1/pipelines","href":"/v1.13.x/api-reference/data-assets/pipelines/list"},{"title":"Retrieve a Pipeline","sidebarTitle":"Retrieve a Pipeline","api":"GET /v1/pipelines/{id}","href":"/v1.13.x/api-reference/data-assets/pipelines/retrieve"},{"title":"Update a Pipeline","sidebarTitle":"Update a Pipeline","api":"PUT /v1/pipelines","href":"/v1.13.x/api-reference/data-assets/pipelines/update"},{"title":"Pipeline Versions","sidebarTitle":"Pipeline Versions","api":"GET /v1/pipelines/{id}/versions","href":"/v1.13.x/api-reference/data-assets/pipelines/versions"}]},{"group":"Search Indexes","pages":[{"title":"Search Indexes","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/search-indexes"},{"title":"Create a Search Index","sidebarTitle":"Create a Search Index","api":"POST /v1/searchIndexes","href":"/v1.13.x/api-reference/data-assets/search-indexes/create"},{"title":"Delete a Search Index","sidebarTitle":"Delete a Search Index","api":"DELETE /v1/searchIndexes/{id}","href":"/v1.13.x/api-reference/data-assets/search-indexes/delete"},{"title":"Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/searchIndexes/{id}/followers","href":"/v1.13.x/api-reference/data-assets/search-indexes/followers-votes"},{"title":"List Search Indexes","sidebarTitle":"List Search Indexes","api":"GET /v1/searchIndexes","href":"/v1.13.x/api-reference/data-assets/search-indexes/list"},{"title":"Retrieve a Search Index","sidebarTitle":"Retrieve a Search Index","api":"GET /v1/searchIndexes/{id}","href":"/v1.13.x/api-reference/data-assets/search-indexes/retrieve"},{"title":"Update a Search Index","sidebarTitle":"Update a Search Index","api":"PUT /v1/searchIndexes","href":"/v1.13.x/api-reference/data-assets/search-indexes/update"},{"title":"Search Index Versions","sidebarTitle":"Search Index Versions","api":"GET /v1/searchIndexes/{id}/versions","href":"/v1.13.x/api-reference/data-assets/search-indexes/versions"}]},{"group":"Storage Services","pages":[{"title":"Storage Services","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/storage-services"},{"title":"Create a Storage Service","sidebarTitle":"Create a Storage Service","api":"POST /v1/services/storageServices","href":"/v1.13.x/api-reference/data-assets/storage-services/create"},{"title":"Delete a Storage Service","sidebarTitle":"Delete a Storage Service","api":"DELETE /v1/services/storageServices/{id}","href":"/v1.13.x/api-reference/data-assets/storage-services/delete"},{"title":"List Storage Services","sidebarTitle":"List Storage Services","api":"GET /v1/services/storageServices","href":"/v1.13.x/api-reference/data-assets/storage-services/list"},{"title":"Retrieve a Storage Service","sidebarTitle":"Retrieve a Storage Service","api":"GET /v1/services/storageServices/{id}","href":"/v1.13.x/api-reference/data-assets/storage-services/retrieve"},{"title":"Update a Storage Service","sidebarTitle":"Update a Storage Service","api":"PUT /v1/services/storageServices","href":"/v1.13.x/api-reference/data-assets/storage-services/update"},{"title":"Storage Service Versions","sidebarTitle":"Storage Service Versions","api":"GET /v1/services/storageServices/{id}/versions","href":"/v1.13.x/api-reference/data-assets/storage-services/versions"}]},{"group":"Stored Procedures","pages":[{"title":"Stored Procedures","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/stored-procedures"},{"title":"Create a Stored Procedure","sidebarTitle":"Create a Stored Procedure","api":"POST /v1/storedProcedures","href":"/v1.13.x/api-reference/data-assets/stored-procedures/create"},{"title":"Delete a Stored Procedure","sidebarTitle":"Delete a Stored Procedure","api":"DELETE /v1/storedProcedures/{id}","href":"/v1.13.x/api-reference/data-assets/stored-procedures/delete"},{"title":"Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/storedProcedures/{id}/followers","href":"/v1.13.x/api-reference/data-assets/stored-procedures/followers-votes"},{"title":"List Stored Procedures","sidebarTitle":"List Stored Procedures","api":"GET /v1/storedProcedures","href":"/v1.13.x/api-reference/data-assets/stored-procedures/list"},{"title":"Retrieve a Stored Procedure","sidebarTitle":"Retrieve a Stored Procedure","api":"GET /v1/storedProcedures/{id}","href":"/v1.13.x/api-reference/data-assets/stored-procedures/retrieve"},{"title":"Update a Stored Procedure","sidebarTitle":"Update a Stored Procedure","api":"PUT /v1/storedProcedures","href":"/v1.13.x/api-reference/data-assets/stored-procedures/update"},{"title":"Stored Procedure Versions","sidebarTitle":"Stored Procedure Versions","api":"GET /v1/storedProcedures/{id}/versions","href":"/v1.13.x/api-reference/data-assets/stored-procedures/versions"}]},{"group":"Tables","pages":[{"title":"Tables","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/tables"},{"title":"Create a Table","sidebarTitle":"Create a Table","api":"POST /v1/tables","href":"/v1.13.x/api-reference/data-assets/tables/create"},{"title":"Custom Metrics","sidebarTitle":"Custom Metrics","api":"PUT /v1/tables/{id}/customMetric","href":"/v1.13.x/api-reference/data-assets/tables/custom-metrics"},{"title":"Delete a Table","sidebarTitle":"Delete a Table","api":"DELETE /v1/tables/{id}","href":"/v1.13.x/api-reference/data-assets/tables/delete"},{"title":"Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/tables/{id}/followers","href":"/v1.13.x/api-reference/data-assets/tables/followers-votes"},{"title":"Import \u0026 Export Tables","sidebarTitle":"Import \u0026 Export Tables","api":"GET /v1/tables/name/{fqn}/export","href":"/v1.13.x/api-reference/data-assets/tables/import-export"},{"title":"List Tables","sidebarTitle":"List Tables","api":"GET /v1/tables","href":"/v1.13.x/api-reference/data-assets/tables/list"},{"title":"Pipeline Observability","sidebarTitle":"Pipeline Observability","api":"GET /v1/tables/{id}/pipelineObservability","href":"/v1.13.x/api-reference/data-assets/tables/observability"},{"title":"Table Profiler","sidebarTitle":"Table Profiler","api":"GET /v1/tables/{id}/tableProfilerConfig","href":"/v1.13.x/api-reference/data-assets/tables/profiler"},{"title":"Table Relationships","sidebarTitle":"Table Relationships","api":"PUT /v1/tables/{id}/joins","href":"/v1.13.x/api-reference/data-assets/tables/relationships"},{"title":"Retrieve a Table","sidebarTitle":"Retrieve a Table","api":"GET /v1/tables/{id}","href":"/v1.13.x/api-reference/data-assets/tables/retrieve"},{"title":"Table Sample Data","sidebarTitle":"Table Sample Data","api":"GET /v1/tables/{id}/sampleData","href":"/v1.13.x/api-reference/data-assets/tables/sample-data"},{"title":"Update a Table","sidebarTitle":"Update a Table","api":"PUT /v1/tables","href":"/v1.13.x/api-reference/data-assets/tables/update"},{"title":"Table Versions","sidebarTitle":"Table Versions","api":"GET /v1/tables/{id}/versions","href":"/v1.13.x/api-reference/data-assets/tables/versions"}]},{"group":"Topics","pages":[{"title":"Topics","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-assets/topics"},{"title":"Create a Topic","sidebarTitle":"Create a Topic","api":"POST /v1/topics","href":"/v1.13.x/api-reference/data-assets/topics/create"},{"title":"Delete a Topic","sidebarTitle":"Delete a Topic","api":"DELETE /v1/topics/{id}","href":"/v1.13.x/api-reference/data-assets/topics/delete"},{"title":"Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/topics/{id}/followers","href":"/v1.13.x/api-reference/data-assets/topics/followers-votes"},{"title":"List Topics","sidebarTitle":"List Topics","api":"GET /v1/topics","href":"/v1.13.x/api-reference/data-assets/topics/list"},{"title":"Retrieve a Topic","sidebarTitle":"Retrieve a Topic","api":"GET /v1/topics/{id}","href":"/v1.13.x/api-reference/data-assets/topics/retrieve"},{"title":"Update a Topic","sidebarTitle":"Update a Topic","api":"PUT /v1/topics","href":"/v1.13.x/api-reference/data-assets/topics/update"},{"title":"Topic Versions","sidebarTitle":"Topic Versions","api":"GET /v1/topics/{id}/versions","href":"/v1.13.x/api-reference/data-assets/topics/versions"}]}]},{"group":"AI SDK","pages":[{"title":"AI SDK","sidebarTitle":"AI SDK","href":"/v1.13.x/sdk/ai-sdk"}]},{"group":"SDK","pages":[{"title":"OpenMetadata SDK | OpenMetadata Software Development Kit","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/sdk"},{"title":"OpenMetadata Standards","href":"/v1.13.x/api-reference/sdk/openmetadata-standards"},{"group":"Go SDK","pages":[{"title":"Go SDK","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/sdk/go"},{"title":"Go SDK - API Methods","sidebarTitle":"API Methods","href":"/v1.13.x/api-reference/sdk/go-api-methods"}]},{"group":"Python","pages":[{"title":"Python SDK | OpenMetadata Python SDK Documentation","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/sdk/python"},{"title":"Python SDK Overview","sidebarTitle":"Original Client and SDK 2.0","href":"/v1.13.x/api-reference/sdk/python/overview"},{"group":"API Reference","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/sdk/python/api-reference"},{"title":"Aut Provider","sidebarTitle":"Auth Provider","href":"/v1.13.x/api-reference/sdk/python/api-reference/auth-provider"},{"title":"Client Utils","sidebarTitle":"Client Utils","href":"/v1.13.x/api-reference/sdk/python/api-reference/client-utils"},{"title":"Client","sidebarTitle":"Client","href":"/v1.13.x/api-reference/sdk/python/api-reference/client"},{"title":"Credentials","sidebarTitle":"Credentials","href":"/v1.13.x/api-reference/sdk/python/api-reference/credentials"},{"title":"Dashboard Mixin","sidebarTitle":"Dashboard Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/dashboard-mixin"},{"title":"Data Insight Mixin","sidebarTitle":"Data Insight Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/data-insight-mixin"},{"title":"ES Mixin","sidebarTitle":"ES Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/es-mixin"},{"title":"Ingestion Pipeline Mixin","sidebarTitle":"Ingestion Pipeline Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/ingestion-pipeline-mixin"},{"title":"Lineage Mixin","sidebarTitle":"Lineage Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/lineage-mixin"},{"title":"ML Model Mixin","sidebarTitle":"ML Model Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/mlmodel-mixin"},{"title":"Models","sidebarTitle":"Models","href":"/v1.13.x/api-reference/sdk/python/api-reference/models"},{"title":"Ometa API","sidebarTitle":"Ometa API","href":"/v1.13.x/api-reference/sdk/python/api-reference/ometa-api"},{"title":"Patch Mixin Utils","sidebarTitle":"Patch Mixin Utils","href":"/v1.13.x/api-reference/sdk/python/api-reference/patch-mixin-utils"},{"title":"Patch Mixin","sidebarTitle":"Patch mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/patch-mixin"},{"title":"Pipeline Mixin","sidebarTitle":"Pipeline mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/pipeline-mixin"},{"title":"Provider Registry","sidebarTitle":"Provider Registry","href":"/v1.13.x/api-reference/sdk/python/api-reference/provider-registry"},{"title":"Query Mixin","sidebarTitle":"Query Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/query-mixin"},{"title":"Role Policy Mixin","sidebarTitle":"Role policy mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/role-policy-mixin"},{"title":"Routes","sidebarTitle":"Routes","href":"/v1.13.x/api-reference/sdk/python/api-reference/routes"},{"title":"Search Index Mixin","sidebarTitle":"Search Index Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/search-index-mixin"},{"title":"Server Mixin","sidebarTitle":"Server Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/server-mixin"},{"title":"Service Mixin","sidebarTitle":"Service Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/service-mixin"},{"title":"Table Mixin","sidebarTitle":"Table Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/table-mixin"},{"title":"Test Mixin","sidebarTitle":"Tests Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/tests-mixin"},{"title":"Topic Mixin","sidebarTitle":"Topic Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/topic-mixin"},{"title":"User Mixin","sidebarTitle":"User Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/user-mixin"},{"title":"Utils","sidebarTitle":"Utils Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/utils"},{"title":"version Mixin","sidebarTitle":"Version Mixin","href":"/v1.13.x/api-reference/sdk/python/api-reference/version-mixin"}]},{"group":"Build Connector","pages":[{"title":"Build a Connector","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/sdk/python/build-connector"},{"title":"Bulk Sink","sidebarTitle":"Bulk Sink","href":"/v1.13.x/api-reference/sdk/python/build-connector/bulk-sink"},{"title":"Sink","sidebarTitle":"Sink","href":"/v1.13.x/api-reference/sdk/python/build-connector/sink"},{"title":"Source","sidebarTitle":"Source","href":"/v1.13.x/api-reference/sdk/python/build-connector/source"},{"title":"Stage","sidebarTitle":"Stage","href":"/v1.13.x/api-reference/sdk/python/build-connector/stage"}]},{"group":"Entities","pages":[{"title":"Python SDK Entities | OpenMetadata Python Entities","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/sdk/python/entities"},{"title":"ML Model | OpenMetadata Machine Learning Model SDK","sidebarTitle":"ML Model","href":"/v1.13.x/api-reference/sdk/python/entities/ml-model"}]},{"group":"Ingestion","pages":[{"title":"Python SDK Ingestion","sidebarTitle":"Overview","description":null,"href":"/v1.13.x/api-reference/sdk/python/ingestion"},{"title":"Python SDK for Lineage","sidebarTitle":"Lineage","href":"/v1.13.x/api-reference/sdk/python/ingestion/lineage"},{"title":"Python SDK for Tags","sidebarTitle":"Tags","description":null,"href":"/v1.13.x/api-reference/sdk/python/ingestion/tags"}]}]}]},{"group":"Discovery","pages":[{"title":"Discovery","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/discovery"},{"title":"Field Query","sidebarTitle":"Field Query","api":"GET /v1/search/fieldQuery","href":"/v1.13.x/api-reference/discovery/field-query"},{"title":"Search Entities","sidebarTitle":"Search Entities","api":"GET /v1/search/query","href":"/v1.13.x/api-reference/discovery/search"}]},{"group":"Lineage","pages":[{"title":"Lineage","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/lineage/index"},{"title":"Get Lineage","sidebarTitle":"Get Lineage","api":"GET /v1/lineage/{entityType}/{id}","href":"/v1.13.x/api-reference/lineage/get"},{"title":"Add Lineage","sidebarTitle":"Add Lineage","api":"PUT /v1/lineage","href":"/v1.13.x/api-reference/lineage/add"},{"title":"Delete Lineage","sidebarTitle":"Delete Lineage","api":"DELETE /v1/lineage/{fromEntity}/{fromId}/{toEntity}/{toId}","href":"/v1.13.x/api-reference/lineage/delete"},{"title":"Export Lineage","sidebarTitle":"Export Lineage","api":"GET /v1/lineage/export","href":"/v1.13.x/api-reference/lineage/export"}]},{"group":"Data Contracts","pages":[{"title":"Data Contracts","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-contracts"},{"title":"Create a Data Contract","sidebarTitle":"Create a Data Contract","api":"POST /v1/dataContracts","href":"/v1.13.x/api-reference/data-contracts/create"},{"title":"Delete a Data Contract","sidebarTitle":"Delete a Data Contract","api":"DELETE /v1/dataContracts/{id}","href":"/v1.13.x/api-reference/data-contracts/delete"},{"title":"List Data Contracts","sidebarTitle":"List Data Contracts","api":"GET /v1/dataContracts","href":"/v1.13.x/api-reference/data-contracts/list"},{"title":"Import \u0026 Export","sidebarTitle":"Import \u0026 Export","api":"GET /v1/dataContracts/{id}/odcs","href":"/v1.13.x/api-reference/data-contracts/odcs"},{"title":"Retrieve a Data Contract","sidebarTitle":"Retrieve a Data Contract","api":"GET /v1/dataContracts/{id}","href":"/v1.13.x/api-reference/data-contracts/retrieve"},{"title":"Update a Data Contract","sidebarTitle":"Update a Data Contract","api":"PUT /v1/dataContracts","href":"/v1.13.x/api-reference/data-contracts/update"},{"title":"Validate \u0026 Results","sidebarTitle":"Validate \u0026 Results","api":"POST /v1/dataContracts/{id}/validate","href":"/v1.13.x/api-reference/data-contracts/validate"},{"title":"Data Contract Versions","sidebarTitle":"Data Contract Versions","api":"GET /v1/dataContracts/{id}/versions","href":"/v1.13.x/api-reference/data-contracts/versions"}]},{"group":"Teams And Users","pages":[{"title":"Teams \u0026 Users","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/teams-and-users"},{"group":"Teams","pages":[{"title":"Teams","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/teams-and-users/teams"},{"title":"Create a Team","sidebarTitle":"Create a Team","api":"POST /v1/teams","href":"/v1.13.x/api-reference/teams-and-users/teams/create"},{"title":"Delete a Team","sidebarTitle":"Delete a Team","api":"DELETE /v1/teams/{id}","href":"/v1.13.x/api-reference/teams-and-users/teams/delete"},{"title":"List Teams","sidebarTitle":"List Teams","api":"GET /v1/teams","href":"/v1.13.x/api-reference/teams-and-users/teams/list"},{"title":"Retrieve a Team","sidebarTitle":"Retrieve a Team","api":"GET /v1/teams/{id}","href":"/v1.13.x/api-reference/teams-and-users/teams/retrieve"},{"title":"Update a Team","sidebarTitle":"Update a Team","api":"PUT /v1/teams","href":"/v1.13.x/api-reference/teams-and-users/teams/update"},{"title":"Team Versions","sidebarTitle":"Team Versions","api":"GET /v1/teams/{id}/versions","href":"/v1.13.x/api-reference/teams-and-users/teams/versions"}]},{"group":"Users","pages":[{"title":"Users","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/teams-and-users/users"},{"title":"Create a User","sidebarTitle":"Create a User","api":"POST /v1/users","href":"/v1.13.x/api-reference/teams-and-users/users/create"},{"title":"Delete a User","sidebarTitle":"Delete a User","api":"DELETE /v1/users/{id}","href":"/v1.13.x/api-reference/teams-and-users/users/delete"},{"title":"List Users","sidebarTitle":"List Users","api":"GET /v1/users","href":"/v1.13.x/api-reference/teams-and-users/users/list"},{"title":"Retrieve a User","sidebarTitle":"Retrieve a User","api":"GET /v1/users/{id}","href":"/v1.13.x/api-reference/teams-and-users/users/retrieve"},{"title":"Update a User","sidebarTitle":"Update a User","api":"PUT /v1/users","href":"/v1.13.x/api-reference/teams-and-users/users/update"},{"title":"User Versions","sidebarTitle":"User Versions","api":"GET /v1/users/{id}/versions","href":"/v1.13.x/api-reference/teams-and-users/users/versions"}]}]},{"group":"Data Governance","pages":[{"title":"Governance","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/governance"},{"group":"Classifications","pages":[{"title":"Classifications","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/governance/classifications"},{"title":"Create a Classification","sidebarTitle":"Create a Classification","api":"POST /v1/classifications","href":"/v1.13.x/api-reference/governance/classifications/create"},{"title":"Delete a Classification","sidebarTitle":"Delete a Classification","api":"DELETE /v1/classifications/{id}","href":"/v1.13.x/api-reference/governance/classifications/delete"},{"title":"List Classifications","sidebarTitle":"List Classifications","api":"GET /v1/classifications","href":"/v1.13.x/api-reference/governance/classifications/list"},{"title":"Retrieve a Classification","sidebarTitle":"Retrieve a Classification","api":"GET /v1/classifications/{id}","href":"/v1.13.x/api-reference/governance/classifications/retrieve"},{"title":"Update a Classification","sidebarTitle":"Update a Classification","api":"PUT /v1/classifications","href":"/v1.13.x/api-reference/governance/classifications/update"},{"title":"Classification Versions","sidebarTitle":"Classification Versions","api":"GET /v1/classifications/{id}/versions","href":"/v1.13.x/api-reference/governance/classifications/versions"}]},{"group":"Data Products","pages":[{"title":"Data Products","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/governance/data-products"},{"title":"Create a Data Product","sidebarTitle":"Create a Data Product","api":"POST /v1/dataProducts","href":"/v1.13.x/api-reference/governance/data-products/create"},{"title":"Delete a Data Product","sidebarTitle":"Delete a Data Product","api":"DELETE /v1/dataProducts/{id}","href":"/v1.13.x/api-reference/governance/data-products/delete"},{"title":"List Data Products","sidebarTitle":"List Data Products","api":"GET /v1/dataProducts","href":"/v1.13.x/api-reference/governance/data-products/list"},{"title":"Ports \u0026 Assets","sidebarTitle":"Ports \u0026 Assets","api":"PUT /v1/dataProducts/{fqn}/assets/add","href":"/v1.13.x/api-reference/governance/data-products/ports-assets"},{"title":"Retrieve a Data Product","sidebarTitle":"Retrieve a Data Product","api":"GET /v1/dataProducts/{id}","href":"/v1.13.x/api-reference/governance/data-products/retrieve"},{"title":"Update a Data Product","sidebarTitle":"Update a Data Product","api":"PUT /v1/dataProducts","href":"/v1.13.x/api-reference/governance/data-products/update"},{"title":"Data Product Versions","sidebarTitle":"Data Product Versions","api":"GET /v1/dataProducts/{id}/versions","href":"/v1.13.x/api-reference/governance/data-products/versions"}]},{"group":"Domains","pages":[{"title":"Domains","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/governance/domains"},{"title":"Create a Domain","sidebarTitle":"Create a Domain","api":"POST /v1/domains","href":"/v1.13.x/api-reference/governance/domains/create"},{"title":"Delete a Domain","sidebarTitle":"Delete a Domain","api":"DELETE /v1/domains/{id}","href":"/v1.13.x/api-reference/governance/domains/delete"},{"title":"List Domains","sidebarTitle":"List Domains","api":"GET /v1/domains","href":"/v1.13.x/api-reference/governance/domains/list"},{"title":"Retrieve a Domain","sidebarTitle":"Retrieve a Domain","api":"GET /v1/domains/{id}","href":"/v1.13.x/api-reference/governance/domains/retrieve"},{"title":"Update a Domain","sidebarTitle":"Update a Domain","api":"PUT /v1/domains","href":"/v1.13.x/api-reference/governance/domains/update"},{"title":"Domain Versions","sidebarTitle":"Domain Versions","api":"GET /v1/domains/{id}/versions","href":"/v1.13.x/api-reference/governance/domains/versions"}]},{"group":"Glossaries","pages":[{"title":"Glossaries","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/governance/glossaries"},{"title":"Create a Glossary","sidebarTitle":"Create a Glossary","api":"POST /v1/glossaries","href":"/v1.13.x/api-reference/governance/glossaries/create"},{"title":"Delete a Glossary","sidebarTitle":"Delete a Glossary","api":"DELETE /v1/glossaries/{id}","href":"/v1.13.x/api-reference/governance/glossaries/delete"},{"title":"List Glossaries","sidebarTitle":"List Glossaries","api":"GET /v1/glossaries","href":"/v1.13.x/api-reference/governance/glossaries/list"},{"title":"Retrieve a Glossary","sidebarTitle":"Retrieve a Glossary","api":"GET /v1/glossaries/{id}","href":"/v1.13.x/api-reference/governance/glossaries/retrieve"},{"title":"Update a Glossary","sidebarTitle":"Update a Glossary","api":"PUT /v1/glossaries","href":"/v1.13.x/api-reference/governance/glossaries/update"},{"title":"Glossary Versions","sidebarTitle":"Glossary Versions","api":"GET /v1/glossaries/{id}/versions","href":"/v1.13.x/api-reference/governance/glossaries/versions"}]},{"group":"Glossary Terms","pages":[{"title":"Glossary Terms","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/governance/glossary-terms"},{"title":"Create a Glossary Term","sidebarTitle":"Create a Glossary Term","api":"POST /v1/glossaryTerms","href":"/v1.13.x/api-reference/governance/glossary-terms/create"},{"title":"Delete a Glossary Term","sidebarTitle":"Delete a Glossary Term","api":"DELETE /v1/glossaryTerms/{id}","href":"/v1.13.x/api-reference/governance/glossary-terms/delete"},{"title":"List Glossary Terms","sidebarTitle":"List Glossary Terms","api":"GET /v1/glossaryTerms","href":"/v1.13.x/api-reference/governance/glossary-terms/list"},{"title":"Retrieve a Glossary Term","sidebarTitle":"Retrieve a Glossary Term","api":"GET /v1/glossaryTerms/{id}","href":"/v1.13.x/api-reference/governance/glossary-terms/retrieve"},{"title":"Update a Glossary Term","sidebarTitle":"Update a Glossary Term","api":"PUT /v1/glossaryTerms","href":"/v1.13.x/api-reference/governance/glossary-terms/update"},{"title":"Glossary Term Versions","sidebarTitle":"Glossary Term Versions","api":"GET /v1/glossaryTerms/{id}/versions","href":"/v1.13.x/api-reference/governance/glossary-terms/versions"}]},{"group":"Tags","pages":[{"title":"Tags","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/governance/tags"},{"title":"Create a Tag","sidebarTitle":"Create a Tag","api":"POST /v1/tags","href":"/v1.13.x/api-reference/governance/tags/create"},{"title":"Delete a Tag","sidebarTitle":"Delete a Tag","api":"DELETE /v1/tags/{id}","href":"/v1.13.x/api-reference/governance/tags/delete"},{"title":"List Tags","sidebarTitle":"List Tags","api":"GET /v1/tags","href":"/v1.13.x/api-reference/governance/tags/list"},{"title":"Retrieve a Tag","sidebarTitle":"Retrieve a Tag","api":"GET /v1/tags/{id}","href":"/v1.13.x/api-reference/governance/tags/retrieve"},{"title":"Update a Tag","sidebarTitle":"Update a Tag","api":"PUT /v1/tags","href":"/v1.13.x/api-reference/governance/tags/update"},{"title":"Tag Versions","sidebarTitle":"Tag Versions","api":"GET /v1/tags/{id}/versions","href":"/v1.13.x/api-reference/governance/tags/versions"}]}]},{"group":"Data Quality","pages":[{"title":"Data Quality","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-quality"},{"group":"Test Cases","pages":[{"title":"Test Cases","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-quality/test-cases"},{"title":"Create a Test Case","sidebarTitle":"Create a Test Case","api":"POST /v1/dataQuality/testCases","href":"/v1.13.x/api-reference/data-quality/test-cases/create"},{"title":"Delete a Test Case","sidebarTitle":"Delete a Test Case","api":"DELETE /v1/dataQuality/testCases/{id}","href":"/v1.13.x/api-reference/data-quality/test-cases/delete"},{"title":"List Test Cases","sidebarTitle":"List Test Cases","api":"GET /v1/dataQuality/testCases","href":"/v1.13.x/api-reference/data-quality/test-cases/list"},{"title":"Test Case Results","sidebarTitle":"Test Case Results","api":"GET /v1/dataQuality/testCases/testCaseResults/{fqn}","href":"/v1.13.x/api-reference/data-quality/test-cases/results"},{"title":"Retrieve a Test Case","sidebarTitle":"Retrieve a Test Case","api":"GET /v1/dataQuality/testCases/{id}","href":"/v1.13.x/api-reference/data-quality/test-cases/retrieve"},{"title":"Update a Test Case","sidebarTitle":"Update a Test Case","api":"PUT /v1/dataQuality/testCases","href":"/v1.13.x/api-reference/data-quality/test-cases/update"},{"title":"Test Case Versions","sidebarTitle":"Test Case Versions","api":"GET /v1/dataQuality/testCases/{id}/versions","href":"/v1.13.x/api-reference/data-quality/test-cases/versions"}]},{"group":"Test Definitions","pages":[{"title":"Test Definitions","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-quality/test-definitions"},{"title":"Create a Test Definition","sidebarTitle":"Create a Test Definition","api":"POST /v1/dataQuality/testDefinitions","href":"/v1.13.x/api-reference/data-quality/test-definitions/create"},{"title":"List Test Definitions","sidebarTitle":"List Test Definitions","api":"GET /v1/dataQuality/testDefinitions","href":"/v1.13.x/api-reference/data-quality/test-definitions/list"},{"title":"Retrieve a Test Definition","sidebarTitle":"Retrieve a Test Definition","api":"GET /v1/dataQuality/testDefinitions/{id}","href":"/v1.13.x/api-reference/data-quality/test-definitions/retrieve"}]},{"group":"Test Suites","pages":[{"title":"Test Suites","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/data-quality/test-suites"},{"title":"Create a Test Suite","sidebarTitle":"Create a Test Suite","api":"POST /v1/dataQuality/testSuites","href":"/v1.13.x/api-reference/data-quality/test-suites/create"},{"title":"Delete a Test Suite","sidebarTitle":"Delete a Test Suite","api":"DELETE /v1/dataQuality/testSuites/{id}","href":"/v1.13.x/api-reference/data-quality/test-suites/delete"},{"title":"List Test Suites","sidebarTitle":"List Test Suites","api":"GET /v1/dataQuality/testSuites","href":"/v1.13.x/api-reference/data-quality/test-suites/list"},{"title":"Retrieve a Test Suite","sidebarTitle":"Retrieve a Test Suite","api":"GET /v1/dataQuality/testSuites/{id}","href":"/v1.13.x/api-reference/data-quality/test-suites/retrieve"},{"title":"Update a Test Suite","sidebarTitle":"Update a Test Suite","api":"PUT /v1/dataQuality/testSuites","href":"/v1.13.x/api-reference/data-quality/test-suites/update"},{"title":"Test Suite Versions","sidebarTitle":"Test Suite Versions","api":"GET /v1/dataQuality/testSuites/{id}/versions","href":"/v1.13.x/api-reference/data-quality/test-suites/versions"}]}]},{"group":"Main Concepts","pages":[{"title":"Main Concepts | OpenMetadata Core Concepts Overview","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/main-concepts"},{"title":"High Level Design | OpenMetadata Architecture Overview","sidebarTitle":"High Level Design","href":"/v1.13.x/api-reference/main-concepts/high-level-design"},{"title":"Backend DB","sidebarTitle":"Backend DB","href":"/v1.13.x/api-reference/main-concepts/backend-db"},{"group":"Metadata Standard","pages":[{"title":"Metadata Standard | OpenMetadata Core Schema Guide","sidebarTitle":"Overview","href":"/v1.13.x/api-reference/main-concepts/metadata-standard"},{"title":"APIs | OpenMetadata Metadata Standard APIs","sidebarTitle":"APIs","href":"/v1.13.x/api-reference/main-concepts/metadata-standard/apis"}]}]}]}]},{"version":"v2.1.x-SNAPSHOT","pages":[{"title":"v2.1.x-SNAPSHOT","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/ingestion/lineage"}]}]},"title":"Python SDK for Lineage - OpenMetadata Documentation","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BNnMwe0F.js","lightbox-handle-r17bVUz3.js"]}