Skip to main content

No project description provided

Project description

Prophecy Lineage Extractor Documentation

Description

The Prophecy Lineage Extractor is a tool to extract lineage information from Prophecy projects and pipelines. It allows users to specify a project, pipeline, and branch, and outputs the extracted lineage to a specified directory. Optional features include email notifications.


Usage

python -m prophecy_lineage_extractor --project-id <PROJECT_ID> --pipeline-id <PIPELINE_ID> --output-dir <OUTPUT_DIRECTORY> [--send-email] [--branch <BRANCH_NAME>] [--recursive_extract <true/false>] [--run_for_all <true/false>]
  • We must need to set these env variables PROPHECY_URL and PROPHECY_PAT

Arguments

Required Arguments

  • --project-id

    • Type: str
    • Description: Prophecy Project ID.
    • Required: Yes
  • --pipeline-id

    • Type: str
    • Description: Prophecy Pipeline ID.
    • Required: Yes
  • --output-dir

    • Type: str
    • Description: Output directory inside the project where lineage files will be stored.
    • Required: Yes

Optional Arguments

  • --run_for_all

    • Type: boolean flag
    • Description: If Specified, a Project level Lineage Excel file is created as an Overall Project.
  • --recursive-extract

    • Type: boolean flag
    • Description: If Specified, for any column from a source, which has been changed upstream, a recursive search for the same is displayed.
  • --send-email

    • Type: flag
    • Description: If specified, sends an email with the generated lineage report to ENV variable RECEIVER_EMAIL.
    • We must set following Env variables for this option if passed
      • SMTP_HOST
      • SMTP_PORT
      • SMTP_USERNAME
      • SMTP_PASSWORD
      • RECEIVER_EMAIL
  • --branch

    • Type: str
    • Description: Branch to run the lineage extractor on.
    • Default: default branch in Prophecy, generally 'main or master'

Running

  • Please run extractor as following, it needs env variables
  • we Only need to set SMTP creds if we plan to pass --send-email argument
export PROPHECY_URL=https://app.prophecy.io
export PROPHECY_PAT=${{ secrets.PROPHECY_PAT }}

# These are needed if you using --send-email option
export SMTP_HOST=smtp.gmail.com
export SMTP_PORT=587
export SMTP_USERNAME=${{ secrets.SMTP_USERNAME }}
export SMTP_PASSWORD=${{ secrets.SMTP_PASSWORD }}
export RECEIVER_EMAIL=ashish@prophecy.io

python -m prophecy_lineage_extractor --project-id 36587 --pipeline-id 36587/pipelines/customer_orders_demo --send-email --branch dev

Github Action Guide

  • This extactor can be setup in Github Action of a Prophecy project to get email of lineage on every commit to main

  • Following is a sample of github action we can use on default branch Github Action default branch

  • Following is a sample of github action we can use on custom branch Github Action custom branch


Gitlab Action Guide

  • Following is a sample of gitlab action we can use on a branch Gitlab Action guide
  • Note—we need to create gitlab CI/CD variables(secrets) for using them in our YML file, ex. SMTP_USER etc.
  • additionally, we will also need to setup an ACCESS_TOKEN to allow the JOB to commit if commit is enabled.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prophecy_lineage_extractor-0.15.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prophecy_lineage_extractor-0.15.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file prophecy_lineage_extractor-0.15.0.tar.gz.

File metadata

File hashes

Hashes for prophecy_lineage_extractor-0.15.0.tar.gz
Algorithm Hash digest
SHA256 32dc5510128df3f7a026d3f1ebbee2a00a4a55a32844c1025474d2e4972809f1
MD5 acf1558d8898c5fd66d6546c6b5ca6c8
BLAKE2b-256 dc0a2e45ffe3396a13331df612fd8b21da6aa78f4d8f67b26dd9a3ded22b195f

See more details on using hashes here.

File details

Details for the file prophecy_lineage_extractor-0.15.0-py3-none-any.whl.

File metadata

File hashes

Hashes for prophecy_lineage_extractor-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2aba837aeb870edb10188a4982bc051b4cc7238008b9cb8d07c9c2537fe0546
MD5 50c002c8731ada905d8ffbc2d06008cb
BLAKE2b-256 dd126b5c3985f5fe417bf1a687c1e6795fdad7635813fa1661b0c765c18fa052

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page