Learn to implement data lineage tracking with OpenMetadata’sPython SDK. Complete guide with code examples, API usage, and best practices for data flow …
Python SDK for Lineage
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.
Creating the Entities
To prepare the necessary ingredients, execute the following steps.All functions that we are going to use related to Lineage can be found here.
1. Preparing the Client
from metadata.sdk import configureconfigure( host="http://localhost:8585/api", jwt_token="<token>",)
2. Creating the Database Service
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).
Lineage Details
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)
Column Level Lineage
We can start by linking our columns together. For that we are going to create:
A ColumnLineage object, linking our Table A column ID -> Table C column ID. Note that this can be a list!
A LineageDetails object, passing the column lineage and the SQL query that powers the transformation.
This information will now be reflected in the UI as well:
Adding a Pipeline Reference
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:
With these ingredients ready, we can then follow the code above and add there a pipeline argument
as an Entity Reference:
lineage_details = LineageDetails( sqlQuery="SELECT * FROM AWESOME", columnsLineage=[column_lineage], pipeline=EntityReference(id=pipeline_entity.id, type="pipeline"),)
The UI currently supports showing the column lineage information. Data about the SQL queries and the Pipeline Entities
will be surfaced soon. Thanks!
Automated SQL Lineage
To have lineage generated from a SQL query, call add_lineage_by_query. metadata.sdk.api.Lineage doesn’t expose it,
but the client returned by configure(...) does, through its ometa property. This is the same call the
CLI makes.
from metadata.sdk import configurefrom metadata.generated.schema.entity.services.databaseService import DatabaseServiceometa = configure( host="http://localhost:8585/api", jwt_token="<token>",).ometadatabase_service = ometa.get_by_name(entity=DatabaseService, fqn="local_mysql")if database_service is None: raise ValueError("Database service local_mysql not found")ometa.add_lineage_by_query( database_service=database_service, sql="INSERT INTO target_table (id) SELECT id FROM source_table", database_name="my_db", # Optional: database for table names without one schema_name="my_schema", # Optional: schema for table names without one timeout=300, # Parsing timeout in seconds check_patch=True,)
This example creates lineage from source_table to target_table within the local_mysql database service.add_lineage_by_query takes these parameters:
database_service: The database service that contains the tables in the query. The SQL dialect is taken from its service type.
sql: The query to parse.
database_name and schema_name: (Optional) The database and schema to use for table names that the query doesn’t qualify.
timeout: Timeout for the lineage parsing process, in seconds.
check_patch: Defaults to False. The CLI sets it to True.
add_lineage_by_query returns None and doesn’t raise on failure. Parsing and API errors are only logged, so enable
logging to see them. Check that get_by_name found the service before calling it: when database_service is None,
the method does nothing.
Automated SQL Lineage via CLI
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) 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":""},"feedback":{"thumbs":true,"issues":true,"edits":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af72b4e3b5d1dd9e7c742f7","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"default","tag":"Connectors","count":1126},{"language":"default","tag":"Connector","count":1033},{"language":"default","tag":"SDK \u0026 APIs","count":902},{"language":"default","tag":"Deployment","count":628},{"language":"default","tag":"Database","count":550},{"language":"default","tag":"Data Assets","count":432},{"language":"default","tag":"Data Governance","count":303},{"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":"custom-rbac-roles","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"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,\n Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:var(--default-text-color);margin:0;font-size:16px;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 0px 0px 0px;color:#414651}h1{font-size:36px;line-height:44px;color:#222244!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}h6{font-size:16px;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:0px;margin-left:16px}pre{border-radius:6px;background-color:var(--code-background-color)}pre,code{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}*{scrollbar-width:none}pre::-webkit-scrollbar,code::-webkit-scrollbar{display:none}a.link{color:#6938EF;font-weight:600;text-decoration:none;border:none}a.link:hover{text-decoration:underline}.connector-tab{display:block;width:100%;text-align:start;padding:8px;cursor:pointer;border-radius:4px}.connector-tab:hover{background-color:var(--primary-background-color)}.active-connector{border:0.5px solid var(--select-border-color);background-color:var(--primary-background-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 rgb(194, 128, 255);background-color:rgb(194, 128, 255)}.search-box{height:2.25rem;width:550px;border:1px solid #f4f4f4;border-radius:0.5rem;background-color:#f4f4f4;padding:4px 20px;color:#9e9d9d;display:flex;align-items:center}.search{width:90%;height:90%;border:none;background-color:#f4f4f4;outline:none}.overview-container{width:100vw;display:flex;flex-direction:column;justify-content:center;padding:50px 10%;background:#f4f7ff}.overview-heading{font-weight:700;font-size:22px;line-height:42px;margin-bottom:12px}.container-heading{font-weight:700;font-size:22px;line-height:42px;margin-bottom:40px}.cards-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.blogs-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.homepage-containers{padding:0px 10%;margin:80px 0px 0px 0px}#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:0px;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 0px 0px 0px}}@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:0px!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:0px;height:0px;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 rgb(201, 196, 196);border-radius:10px}.cookie-modal p{color:#292929;font-weight:300}.cookie-modal-buttons{margin-top:2rem;display:flex;gap:0.75rem;justify-content:flex-end}.button{border-radius:1.5rem;padding:0.5rem 2rem;font-size:0.875rem;cursor:pointer;border:none}.button-accept{background-color:#7147E8;color:white}.button-reject{background-color:white;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:0px 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 0.3s ease}#navbar .border-b{border:none}#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 a[href*=\"/how-to-guides/\"],a.mobile-nav-tabs-item[href*=\"/how-to-guides/\"]{display:none!important}#navbar .nav-tabs .nav-tabs-item:hover{color:#181D27;text-decoration:none}#navbar .nav-tabs .nav-tabs-item .absolute{display:none!important}#navbar .nav-tabs .nav-tabs-item.text-primary{color:white;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:white;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:#222244;font-size:22px;font-weight:600}.card{border:none;box-shadow:0px 4px 12px -1px rgba(10, 13, 18, 0.08);transition:all 0.3s ease}.card>*{padding:20px;transition:all 0.3s ease}.card h2{color:#181D27;font-size:18px;line-height:20px}.card:hover{box-shadow:0px 3px 3px -1.5px #0A0D120A,\n 0px 8px 8px -4px #0A0D1208,\n 0px 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\"] svg,.connector-page div[data-component-part=\"card-icon\"] img{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:0px 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{margin:0px}.prod-beta-chip span{margin-top:-7px}#sidebar-content{border:none;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:#222244;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}body:not(:has(.homepage-container)) .mdx-content h1,.products-container h1,.collate-ai-container 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}body:not(:has(.homepage-container)) .mdx-content h1::before,.products-container h1::before,.collate-ai-container 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:0px}body:has(.homepage-container) #search-bar-entry,body:has(.homepage-container) #assistant-entry{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:0px 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 0.2s ease;box-sizing:border-box}.homepage-search-input::placeholder{color:#CECFD2;font-size:18px}.homepage-search-input:hover{background-color:#FFFFFF}.homepage-search-input:focus{outline:none;background-color:#FFFFFF;box-shadow:0 0 0 3px rgba(84, 105, 212, 0.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:white;border-radius:100px;display:flex;justify-content:center}.navbar-link:last-of-type a:hover{background-color:#5f27f8}body:has(.how-to-guides-container) #sidebar-content,body:has(.sdk-container) #sidebar-content,body:has(.connector-page) #sidebar-content,body:has(.getting-started-container) #sidebar-content,body:has(.deployment-page-container) #sidebar-content{display:none}body:has(.how-to-guides-container) #content-container,body:has(.sdk-container) #content-container,body:has(.connector-page) #content-container,body:has(.getting-started-container) #content-container,body:has(.deployment-page-container) #content-container{max-width:1300px!important}.collate-ai-container{margin-top:10px}article iframe,.prose iframe{max-width:600px!important;width:100%!important;margin:0 auto!important;display:block!important;height:auto!important;aspect-ratio:16 / 9!important;border:none!important}@media (max-width: 1024px){.navbar-link:first-of-type{margin-top:20px}article iframe,.prose iframe{max-width:100%!important;width:100%!important;height:auto!important;aspect-ratio:16 / 9!important}}@media (max-width: 768px){article iframe,.prose 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,.sdk-container ul li::before,.python-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:none!important;background-color:#3E444F!important;border-radius:16px!important;backdrop-filter:blur(40px)}.code-block pre,.code-block code,.code-block span{color:#E5E7EB!important;background-color:transparent!important}.code-block pre{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:none}div:has(>#chat-assistant-sheet) .cursor-col-resize{display:none!important}#chat-assistant-sheet{margin-top:0.4rem!important;min-height:90%!important;border:1px solid #EAECF5;border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 12px 16px -4px #0A0D1214;background:#0A0D12;color:rgba(255, 255, 255, 0.9)}.chat-assistant-sheet-header span{color:rgba(255, 255, 255, 0.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:0.875rem;font-weight:600}.chat-assistant-sheet-header svg{width:16px;height:16px;color:rgba(255, 255, 255, 0.8)}#chat-assistant-textarea{background-color:#373A41;border-radius:100px;color:rgba(255, 255, 255, 0.9);padding:12px}#chat-assistant-textarea::placeholder{color:rgba(255, 255, 255, 0.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:none!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, 0.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, 0.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 svg,#assistant-entry span{background:linear-gradient(45deg, #175CD3 0%, #1570EF 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;color:#1570EF}#assistant-entry:hover{background:linear-gradient(45deg, #175CD3 0%, #1570EF 100%)}#assistant-entry:hover svg,#assistant-entry:hover span{background:none;-webkit-background-clip:unset;-webkit-text-fill-color:white;background-clip:unset;color:white}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:none}.deployment-page-container div[data-active=\"true\"],.deployment-page-container div[data-component-part=\"tab-button\"]{border:none}.card-layout{display:flex;gap:24px;padding:20px;box-shadow:0px 2px 7px 0px rgba(169, 169, 169, 0.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:0px}.card-layout .header{font-size:20px;font-weight:600;color:#222244}.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{margin:0px;font-size:15px;color:#414651;font-weight:500;margin-top:8px}.card-layout .button-card{white-space:nowrap;background-color:#5925DC;color:white;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:0px}.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:none!important;background:transparent!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:white!important;position:relative;box-shadow:0px 4px 12px -1px #0A0D1214;border-radius:12px;margin-top:28px;transition:box-shadow 0.2s ease, transform 0.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 16px 32px;padding-right:60px;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:#222244;display:flex;gap:10px;padding:10px 0px!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:0px}button[aria-haspopup=\"menu\"] p{margin:0px}.update-container{display:flex;flex-direction:column!important;padding-top:0px}.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:white;padding:36px 0 8px}"},{"filePath":"style.css","content":".homepage-container{max-width:1440px;margin:0 auto;padding:0px 10px 40px}.collate-ai-iframe{margin:32px 0px 40px}.banner-content{padding:96px 0;background:radial-gradient(46.63% 44.4% at 50% 50%, rgba(201, 207, 255, 0.2) 0%, rgba(255, 255, 255, 0.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:0px 4px 12px -1px rgba(10, 13, 18, 0.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 24px 32px;padding-right:60px;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:0px 4px 12px -1px #0A0D1214;background-color:white;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:0px 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:0px;margin-left:4px;font-size:28px;font-weight:600}.collate-content .explore-collate{background-color:#FBE200;color:black;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:black;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:0 auto;margin-top:52px;max-width:100%}.guide-card{box-shadow:0px 4px 12px -1px rgba(10, 13, 18, 0.08);padding:20px;border-radius:20px;display:flex;flex-direction:column;align-items:center;color:#252B37;font-weight:500;font-size:18px;gap:16px;width:100%;transition:all 0.3s ease;text-align:center}.guide-card:hover{box-shadow:0px 20px 24px -4px #0A0D1214;transform:translateY(-4px);padding:24px;margin:-4px}a.guide-card img{width:80px!important;height:80px!important}.see-all{text-align:center;margin:64px auto 0px;font-size:18px;font-weight:500;box-shadow:0px 2px 2px -1px rgba(10, 13, 18, 0.04),\n 0px 4px 6px -2px rgba(10, 13, 18, 0.03),\n 0px 12px 16px -4px rgba(10, 13, 18, 0.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 0px}.highlight-card{box-shadow:0px 4px 12px -1px rgba(10, 13, 18, 0.08);padding:20px;border-radius:12px;transition:all 0.3s ease}.highlight-card p{font-size:18px;color:#717680}.highlight-card:hover{box-shadow:0px 3px 3px -1.5px rgba(10, 13, 18, 0.04),\n 0px 8px 8px -4px rgba(10, 13, 18, 0.03),\n 0px 20px 24px -4px rgba(10, 13, 18, 0.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}.read-more,.deployment-card .read-more{margin-top:20px;display:flex;gap:10px;align-items:center;color:#6938EF;font-weight:600}.highlight-card:hover .read-more,.deployment-card:hover .read-more{color:#581ef7}.read-more img{margin-top:2px}.deployment-card .read-more{margin-top:auto}.deployment-card img{margin-top:6px}.links{margin:0 auto;margin-top:40px;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-container iframe{width:100%;height:auto;aspect-ratio:16 / 9;display:block;border-radius:20px;border:3px solid #BED2FB}.video{border-radius:20px;border:3px solid #BED2FB;max-width:100%;height:auto;box-shadow:0px 2px 2px -1px rgba(10, 13, 18, 0.04),\n 0px 4px 6px -2px rgba(10, 13, 18, 0.03),\n 0px 12px 16px -4px rgba(10, 13, 18, 0.08)}.video-chip{background-color:rgba(255, 255, 255, 0.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:white;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:0px 4px 12px -8px #0026543D;padding:12px 20px;border-radius:12px;color:#535862;font-size:14px;font-weight:400;transition:all 0.3s ease}.explore-card:hover{box-shadow:0px 3px 3px -1.5px rgba(10, 13, 18, 0.04),\n 0px 8px 8px -4px rgba(10, 13, 18, 0.03),\n 0px 20px 24px -4px rgba(10, 13, 18, 0.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 0px;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:0px}.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 0px 36px}.products-container .home-footer{padding:36px 0px 0px}@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){.video-content{grid-template-columns:repeat(1, 1fr);gap:28px}.explore-container{grid-template-columns:repeat(1, 1fr);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{grid-template-columns:repeat(2, 1fr)}.links{grid-template-columns:repeat(2, 1fr);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{grid-template-columns:repeat(1, 1fr);max-width:auto;justify-items:center}.guide-list{grid-template-columns:repeat(1, 1fr)}.highlight-cards{grid-template-columns:repeat(1, 1fr)}.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:0.5rem 1rem;border-left:2px solid transparent;border-radius:6px;cursor:pointer;position:relative;box-sizing:border-box;transition:background 0.25s ease,\n border-color 0.25s ease,\n box-shadow 0.25s ease}.content-section:hover{background:linear-gradient(\n 90deg,\n rgba(176, 176, 176, 0.08) 0%,\n rgba(176, 176, 176, 0.03) 100%\n );border-left-color:rgba(176, 176, 176, 0.5)}.content-section.active{background:linear-gradient(\n 90deg,\n rgba(176, 176, 176, 0.15) 0%,\n rgba(176, 176, 176, 0.05) 100%\n );border-left-color:#b0b0b0;box-shadow:0 2px 8px rgba(176, 176, 176, 0.1),\n inset 0 0 20px rgba(176, 176, 176, 0.05);color:rgb(63, 65, 69)}.content-section.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(\n 180deg,\n #c0c0c0 0%,\n #b0b0b0 50%,\n #a0a0a0 100%\n )}.content-section h4{margin:0 0 0.75rem 0;font-size:1rem;font-weight:600;color:#1a1a1a}.content-section p{margin:0.5rem 0;line-height:1.6;color:#4a4a4a}.content-section code{background:rgba(0, 0, 0, 0.05);padding:0.2em 0.4em;border-radius:3px;font-size:0.9em}.code-panel{position:sticky;top:calc(var(--navbar-height, 64px) + 6rem);height:calc(\n 100vh - var(--navbar-height, 64px) - 6rem\n );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, 0.1)}.code-panel [data-component-part=\"code-block-root\"]{padding:0rem 1rem}.code-panel .code-block{margin:0}.code-header{display:flex;justify-content:space-between;align-items:center;padding:0.4rem 1rem;background:#0b1e3d;border-bottom:1px solid #404040;color:white;font-size:0.875rem;font-family:'Monaco', 'Menlo', 'Ubuntu Mono', monospace}.copy-btn{display:flex;align-items:center;gap:0.5rem;padding:0.375rem 0.75rem;background:transparent;border:1px solid #404040;border-radius:4px;color:#a0a0a0;cursor:pointer;transition:all 0.2s ease;font-size:0.875rem}.copy-btn:hover{background:#404040;border-color:#606060;color:#fff}.copy-btn svg{width:16px;height:16px}.copy-btn .icon-check{display:none}.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 0px}.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{margin:0;padding:0rem 1rem;background:transparent;color:#d4d4d4;font-family:'Monaco', 'Menlo', 'Ubuntu Mono', monospace;font-size:0.875rem;line-height:1.6;white-space:pre;word-wrap:normal;overflow-wrap:normal;position:relative}.code-content pre code{background:transparent;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 0.2s ease;position:relative;white-space:pre;line-height:inherit;border-left:2px solid transparent}.code-line::after{content:'\\a';white-space:pre}.code-line.highlighted{background:rgba(200, 200, 200, 0.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:0.5em;text-align:right;color:#858585;user-select:none;border-right:1px solid #404040}@media (prefers-color-scheme: dark){.content-section p{color:#c0c0c0}.content-section code{background:rgba(255, 255, 255, 0.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 [data-testid=\"copy-code-button\"]{display:none!important}.code-content #ask-ai-code-block-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:0px!important}@media (max-width: 768px){.code-panel{position:relative;top:0;height:400px}}"},{"filePath":"snippets/components/ConnectorDetailsHeader/ConnectorDetailsHeader.css","content":".container{margin:48px 0px!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:0px}.PlatformDetails{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--gray-text-color)}.PlatformIcon{padding:4px;background-color:var(--connector-icon-bg-color);border:1px solid var(--default-border-color);border-radius:12px}.ImageContainer{background-color:var(--connector-icon-bg-color);padding:12px;border:1px solid var(--default-border-color);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 0px}.integrations-mobile-header{display:none;width:100%;background:#ffffff;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 0.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;text-decoration:none;display:flex;align-items:center;gap:12px;background-color:white;box-shadow:0px 4px 12px -1px #0A0D1214;border-radius:12px;padding:12px 20px;box-sizing:border-box;transition:all 0.3s ease}.integration-card span{color:#181D27;font-weight:500;font-size:16px;line-height:120%}a.integration-card span:hover{text-decoration:none}a.integration-card:hover{box-shadow:0px 3px 3px -1.5px #0A0D120A,\n 0px 8px 8px -4px #0A0D1208,\n 0px 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:#ffffff;border:none;cursor:pointer}@media (max-width: 1024px){.integrations-card{flex-direction:column;height:auto;padding:0px;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:#ffffff;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:white}.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, 0.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:black;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-th{padding:10px 12px;font-size:14px}.vm-td{padding:10px 12px;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, 0.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:none;outline:none;background:transparent;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 0.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, 0.12)}.connector-filter-menu li{list-style:none}.connector-filter-menu li::marker,.connector-filter-menu li::before{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:0.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 0.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 0px}.integrations-mobile-header{display:none;width:100%;background:#ffffff;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 0.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;text-decoration:none;display:flex;align-items:center;gap:12px;background-color:white;box-shadow:0px 4px 12px -1px #0A0D1214;border-radius:12px;padding:12px 20px;box-sizing:border-box;transition:all 0.3s ease}.integration-card span{color:#181D27;font-weight:500;font-size:16px;line-height:120%}a.integration-card span:hover{text-decoration:none}a.integration-card:hover{box-shadow:0px 3px 3px -1.5px #0A0D120A,\n 0px 8px 8px -4px #0A0D1208,\n 0px 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:#ffffff;border:none;cursor:pointer}@media (max-width: 1024px){.integrations-card{flex-direction:column;height:auto;padding:0px;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:#ffffff;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 0.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 0px}.integrations-mobile-header{display:none;width:100%;background:#ffffff;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 0.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;text-decoration:none;display:flex;align-items:center;gap:12px;background-color:white;box-shadow:0px 4px 12px -1px #0A0D1214;border-radius:12px;padding:12px 20px;box-sizing:border-box;transition:all 0.3s ease}.integration-card span{color:#181D27;font-weight:500;font-size:16px;line-height:120%}a.integration-card span:hover{text-decoration:none}a.integration-card:hover{box-shadow:0px 3px 3px -1.5px #0A0D120A,\n 0px 8px 8px -4px #0A0D1208,\n 0px 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:#ffffff;border:none;cursor:pointer}@media (max-width: 1024px){.integrations-card{flex-direction:column;height:auto;padding:0px;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:#ffffff;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":".release-banner{max-width:1300px;margin:0 auto;background:linear-gradient(135deg, rgba(105, 56, 239, 0.12) 0%, rgba(142, 198, 252, 0.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{color:#414651;font-size:18px;margin-bottom:24px}.release-banner-content a{background-color:white;box-shadow:0px 1px 2px rgba(10, 13, 18, 0.06),\n 0px 2px 4px rgba(10, 13, 18, 0.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;margin-bottom:24px;color:#414651;font-size:18px}.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:0.02em;text-transform:uppercase}.release-carousel-content.slide-next{animation:release-carousel-slide-next 0.45s ease}.release-carousel-content.slide-prev{animation:release-carousel-slide-prev 0.45s ease}@keyframes release-carousel-slide-next{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}@keyframes release-carousel-slide-prev{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}.release-carousel-image{width:100%;max-width:1200px;display:block;border:3px solid #D9D2FA;border-radius:16px;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 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, 0.85)}.release-carousel-lightbox-image{max-width:100%;max-height:100%;display:block;border-radius:12px;box-shadow:0px 12px 16px -4px #0A0D1214;cursor:default}.release-carousel-lightbox-close{position:absolute;top:24px;right:24px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255, 255, 255, 0.3);background-color:rgba(255, 255, 255, 0.1);color:white;cursor:pointer;transition:background-color 0.15s ease}.release-carousel-lightbox-close:hover{background-color:rgba(255, 255, 255, 0.2)}.release-carousel .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid #D9D2FA;background-color:white;color:#181D27;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 12px 16px -4px #0A0D1214;cursor:pointer;transition:background-color 0.15s ease}.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:none;background-color:#D9D2FA;padding:0;cursor:pointer;transition:background-color 0.15s ease, transform 0.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":".release-banner{max-width:1300px;margin:0 auto;background:linear-gradient(135deg, rgba(105, 56, 239, 0.12) 0%, rgba(142, 198, 252, 0.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{color:#414651;font-size:18px;margin-bottom:24px}.release-banner-content a{background-color:white;box-shadow:0px 1px 2px rgba(10, 13, 18, 0.06),\n 0px 2px 4px rgba(10, 13, 18, 0.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;margin-bottom:24px;color:#414651;font-size:18px}.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:0.02em;text-transform:uppercase}.release-carousel-content.slide-next{animation:release-carousel-slide-next 0.45s ease}.release-carousel-content.slide-prev{animation:release-carousel-slide-prev 0.45s ease}@keyframes release-carousel-slide-next{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}@keyframes release-carousel-slide-prev{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}.release-carousel-image{width:100%;max-width:1200px;display:block;border:3px solid #D9D2FA;border-radius:16px;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 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, 0.85)}.release-carousel-lightbox-image{max-width:100%;max-height:100%;display:block;border-radius:12px;box-shadow:0px 12px 16px -4px #0A0D1214;cursor:default}.release-carousel-lightbox-close{position:absolute;top:24px;right:24px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255, 255, 255, 0.3);background-color:rgba(255, 255, 255, 0.1);color:white;cursor:pointer;transition:background-color 0.15s ease}.release-carousel-lightbox-close:hover{background-color:rgba(255, 255, 255, 0.2)}.release-carousel .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid #D9D2FA;background-color:white;color:#181D27;box-shadow:0px 2px 2px -1px #0A0D120A,\n 0px 4px 6px -2px #0A0D1208,\n 0px 12px 16px -4px #0A0D1214;cursor:pointer;transition:background-color 0.15s ease}.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:none;background-color:#D9D2FA;padding:0;cursor:pointer;transition:background-color 0.15s ease, transform 0.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":"v2.1.x-SNAPSHOT/api-reference/sdk/python/ingestion/lineage","slug":"/v2.1.x-SNAPSHOT/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","canonical":"https://docs.open-metadata.org/v2.0.x/api-reference/sdk/python/ingestion/lineage","href":"/v2.1.x-SNAPSHOT/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,Note,OptimizedImage,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,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:`/v2.1.x-SNAPSHOT/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:[`To have lineage generated from a SQL query, call `,_jsx(_components.code,{children:`add_lineage_by_query`}),`. `,_jsx(_components.code,{children:`metadata.sdk.api.Lineage`}),` doesn’t expose it,\nbut the client returned by `,_jsx(_components.code,{children:`configure(...)`}),` does, through its `,_jsx(_components.code,{children:`ometa`}),` property. This is the same call the\n`,_jsx(_components.a,{href:`#automated-sql-lineage-via-cli`,children:`CLI`}),` makes.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`20`,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:`20`,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`,_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:` DatabaseService`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`ometa `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},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:`).ometa`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`database_service `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ometa.get_by_name(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`entity`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`DatabaseService, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`fqn`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"local_mysql\"`}),_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:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` database_service `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`is`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` None`}),_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:` raise`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` ValueError`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Database service local_mysql not found\"`}),_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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`ometa.add_lineage_by_query(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` database_service`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`database_service,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` sql`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"INSERT INTO target_table (id) SELECT id FROM source_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:` database_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my_db\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Optional: database for table names without one`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` schema_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my_schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Optional: schema for table names without one`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` timeout`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`300`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Parsing timeout in seconds`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` check_patch`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_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:[`This example creates lineage from `,_jsx(_components.code,{children:`source_table`}),` to `,_jsx(_components.code,{children:`target_table`}),` within the `,_jsx(_components.code,{children:`local_mysql`}),` database service.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`add_lineage_by_query`}),` takes these parameters:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`database_service`}),`: The database service that contains the tables in the query. The SQL dialect is taken from its service type.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`sql`}),`: The query to parse.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`database_name`}),` and `,_jsx(_components.strong,{children:`schema_name`}),`: (Optional) The database and schema to use for table names that the query doesn’t qualify.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`timeout`}),`: Timeout for the lineage parsing process, in seconds.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`check_patch`}),`: Defaults to `,_jsx(_components.code,{children:`False`}),`. The CLI sets it to `,_jsx(_components.code,{children:`True`}),`.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`add_lineage_by_query`}),` returns `,_jsx(_components.code,{children:`None`}),` and doesn’t raise on failure. Parsing and API errors are only logged, so enable\nlogging to see them. Check that `,_jsx(_components.code,{children:`get_by_name`}),` found the service before calling it: when `,_jsx(_components.code,{children:`database_service`}),` is `,_jsx(_components.code,{children:`None`}),`,\nthe method does nothing.`]})}),`\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) 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","canonical":"https://docs.open-metadata.org/v2.0.x/api-reference/sdk/python/ingestion/lineage","href":"/v2.1.x-SNAPSHOT/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":1,"canonicalOverride":true},"v2.1.x-SNAPSHOT":{"href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/ingestion/lineage","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T06:00:09.037Z","originalFileLocation":"v2.1.x-SNAPSHOT/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/v2.0.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.site/_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=f4d2037cb2245d6e93c17612\u0026amp;signature=4b9534efe39000c6505b8985b7e0ebb20472954f7c8caf133bf1b0960934b152\">\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.site/_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=f4d2037cb2245d6e93c17612\u0026amp;signature=4b9534efe39000c6505b8985b7e0ebb20472954f7c8caf133bf1b0960934b152\">\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/v2.0.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=\"/v2.1.x-SNAPSHOT/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/v2.0.x/api-reference/sdk/python/ingestion/lineage#webpage\",\"url\":\"https://docs.open-metadata.org/v2.0.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-11-11T06:00:09.037Z\",\"isPartOf\":{\"@id\":\"https://docs.open-metadata.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.open-metadata.org/v2.0.x/api-reference/sdk/python/ingestion/lineage#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.open-metadata.org/v2.0.x/api-reference/sdk/python/ingestion/lineage#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SDK\",\"item\":\"https://docs.open-metadata.org/v2.1.x-SNAPSHOT/api-reference/sdk\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https://docs.open-metadata.org/v2.1.x-SNAPSHOT/api-reference/sdk/python\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ingestion\",\"item\":\"https://docs.open-metadata.org/v2.1.x-SNAPSHOT/api-reference/sdk/python/ingestion\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Python SDK for Lineage\",\"item\":\"https://docs.open-metadata.org/v2.0.x/api-reference/sdk/python/ingestion/lineage\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.open-metadata.org/v2.0.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/v2.0.x/api-reference/sdk/python/ingestion/lineage\",\"mainEntityOfPage\":{\"@id\":\"https://docs.open-metadata.org/v2.0.x/api-reference/sdk/python/ingestion/lineage#webpage\"},\"dateModified\":\"2026-11-11T06:00:09.037Z\",\"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\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"OpenMetadata Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/ingestion/lineage.md","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","pages":[{"title":"v1.13.x","href":"/v1.13.x/api-reference/sdk/python/ingestion/lineage"}]},{"version":"v2.1.x-SNAPSHOT","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/v2.1.x-SNAPSHOT"}]},{"tab":"Quickstart","pages":[{"title":"Quickstart","href":"/v2.1.x-SNAPSHOT/quick-start"}]},{"tab":"Deployment","pages":[{"title":"Deployment","href":"/v2.1.x-SNAPSHOT/deployment"}]},{"tab":"Connectors","pages":[{"title":"Connectors","href":"/v2.1.x-SNAPSHOT/connectors"}]},{"tab":"How-to Guides","pages":[{"title":"How-to Guides","href":"/v2.1.x-SNAPSHOT/how-to-guides"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/v2.1.x-SNAPSHOT/how-to-guides/mcp"}]},{"tab":"Admin Guide","pages":[{"title":"Admin Guide","href":"/v2.1.x-SNAPSHOT/how-to-guides/admin-guide"}]},{"tab":"Guide for Data Users","pages":[{"title":"Guide for Data Users","href":"/v2.1.x-SNAPSHOT/how-to-guides/guide-for-data-users"}]},{"tab":"Data Discovery","pages":[{"title":"Data Discovery","href":"/v2.1.x-SNAPSHOT/how-to-guides/data-discovery"}]},{"tab":"Data Contracts","pages":[{"title":"Data Contracts","href":"/v2.1.x-SNAPSHOT/how-to-guides/data-contracts"}]},{"tab":"Data Collaboration","pages":[{"title":"Data Collaboration","href":"/v2.1.x-SNAPSHOT/how-to-guides/data-collaboration"}]},{"tab":"Context Center","pages":[{"title":"Context Center","href":"/v2.1.x-SNAPSHOT/how-to-guides/context-center"}]},{"tab":"Data Quality and Observability","pages":[{"title":"Data Quality and Observability","href":"/v2.1.x-SNAPSHOT/how-to-guides/data-quality-observability"}]},{"tab":"Data Lineage","pages":[{"title":"Data Lineage","href":"/v2.1.x-SNAPSHOT/how-to-guides/data-lineage"}]},{"tab":"Data Insights","pages":[{"title":"Data Insights","href":"/v2.1.x-SNAPSHOT/how-to-guides/data-insights"}]},{"tab":"Data Marketplace","pages":[{"title":"Data Marketplace","href":"/v2.1.x-SNAPSHOT/how-to-guides/data-marketplace"}]},{"tab":"Data Governance","pages":[{"title":"Data Governance","href":"/v2.1.x-SNAPSHOT/how-to-guides/data-governance"}]},{"tab":"Ontology \u0026 Knowledge Graph","pages":[{"title":"Ontology \u0026 Knowledge Graph","href":"/v2.1.x-SNAPSHOT/how-to-guides/ontology"}]},{"tab":"Releases","pages":[{"title":"Releases","href":"/v2.1.x-SNAPSHOT/releases"}]},{"tab":"Developers","pages":[{"title":"Developers","href":"/v2.1.x-SNAPSHOT/developers"}]},{"tab":"SDK \u0026 APIs","groups":[{"group":"API Reference","pages":[{"title":"OpenMetadata SDKs \u0026 APIs","sidebarTitle":"Introduction","href":"/v2.1.x-SNAPSHOT/api-reference"},{"title":"Getting Started","sidebarTitle":"Getting Started","href":"/v2.1.x-SNAPSHOT/api-reference/getting-started"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/v2.1.x-SNAPSHOT/api-reference/authentication"},{"title":"Errors","sidebarTitle":"Errors","mode":"wide","href":"/v2.1.x-SNAPSHOT/api-reference/errors"},{"title":"Pagination","sidebarTitle":"Pagination","mode":"wide","href":"/v2.1.x-SNAPSHOT/api-reference/pagination"},{"title":"Lifecycle Stages","sidebarTitle":"Lifecycle Stages","href":"/v2.1.x-SNAPSHOT/api-reference/lifecycle-stages"},{"title":"Ingestion Pipelines","sidebarTitle":"Ingestion Pipelines","href":"/v2.1.x-SNAPSHOT/api-reference/ingestion-pipelines"}]},{"group":"Data Assets","pages":[{"title":"Data Assets","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets"},{"title":"Database Hierarchy","sidebarTitle":"Databases","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases-overview"},{"title":"Services Overview","sidebarTitle":"Services Overview","api":"GET /v1/services/overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/services-overview"},{"title":"Entity Columns and Fields","sidebarTitle":"Columns and Fields","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/columns"},{"group":"Api Collections","pages":[{"title":"API Collections","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-collections"},{"title":"Create an API Collection","sidebarTitle":"Create an API Collection","api":"POST /v1/apiCollections","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-collections/create"},{"title":"Delete an API Collection","sidebarTitle":"Delete an API Collection","api":"DELETE /v1/apiCollections/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-collections/delete"},{"title":"List API Collections","sidebarTitle":"List API Collections","api":"GET /v1/apiCollections","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-collections/list"},{"title":"Retrieve an API Collection","sidebarTitle":"Retrieve an API Collection","api":"GET /v1/apiCollections/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-collections/retrieve"},{"title":"Update an API Collection","sidebarTitle":"Update an API Collection","api":"PUT /v1/apiCollections","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-collections/update"},{"title":"API Collection Versions","sidebarTitle":"API Collection Versions","api":"GET /v1/apiCollections/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-collections/versions"}]},{"group":"Api Endpoints","pages":[{"title":"API Endpoints","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-endpoints"},{"title":"Create an API Endpoint","sidebarTitle":"Create an API Endpoint","api":"POST /v1/apiEndpoints","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-endpoints/create"},{"title":"Delete an API Endpoint","sidebarTitle":"Delete an API Endpoint","api":"DELETE /v1/apiEndpoints/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-endpoints/delete"},{"title":"List API Endpoints","sidebarTitle":"List API Endpoints","api":"GET /v1/apiEndpoints","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-endpoints/list"},{"title":"Retrieve an API Endpoint","sidebarTitle":"Retrieve an API Endpoint","api":"GET /v1/apiEndpoints/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-endpoints/retrieve"},{"title":"Update an API Endpoint","sidebarTitle":"Update an API Endpoint","api":"PUT /v1/apiEndpoints","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-endpoints/update"},{"title":"API Endpoint Versions","sidebarTitle":"API Endpoint Versions","api":"GET /v1/apiEndpoints/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/api-endpoints/versions"}]},{"group":"Charts","pages":[{"title":"Charts","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/charts"},{"title":"Create a Chart","sidebarTitle":"Create a Chart","api":"POST /v1/charts","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/charts/create"},{"title":"Delete a Chart","sidebarTitle":"Delete a Chart","api":"DELETE /v1/charts/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/charts/delete"},{"title":"List Charts","sidebarTitle":"List Charts","api":"GET /v1/charts","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/charts/list"},{"title":"Retrieve a Chart","sidebarTitle":"Retrieve a Chart","api":"GET /v1/charts/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/charts/retrieve"},{"title":"Update a Chart","sidebarTitle":"Update a Chart","api":"PUT /v1/charts","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/charts/update"},{"title":"Chart Versions","sidebarTitle":"Chart Versions","api":"GET /v1/charts/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/charts/versions"}]},{"group":"Containers","pages":[{"title":"Containers","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/containers"},{"title":"Create a Container","sidebarTitle":"Create a Container","api":"POST /v1/containers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/containers/create"},{"title":"Delete a Container","sidebarTitle":"Delete a Container","api":"DELETE /v1/containers/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/containers/delete"},{"title":"List Containers","sidebarTitle":"List Containers","api":"GET /v1/containers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/containers/list"},{"title":"Retrieve a Container","sidebarTitle":"Retrieve a Container","api":"GET /v1/containers/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/containers/retrieve"},{"title":"Update a Container","sidebarTitle":"Update a Container","api":"PUT /v1/containers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/containers/update"},{"title":"Container Versions","sidebarTitle":"Container Versions","api":"GET /v1/containers/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/containers/versions"}]},{"group":"Dashboard Services","pages":[{"title":"Dashboard Services","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboard-services"},{"title":"Create a Dashboard Service","sidebarTitle":"Create a Dashboard Service","api":"POST /v1/services/dashboardServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboard-services/create"},{"title":"Delete a Dashboard Service","sidebarTitle":"Delete a Dashboard Service","api":"DELETE /v1/services/dashboardServices/{id}","href":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboard-services/import-export"},{"title":"List Dashboard Services","sidebarTitle":"List Dashboard Services","api":"GET /v1/services/dashboardServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboard-services/list"},{"title":"Retrieve a Dashboard Service","sidebarTitle":"Retrieve a Dashboard Service","api":"GET /v1/services/dashboardServices/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboard-services/retrieve"},{"title":"Update a Dashboard Service","sidebarTitle":"Update a Dashboard Service","api":"PUT /v1/services/dashboardServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboard-services/update"},{"title":"Dashboard Service Versions","sidebarTitle":"Dashboard Service Versions","api":"GET /v1/services/dashboardServices/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboard-services/versions"}]},{"group":"Dashboards","pages":[{"title":"Dashboards","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboards"},{"title":"Create a Dashboard","sidebarTitle":"Create a Dashboard","api":"POST /v1/dashboards","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboards/create"},{"title":"Delete a Dashboard","sidebarTitle":"Delete a Dashboard","api":"DELETE /v1/dashboards/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboards/delete"},{"title":"Dashboard Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/dashboards/{id}/followers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboards/followers-votes"},{"title":"List Dashboards","sidebarTitle":"List Dashboards","api":"GET /v1/dashboards","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboards/list"},{"title":"Retrieve a Dashboard","sidebarTitle":"Retrieve a Dashboard","api":"GET /v1/dashboards/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboards/retrieve"},{"title":"Update a Dashboard","sidebarTitle":"Update a Dashboard","api":"PUT /v1/dashboards","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboards/update"},{"title":"Dashboard Versions","sidebarTitle":"Dashboard Versions","api":"GET /v1/dashboards/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/dashboards/versions"}]},{"group":"Database Schemas","pages":[{"title":"Database Schemas","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-schemas"},{"title":"Advanced Database Schema Operations","sidebarTitle":"Advanced Database Schema Operations","api":"PUT /v1/databaseSchemas/{id}/followers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-schemas/advanced"},{"title":"Create a Database Schema","sidebarTitle":"Create a Database Schema","api":"POST /v1/databaseSchemas","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-schemas/create"},{"title":"Delete a Database Schema","sidebarTitle":"Delete a Database Schema","api":"DELETE /v1/databaseSchemas/{id}","href":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-schemas/import-export"},{"title":"List Database Schemas","sidebarTitle":"List Database Schemas","api":"GET /v1/databaseSchemas","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-schemas/list"},{"title":"Retrieve a Database Schema","sidebarTitle":"Retrieve a Database Schema","api":"GET /v1/databaseSchemas/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-schemas/retrieve"},{"title":"Update a Database Schema","sidebarTitle":"Update a Database Schema","api":"PUT /v1/databaseSchemas","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-schemas/update"},{"title":"Database Schema Versions","sidebarTitle":"Database Schema Versions","api":"GET /v1/databaseSchemas/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-schemas/versions"}]},{"group":"Database Services","pages":[{"title":"Database Services","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-services"},{"title":"Create a Database Service","sidebarTitle":"Create a Database Service","api":"POST /v1/services/databaseServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-services/create"},{"title":"Delete a Database Service","sidebarTitle":"Delete a Database Service","api":"DELETE /v1/services/databaseServices/{id}","href":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-services/import-export"},{"title":"List Database Services","sidebarTitle":"List Database Services","api":"GET /v1/services/databaseServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-services/list"},{"title":"Retrieve a Database Service","sidebarTitle":"Retrieve a Database Service","api":"GET /v1/services/databaseServices/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-services/retrieve"},{"title":"Update a Database Service","sidebarTitle":"Update a Database Service","api":"PUT /v1/services/databaseServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-services/update"},{"title":"Database Service Versions","sidebarTitle":"Database Service Versions","api":"GET /v1/services/databaseServices/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/database-services/versions"}]},{"group":"Databases","pages":[{"title":"Databases","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases"},{"title":"Advanced Database Operations","sidebarTitle":"Advanced Database Operations","api":"PUT /v1/databases/{id}/followers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases/advanced"},{"title":"Create a Database","sidebarTitle":"Create a Database","api":"POST /v1/databases","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases/create"},{"title":"Delete a Database","sidebarTitle":"Delete a Database","api":"DELETE /v1/databases/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases/delete"},{"title":"Import \u0026 Export Databases","sidebarTitle":"Import \u0026 Export Databases","api":"GET /v1/databases/name/{fqn}/export","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases/import-export"},{"title":"List Databases","sidebarTitle":"List Databases","api":"GET /v1/databases","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases/list"},{"title":"Retrieve a Database","sidebarTitle":"Retrieve a Database","api":"GET /v1/databases/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases/retrieve"},{"title":"Update a Database","sidebarTitle":"Update a Database","api":"PUT /v1/databases","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases/update"},{"title":"Database Versions","sidebarTitle":"Database Versions","api":"GET /v1/databases/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/databases/versions"}]},{"group":"Messaging Services","pages":[{"title":"Messaging Services","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/messaging-services"},{"title":"Create a Messaging Service","sidebarTitle":"Create a Messaging Service","api":"POST /v1/services/messagingServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/messaging-services/create"},{"title":"Delete a Messaging Service","sidebarTitle":"Delete a Messaging Service","api":"DELETE /v1/services/messagingServices/{id}","href":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/api-reference/data-assets/messaging-services/import-export"},{"title":"List Messaging Services","sidebarTitle":"List Messaging Services","api":"GET /v1/services/messagingServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/messaging-services/list"},{"title":"Retrieve a Messaging Service","sidebarTitle":"Retrieve a Messaging Service","api":"GET /v1/services/messagingServices/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/messaging-services/retrieve"},{"title":"Update a Messaging Service","sidebarTitle":"Update a Messaging Service","api":"PUT /v1/services/messagingServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/messaging-services/update"},{"title":"Messaging Service Versions","sidebarTitle":"Messaging Service Versions","api":"GET /v1/services/messagingServices/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/messaging-services/versions"}]},{"group":"Mlmodel Services","pages":[{"title":"ML Model Services","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodel-services"},{"title":"Create an ML Model Service","sidebarTitle":"Create an ML Model Service","api":"POST /v1/services/mlmodelServices","href":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodel-services/delete"},{"title":"List ML Model Services","sidebarTitle":"List ML Model Services","api":"GET /v1/services/mlmodelServices","href":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodel-services/versions"}]},{"group":"Mlmodels","pages":[{"title":"ML Models","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodels"},{"title":"Create an ML Model","sidebarTitle":"Create an ML Model","api":"POST /v1/mlmodels","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodels/create"},{"title":"Delete an ML Model","sidebarTitle":"Delete an ML Model","api":"DELETE /v1/mlmodels/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodels/delete"},{"title":"ML Model Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/mlmodels/{id}/followers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodels/followers-votes"},{"title":"List ML Models","sidebarTitle":"List ML Models","api":"GET /v1/mlmodels","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodels/list"},{"title":"Retrieve an ML Model","sidebarTitle":"Retrieve an ML Model","api":"GET /v1/mlmodels/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodels/retrieve"},{"title":"Update an ML Model","sidebarTitle":"Update an ML Model","api":"PUT /v1/mlmodels","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodels/update"},{"title":"ML Model Versions","sidebarTitle":"ML Model Versions","api":"GET /v1/mlmodels/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/mlmodels/versions"}]},{"group":"Pipeline Services","pages":[{"title":"Pipeline Services","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipeline-services"},{"title":"Create a Pipeline Service","sidebarTitle":"Create a Pipeline Service","api":"POST /v1/services/pipelineServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipeline-services/create"},{"title":"Delete a Pipeline Service","sidebarTitle":"Delete a Pipeline Service","api":"DELETE /v1/services/pipelineServices/{id}","href":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipeline-services/import-export"},{"title":"List Pipeline Services","sidebarTitle":"List Pipeline Services","api":"GET /v1/services/pipelineServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipeline-services/list"},{"title":"Retrieve a Pipeline Service","sidebarTitle":"Retrieve a Pipeline Service","api":"GET /v1/services/pipelineServices/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipeline-services/retrieve"},{"title":"Update a Pipeline Service","sidebarTitle":"Update a Pipeline Service","api":"PUT /v1/services/pipelineServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipeline-services/update"},{"title":"Pipeline Service Versions","sidebarTitle":"Pipeline Service Versions","api":"GET /v1/services/pipelineServices/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipeline-services/versions"}]},{"group":"Pipelines","pages":[{"title":"Pipelines","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipelines"},{"title":"Create a Pipeline","sidebarTitle":"Create a Pipeline","api":"POST /v1/pipelines","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipelines/create"},{"title":"Delete a Pipeline","sidebarTitle":"Delete a Pipeline","api":"DELETE /v1/pipelines/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipelines/delete"},{"title":"Pipeline Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/pipelines/{id}/followers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipelines/followers-votes"},{"title":"List Pipelines","sidebarTitle":"List Pipelines","api":"GET /v1/pipelines","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipelines/list"},{"title":"Retrieve a Pipeline","sidebarTitle":"Retrieve a Pipeline","api":"GET /v1/pipelines/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipelines/retrieve"},{"title":"Update a Pipeline","sidebarTitle":"Update a Pipeline","api":"PUT /v1/pipelines","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipelines/update"},{"title":"Pipeline Versions","sidebarTitle":"Pipeline Versions","api":"GET /v1/pipelines/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/pipelines/versions"}]},{"group":"Search Indexes","pages":[{"title":"Search Indexes","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/search-indexes"},{"title":"Create a Search Index","sidebarTitle":"Create a Search Index","api":"POST /v1/searchIndexes","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/search-indexes/create"},{"title":"Delete a Search Index","sidebarTitle":"Delete a Search Index","api":"DELETE /v1/searchIndexes/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/search-indexes/delete"},{"title":"Search Index Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/searchIndexes/{id}/followers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/search-indexes/followers-votes"},{"title":"List Search Indexes","sidebarTitle":"List Search Indexes","api":"GET /v1/searchIndexes","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/search-indexes/list"},{"title":"Retrieve a Search Index","sidebarTitle":"Retrieve a Search Index","api":"GET /v1/searchIndexes/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/search-indexes/retrieve"},{"title":"Update a Search Index","sidebarTitle":"Update a Search Index","api":"PUT /v1/searchIndexes","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/search-indexes/update"},{"title":"Search Index Versions","sidebarTitle":"Search Index Versions","api":"GET /v1/searchIndexes/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/search-indexes/versions"}]},{"group":"Storage Services","pages":[{"title":"Storage Services","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/storage-services"},{"title":"Create a Storage Service","sidebarTitle":"Create a Storage Service","api":"POST /v1/services/storageServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/storage-services/create"},{"title":"Delete a Storage Service","sidebarTitle":"Delete a Storage Service","api":"DELETE /v1/services/storageServices/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/storage-services/delete"},{"title":"List Storage Services","sidebarTitle":"List Storage Services","api":"GET /v1/services/storageServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/storage-services/list"},{"title":"Retrieve a Storage Service","sidebarTitle":"Retrieve a Storage Service","api":"GET /v1/services/storageServices/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/storage-services/retrieve"},{"title":"Update a Storage Service","sidebarTitle":"Update a Storage Service","api":"PUT /v1/services/storageServices","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/storage-services/update"},{"title":"Storage Service Versions","sidebarTitle":"Storage Service Versions","api":"GET /v1/services/storageServices/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/storage-services/versions"}]},{"group":"Stored Procedures","pages":[{"title":"Stored Procedures","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/stored-procedures"},{"title":"Create a Stored Procedure","sidebarTitle":"Create a Stored Procedure","api":"POST /v1/storedProcedures","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/stored-procedures/create"},{"title":"Delete a Stored Procedure","sidebarTitle":"Delete a Stored Procedure","api":"DELETE /v1/storedProcedures/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/stored-procedures/delete"},{"title":"Stored Procedure Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/storedProcedures/{id}/followers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/stored-procedures/followers-votes"},{"title":"List Stored Procedures","sidebarTitle":"List Stored Procedures","api":"GET /v1/storedProcedures","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/stored-procedures/list"},{"title":"Retrieve a Stored Procedure","sidebarTitle":"Retrieve a Stored Procedure","api":"GET /v1/storedProcedures/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/stored-procedures/retrieve"},{"title":"Update a Stored Procedure","sidebarTitle":"Update a Stored Procedure","api":"PUT /v1/storedProcedures","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/stored-procedures/update"},{"title":"Stored Procedure Versions","sidebarTitle":"Stored Procedure Versions","api":"GET /v1/storedProcedures/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/stored-procedures/versions"}]},{"group":"Tables","pages":[{"title":"Tables","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables"},{"title":"Create a Table","sidebarTitle":"Create a Table","api":"POST /v1/tables","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/create"},{"title":"Table Custom Metrics API","sidebarTitle":"Custom Metrics","api":"PUT /v1/tables/{id}/customMetric","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/custom-metrics"},{"title":"Delete a Table","sidebarTitle":"Delete a Table","api":"DELETE /v1/tables/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/delete"},{"title":"Table Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/tables/{id}/followers","href":"/v2.1.x-SNAPSHOT/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":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/import-export"},{"title":"List Tables","sidebarTitle":"List Tables","api":"GET /v1/tables","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/list"},{"title":"Pipeline Observability","sidebarTitle":"Pipeline Observability","api":"GET /v1/tables/{id}/pipelineObservability","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/observability"},{"title":"Table Profiler","sidebarTitle":"Table Profiler","api":"GET /v1/tables/{id}/tableProfilerConfig","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/profiler"},{"title":"Table Relationships","sidebarTitle":"Table Relationships","api":"PUT /v1/tables/{id}/joins","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/relationships"},{"title":"Retrieve a Table","sidebarTitle":"Retrieve a Table","api":"GET /v1/tables/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/retrieve"},{"title":"Table Sample Data","sidebarTitle":"Table Sample Data","api":"GET /v1/tables/{id}/sampleData","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/sample-data"},{"title":"Update a Table","sidebarTitle":"Update a Table","api":"PUT /v1/tables","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/update"},{"title":"Table Versions","sidebarTitle":"Table Versions","api":"GET /v1/tables/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/tables/versions"}]},{"group":"Topics","pages":[{"title":"Topics","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/topics"},{"title":"Create a Topic","sidebarTitle":"Create a Topic","api":"POST /v1/topics","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/topics/create"},{"title":"Delete a Topic","sidebarTitle":"Delete a Topic","api":"DELETE /v1/topics/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/topics/delete"},{"title":"Topic Followers \u0026 Votes","sidebarTitle":"Followers \u0026 Votes","api":"PUT /v1/topics/{id}/followers","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/topics/followers-votes"},{"title":"List Topics","sidebarTitle":"List Topics","api":"GET /v1/topics","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/topics/list"},{"title":"Retrieve a Topic","sidebarTitle":"Retrieve a Topic","api":"GET /v1/topics/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/topics/retrieve"},{"title":"Update a Topic","sidebarTitle":"Update a Topic","api":"PUT /v1/topics","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/topics/update"},{"title":"Topic Versions","sidebarTitle":"Topic Versions","api":"GET /v1/topics/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-assets/topics/versions"}]}]},{"group":"Collaboration","pages":[{"title":"Conversation V2","sidebarTitle":"Conversations","href":"/v2.1.x-SNAPSHOT/api-reference/conversations"}]},{"group":"AI SDK","pages":[{"title":"AI SDK","sidebarTitle":"AI SDK","href":"/v2.1.x-SNAPSHOT/sdk/ai-sdk"}]},{"group":"SDK","pages":[{"title":"OpenMetadata SDK | OpenMetadata Software Development Kit","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/sdk"},{"title":"OpenMetadata Standards","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/openmetadata-standards"},{"group":"Go SDK","pages":[{"title":"Go SDK","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/go"},{"title":"Go SDK - API Methods","sidebarTitle":"API Methods","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/go-api-methods"}]},{"group":"Java","pages":[{"title":"Java SDK | OpenMetadata Java SDK Documentation","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/java"},{"title":"Java SDK Overview","sidebarTitle":"Java SDK Info","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/java/info"},{"title":"Java SDK for Lineage","sidebarTitle":"Lineage","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/java/lineage"},{"title":"Java SDK Glossary Relations","sidebarTitle":"Glossary Relations","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/java/glossary-relations"}]},{"group":"Python","pages":[{"title":"Python SDK | OpenMetadata Python SDK Documentation","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python"},{"title":"Python SDK Overview","sidebarTitle":"Original Client and SDK 2.0","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/overview"},{"group":"API Reference","pages":[{"title":"Python SDK API Reference","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference"},{"title":"Aut Provider","sidebarTitle":"Auth Provider","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/auth-provider"},{"title":"Client Utils","sidebarTitle":"Client Utils","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/client-utils"},{"title":"Client","sidebarTitle":"Client","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/client"},{"title":"Credentials","sidebarTitle":"Credentials","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/credentials"},{"title":"Dashboard Mixin","sidebarTitle":"Dashboard Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/dashboard-mixin"},{"title":"Data Insight Mixin","sidebarTitle":"Data Insight Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/data-insight-mixin"},{"title":"ES Mixin","sidebarTitle":"ES Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/es-mixin"},{"title":"Ingestion Pipeline Mixin","sidebarTitle":"Ingestion Pipeline Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/ingestion-pipeline-mixin"},{"title":"Lineage Mixin","sidebarTitle":"Lineage Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/lineage-mixin"},{"title":"ML Model Mixin","sidebarTitle":"ML Model Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/mlmodel-mixin"},{"title":"Models","sidebarTitle":"Models","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/models"},{"title":"Ometa API","sidebarTitle":"Ometa API","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/ometa-api"},{"title":"Patch Mixin Utils","sidebarTitle":"Patch Mixin Utils","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/patch-mixin-utils"},{"title":"Patch Mixin","sidebarTitle":"Patch mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/patch-mixin"},{"title":"Pipeline Mixin","sidebarTitle":"Pipeline mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/pipeline-mixin"},{"title":"Provider Registry","sidebarTitle":"Provider Registry","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/provider-registry"},{"title":"Query Mixin","sidebarTitle":"Query Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/query-mixin"},{"title":"Role Policy Mixin","sidebarTitle":"Role policy mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/role-policy-mixin"},{"title":"Routes","sidebarTitle":"Routes","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/routes"},{"title":"Search Index Mixin","sidebarTitle":"Search Index Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/search-index-mixin"},{"title":"Server Mixin","sidebarTitle":"Server Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/server-mixin"},{"title":"Service Mixin","sidebarTitle":"Service Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/service-mixin"},{"title":"Table Mixin","sidebarTitle":"Table Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/table-mixin"},{"title":"Test Mixin","sidebarTitle":"Tests Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/tests-mixin"},{"title":"Topic Mixin","sidebarTitle":"Topic Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/topic-mixin"},{"title":"User Mixin","sidebarTitle":"User Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/user-mixin"},{"title":"Utils","sidebarTitle":"Utils Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/utils"},{"title":"version Mixin","sidebarTitle":"Version Mixin","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/api-reference/version-mixin"}]},{"group":"Build Connector","pages":[{"title":"Build a Connector","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/build-connector"},{"title":"Bulk Sink","sidebarTitle":"Bulk Sink","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/build-connector/bulk-sink"},{"title":"Sink","sidebarTitle":"Sink","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/build-connector/sink"},{"title":"Source","sidebarTitle":"Source","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/build-connector/source"},{"title":"Stage","sidebarTitle":"Stage","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/build-connector/stage"}]},{"group":"Entities","pages":[{"title":"Python SDK Entities | OpenMetadata Python Entities","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/entities"},{"title":"ML Model | OpenMetadata Machine Learning Model SDK","sidebarTitle":"ML Model","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/entities/ml-model"}]},{"group":"Ingestion","pages":[{"title":"Python SDK Ingestion","description":"Overview of OpenMetadata Python SDK ingestion guides, with links to examples for sending lineage requests and adding tags to entities through the Python client.","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/ingestion"},{"title":"Python SDK for Lineage","sidebarTitle":"Lineage","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/ingestion/lineage"},{"title":"Python SDK for Tags","description":"Use the OpenMetadata Python SDK to create a service, database, schema, and table, then create a Classification and Tag and apply it to the table and a column.","sidebarTitle":"Tags","href":"/v2.1.x-SNAPSHOT/api-reference/sdk/python/ingestion/tags"}]}]}]},{"group":"Discovery","pages":[{"title":"Discovery","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/discovery"},{"title":"Field Query","sidebarTitle":"Field Query","api":"GET /v1/search/fieldQuery","href":"/v2.1.x-SNAPSHOT/api-reference/discovery/field-query"},{"title":"Search Entities","sidebarTitle":"Search Entities","api":"GET /v1/search/query","href":"/v2.1.x-SNAPSHOT/api-reference/discovery/search"}]},{"group":"Lineage","pages":[{"title":"Lineage API","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/lineage/index"},{"title":"Get Lineage","sidebarTitle":"Get Lineage","api":"GET /v1/lineage/{entityType}/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/lineage/get"},{"title":"Add Lineage","sidebarTitle":"Add Lineage","api":"PUT /v1/lineage","href":"/v2.1.x-SNAPSHOT/api-reference/lineage/add"},{"title":"Delete Lineage","sidebarTitle":"Delete Lineage","api":"DELETE /v1/lineage/{fromEntity}/{fromId}/{toEntity}/{toId}","href":"/v2.1.x-SNAPSHOT/api-reference/lineage/delete"},{"title":"Export Lineage API","sidebarTitle":"Export Lineage","api":"GET /v1/lineage/export","href":"/v2.1.x-SNAPSHOT/api-reference/lineage/export"},{"title":"OpenLineage Events","sidebarTitle":"OpenLineage Events","api":"POST /v1/openlineage/lineage","href":"/v2.1.x-SNAPSHOT/api-reference/lineage/openlineage"}]},{"group":"Data Contracts","pages":[{"title":"Data Contracts","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-contracts"},{"title":"Create a Data Contract","sidebarTitle":"Create a Data Contract","api":"POST /v1/dataContracts","href":"/v2.1.x-SNAPSHOT/api-reference/data-contracts/create"},{"title":"Delete a Data Contract","sidebarTitle":"Delete a Data Contract","api":"DELETE /v1/dataContracts/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-contracts/delete"},{"title":"List Data Contracts","sidebarTitle":"List Data Contracts","api":"GET /v1/dataContracts","href":"/v2.1.x-SNAPSHOT/api-reference/data-contracts/list"},{"title":"Import \u0026 Export","sidebarTitle":"Import \u0026 Export","api":"GET /v1/dataContracts/{id}/odcs","href":"/v2.1.x-SNAPSHOT/api-reference/data-contracts/odcs"},{"title":"Retrieve a Data Contract","sidebarTitle":"Retrieve a Data Contract","api":"GET /v1/dataContracts/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-contracts/retrieve"},{"title":"Update a Data Contract","sidebarTitle":"Update a Data Contract","api":"PUT /v1/dataContracts","href":"/v2.1.x-SNAPSHOT/api-reference/data-contracts/update"},{"title":"Validate \u0026 Results","sidebarTitle":"Validate \u0026 Results","api":"POST /v1/dataContracts/{id}/validate","href":"/v2.1.x-SNAPSHOT/api-reference/data-contracts/validate"},{"title":"Data Contract Versions","sidebarTitle":"Data Contract Versions","api":"GET /v1/dataContracts/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-contracts/versions"}]},{"group":"Teams And Users","pages":[{"title":"Teams \u0026 Users","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users"},{"group":"Teams","pages":[{"title":"Teams","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/teams"},{"title":"Create a Team","sidebarTitle":"Create a Team","api":"POST /v1/teams","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/teams/create"},{"title":"Delete a Team","sidebarTitle":"Delete a Team","api":"DELETE /v1/teams/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/teams/delete"},{"title":"List Teams","sidebarTitle":"List Teams","api":"GET /v1/teams","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/teams/list"},{"title":"Retrieve a Team","sidebarTitle":"Retrieve a Team","api":"GET /v1/teams/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/teams/retrieve"},{"title":"Update a Team","sidebarTitle":"Update a Team","api":"PUT /v1/teams","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/teams/update"},{"title":"Team Versions","sidebarTitle":"Team Versions","api":"GET /v1/teams/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/teams/versions"}]},{"group":"Users","pages":[{"title":"Users","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/users"},{"title":"Create a User","sidebarTitle":"Create a User","api":"POST /v1/users","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/users/create"},{"title":"Delete a User","sidebarTitle":"Delete a User","api":"DELETE /v1/users/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/users/delete"},{"title":"List Users","sidebarTitle":"List Users","api":"GET /v1/users","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/users/list"},{"title":"Retrieve a User","sidebarTitle":"Retrieve a User","api":"GET /v1/users/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/users/retrieve"},{"title":"Update a User","sidebarTitle":"Update a User","api":"PUT /v1/users","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/users/update"},{"title":"User Versions","sidebarTitle":"User Versions","api":"GET /v1/users/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/teams-and-users/users/versions"}]}]},{"group":"Data Governance","pages":[{"title":"Governance","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/governance"},{"group":"Classifications","pages":[{"title":"Classifications","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/governance/classifications"},{"title":"Create a Classification","sidebarTitle":"Create a Classification","api":"POST /v1/classifications","href":"/v2.1.x-SNAPSHOT/api-reference/governance/classifications/create"},{"title":"Delete a Classification","sidebarTitle":"Delete a Classification","api":"DELETE /v1/classifications/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/classifications/delete"},{"title":"List Classifications","sidebarTitle":"List Classifications","api":"GET /v1/classifications","href":"/v2.1.x-SNAPSHOT/api-reference/governance/classifications/list"},{"title":"Retrieve a Classification","sidebarTitle":"Retrieve a Classification","api":"GET /v1/classifications/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/classifications/retrieve"},{"title":"Update a Classification","sidebarTitle":"Update a Classification","api":"PUT /v1/classifications","href":"/v2.1.x-SNAPSHOT/api-reference/governance/classifications/update"},{"title":"Classification Versions","sidebarTitle":"Classification Versions","api":"GET /v1/classifications/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/governance/classifications/versions"}]},{"group":"Data Products","pages":[{"title":"Data Products API","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/governance/data-products"},{"title":"Create a Data Product","sidebarTitle":"Create a Data Product","api":"POST /v1/dataProducts","href":"/v2.1.x-SNAPSHOT/api-reference/governance/data-products/create"},{"title":"Delete a Data Product","sidebarTitle":"Delete a Data Product","api":"DELETE /v1/dataProducts/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/data-products/delete"},{"title":"List Data Products","sidebarTitle":"List Data Products","api":"GET /v1/dataProducts","href":"/v2.1.x-SNAPSHOT/api-reference/governance/data-products/list"},{"title":"Ports \u0026 Assets","sidebarTitle":"Ports \u0026 Assets","api":"PUT /v1/dataProducts/{fqn}/assets/add","href":"/v2.1.x-SNAPSHOT/api-reference/governance/data-products/ports-assets"},{"title":"Retrieve a Data Product","sidebarTitle":"Retrieve a Data Product","api":"GET /v1/dataProducts/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/data-products/retrieve"},{"title":"Update a Data Product","sidebarTitle":"Update a Data Product","api":"PUT /v1/dataProducts","href":"/v2.1.x-SNAPSHOT/api-reference/governance/data-products/update"},{"title":"Data Product Versions","sidebarTitle":"Data Product Versions","api":"GET /v1/dataProducts/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/governance/data-products/versions"}]},{"group":"Domains","pages":[{"title":"Domains API","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/governance/domains"},{"title":"Create a Domain","sidebarTitle":"Create a Domain","api":"POST /v1/domains","href":"/v2.1.x-SNAPSHOT/api-reference/governance/domains/create"},{"title":"Delete a Domain","sidebarTitle":"Delete a Domain","api":"DELETE /v1/domains/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/domains/delete"},{"title":"List Domains","sidebarTitle":"List Domains","api":"GET /v1/domains","href":"/v2.1.x-SNAPSHOT/api-reference/governance/domains/list"},{"title":"Retrieve a Domain","sidebarTitle":"Retrieve a Domain","api":"GET /v1/domains/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/domains/retrieve"},{"title":"Update a Domain","sidebarTitle":"Update a Domain","api":"PUT /v1/domains","href":"/v2.1.x-SNAPSHOT/api-reference/governance/domains/update"},{"title":"Domain Versions","sidebarTitle":"Domain Versions","api":"GET /v1/domains/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/governance/domains/versions"}]},{"group":"Glossaries","pages":[{"title":"Glossaries","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossaries"},{"title":"Create a Glossary","sidebarTitle":"Create a Glossary","api":"POST /v1/glossaries","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossaries/create"},{"title":"Delete a Glossary","sidebarTitle":"Delete a Glossary","api":"DELETE /v1/glossaries/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossaries/delete"},{"title":"List Glossaries","sidebarTitle":"List Glossaries","api":"GET /v1/glossaries","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossaries/list"},{"title":"Retrieve a Glossary","sidebarTitle":"Retrieve a Glossary","api":"GET /v1/glossaries/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossaries/retrieve"},{"title":"Update a Glossary","sidebarTitle":"Update a Glossary","api":"PUT /v1/glossaries","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossaries/update"},{"title":"Glossary Versions","sidebarTitle":"Glossary Versions","api":"GET /v1/glossaries/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossaries/versions"}]},{"group":"Glossary Terms","pages":[{"title":"Glossary Terms","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossary-terms"},{"title":"Create a Glossary Term","sidebarTitle":"Create a Glossary Term","api":"POST /v1/glossaryTerms","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossary-terms/create"},{"title":"Delete a Glossary Term","sidebarTitle":"Delete a Glossary Term","api":"DELETE /v1/glossaryTerms/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossary-terms/delete"},{"title":"List Glossary Terms","sidebarTitle":"List Glossary Terms","api":"GET /v1/glossaryTerms","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossary-terms/list"},{"title":"Retrieve a Glossary Term","sidebarTitle":"Retrieve a Glossary Term","api":"GET /v1/glossaryTerms/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossary-terms/retrieve"},{"title":"Update a Glossary Term","sidebarTitle":"Update a Glossary Term","api":"PUT /v1/glossaryTerms","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossary-terms/update"},{"title":"Glossary Term Versions","sidebarTitle":"Glossary Term Versions","api":"GET /v1/glossaryTerms/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/governance/glossary-terms/versions"}]},{"group":"Tags","pages":[{"title":"Tags","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/governance/tags"},{"title":"Create a Tag","sidebarTitle":"Create a Tag","api":"POST /v1/tags","href":"/v2.1.x-SNAPSHOT/api-reference/governance/tags/create"},{"title":"Delete a Tag","sidebarTitle":"Delete a Tag","api":"DELETE /v1/tags/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/tags/delete"},{"title":"List Tags","sidebarTitle":"List Tags","api":"GET /v1/tags","href":"/v2.1.x-SNAPSHOT/api-reference/governance/tags/list"},{"title":"Retrieve a Tag","sidebarTitle":"Retrieve a Tag","api":"GET /v1/tags/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/governance/tags/retrieve"},{"title":"Update a Tag","sidebarTitle":"Update a Tag","api":"PUT /v1/tags","href":"/v2.1.x-SNAPSHOT/api-reference/governance/tags/update"},{"title":"Tag Versions","sidebarTitle":"Tag Versions","api":"GET /v1/tags/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/governance/tags/versions"}]}]},{"group":"Data Quality","pages":[{"title":"Data Quality","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality"},{"group":"Test Cases","pages":[{"title":"Test Cases","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-cases"},{"title":"Create a Test Case","sidebarTitle":"Create a Test Case","api":"POST /v1/dataQuality/testCases","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-cases/create"},{"title":"Delete a Test Case","sidebarTitle":"Delete a Test Case","api":"DELETE /v1/dataQuality/testCases/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-cases/delete"},{"title":"Export Test Cases","sidebarTitle":"Export Test Cases","api":"GET /v1/dataQuality/testCases/name/{name}/export","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-cases/export"},{"title":"List Test Cases","sidebarTitle":"List Test Cases","api":"GET /v1/dataQuality/testCases","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-cases/list"},{"title":"Test Case Results","sidebarTitle":"Test Case Results","api":"GET /v1/dataQuality/testCases/testCaseResults/{fqn}","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-cases/results"},{"title":"Retrieve a Test Case","sidebarTitle":"Retrieve a Test Case","api":"GET /v1/dataQuality/testCases/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-cases/retrieve"},{"title":"Update a Test Case","sidebarTitle":"Update a Test Case","api":"PUT /v1/dataQuality/testCases","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-cases/update"},{"title":"Test Case Versions","sidebarTitle":"Test Case Versions","api":"GET /v1/dataQuality/testCases/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-cases/versions"}]},{"group":"Test Definitions","pages":[{"title":"Test Definitions","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-definitions"},{"title":"Create a Test Definition","sidebarTitle":"Create a Test Definition","api":"POST /v1/dataQuality/testDefinitions","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-definitions/create"},{"title":"List Test Definitions","sidebarTitle":"List Test Definitions","api":"GET /v1/dataQuality/testDefinitions","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-definitions/list"},{"title":"Retrieve a Test Definition","sidebarTitle":"Retrieve a Test Definition","api":"GET /v1/dataQuality/testDefinitions/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-definitions/retrieve"}]},{"group":"Test Suites","pages":[{"title":"Test Suites","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-suites"},{"title":"Create a Test Suite","sidebarTitle":"Create a Test Suite","api":"POST /v1/dataQuality/testSuites","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-suites/create"},{"title":"Delete a Test Suite","sidebarTitle":"Delete a Test Suite","api":"DELETE /v1/dataQuality/testSuites/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-suites/delete"},{"title":"List Test Suites","sidebarTitle":"List Test Suites","api":"GET /v1/dataQuality/testSuites","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-suites/list"},{"title":"Retrieve a Test Suite","sidebarTitle":"Retrieve a Test Suite","api":"GET /v1/dataQuality/testSuites/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-suites/retrieve"},{"title":"Update a Test Suite","sidebarTitle":"Update a Test Suite","api":"PUT /v1/dataQuality/testSuites","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-suites/update"},{"title":"Test Suite Versions","sidebarTitle":"Test Suite Versions","api":"GET /v1/dataQuality/testSuites/{id}/versions","href":"/v2.1.x-SNAPSHOT/api-reference/data-quality/test-suites/versions"}]}]},{"group":"Alerts","pages":[{"title":"Alerts","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/alerts"},{"title":"Create an Alert","sidebarTitle":"Create Alert","api":"POST /v1/events/subscriptions","href":"/v2.1.x-SNAPSHOT/api-reference/alerts/create"},{"title":"Delete an Alert","sidebarTitle":"Delete Alert","api":"DELETE /v1/events/subscriptions/{id}","href":"/v2.1.x-SNAPSHOT/api-reference/alerts/delete"},{"title":"List and Retrieve Alerts","sidebarTitle":"List and Retrieve","api":"GET /v1/events/subscriptions","href":"/v2.1.x-SNAPSHOT/api-reference/alerts/list"},{"title":"Update an Alert","sidebarTitle":"Update Alert","api":"PUT /v1/events/subscriptions","href":"/v2.1.x-SNAPSHOT/api-reference/alerts/update"}]},{"group":"Incidents","pages":[{"title":"Incidents","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/incidents"},{"title":"List and Retrieve Incidents","sidebarTitle":"List and Retrieve","api":"GET /v1/tasks","href":"/v2.1.x-SNAPSHOT/api-reference/incidents/list"},{"title":"Change Incident Status","sidebarTitle":"Change Status","api":"POST /v1/tasks/{id}/resolve","href":"/v2.1.x-SNAPSHOT/api-reference/incidents/update-status"}]},{"group":"Main Concepts","pages":[{"title":"Main Concepts | OpenMetadata Core Concepts Overview","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/main-concepts"},{"title":"High Level Design | OpenMetadata Architecture Overview","sidebarTitle":"High Level Design","href":"/v2.1.x-SNAPSHOT/api-reference/main-concepts/high-level-design"},{"title":"Backend DB","sidebarTitle":"Backend DB","href":"/v2.1.x-SNAPSHOT/api-reference/main-concepts/backend-db"},{"group":"Metadata Standard","pages":[{"title":"Metadata Standard | OpenMetadata Core Schema Guide","sidebarTitle":"Overview","href":"/v2.1.x-SNAPSHOT/api-reference/main-concepts/metadata-standard"},{"title":"APIs | OpenMetadata Metadata Standard APIs","sidebarTitle":"APIs","href":"/v2.1.x-SNAPSHOT/api-reference/main-concepts/metadata-standard/apis"}]}]}]}]}]},"basePath":"","title":"Python SDK for Lineage - OpenMetadata Documentation","buildId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","deploymentId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-9bQKnClW.js","lightbox-handle-r17bVUz3.js"]}