Lineage Diff

circle-info

The Lineage Diff module allows you to easily interact with Paradime Lineage Diffarrow-up-right feature to trigger, generate and return column level lineage reports.

Trigger Lineage Diff report and wait until report is returned

Triggers a lineage diff report for the specified parameters and waits until generation is completed.

bolt_run_id (int): The ID of the completed Turbo CI bolt run.

pull_request_number (int): The number of the pull request.

user_email (str): The email of the user triggering the report (pull request author).

changed_file_paths (List[str]): A list of file paths that have changed in the pull request.

timeout (int, optional): Maximum time in seconds to wait for the report to be available. Defaults to 3600.

# First party modules
from paradime import Paradime

# Create a Paradime client with your API credentials
paradime = Paradime(api_endpoint="API_ENDPOINT", api_key="API_KEY", api_secret="API_SECRET")

# Replace with all the arguments to generate the lineage diff report
BOLT_RUN_ID = 12345
PULL_REQUEST_NUMBER = 24
USER_EMAIL = "[email protected]"
CHANGED_FILES = ["dbt/models/marts/core/order_items.sql", "dbt/models/marts/core/new_model.sql"]

# Trigger lineage diff report and wait until completed
report = paradime.lineage_diff.trigger_report_and_wait(
    bolt_run_id=BOLT_RUN_ID,
    pull_request_number=PULL_REQUEST_NUMBER,
    user_email=USER_EMAIL,
    changed_file_paths=CHANGED_FILES,
)

Report object details

The report object provides several options that can be selected with the following attributes:

  • message: A string containing details of the report status.

  • status: Indicates the status of the operation or request.

  • url: A string representing a URL to the Bolt schedule compiling the two git branches.

  • uuid: A unique identifier for the report.

  • result_json: Contains the result in JSON format.

  • result_markdown: Provides the result in Markdown format.

Last updated

Was this helpful?