SQLLineage: SQL Lineage Analysis Tool Powered by Python

Never get the hang of a SQL parser? SQLLineage comes to the rescue. Given a SQL command, SQLLineage will tell you its source and target tables, without worrying about Tokens, Keyword, Identified and all the jagons used by a SQL parser.

Behind the scene, SQLLineage uses the fantastic sqlparse library to parse the SQL command, and bring you all the human-readable result with ease.

First steps

Getting Started

Install SQLLineage and quick use the handy built-in command-line tool

Advanced Usage

Some advanced usage like multi statement SQL lineage and lineage visualization

Beyond Command Line

Using SQLLineage in your Python script

Behind the scene

Why SQLLineage

The motivation of writing SQLLineage

How Does SQLLineage Work

The inner mechanism of SQLLineage

DOs and DONTs

Design principles for SQLLineage

Basic concepts

LineageRunner

LineageRunner: The entry point for SQLLineage

LineageAnalyzer

LineageAnalyzer: The core functionality of analyze one SQL statement

LineageHolder

LineageCombiner: To hold lineage result at different level

LineageModels

The data classes for SQLLineage

Release note

Changelog

See what’s new for each SQLLineage version