FREEDOM251

Freedom251 › Data Lineage Tools

SQLLineage

Free plan APILinuxSelf-hosted

Visit SQLLineage Alternatives Pricing

SQLLineage's own site

What SQLLineage is

SQLLineage is a free Python package and command-line tool that analyzes SQL commands to identify source and target tables. It can combine lineage across multiple statements and identify intermediate tables. Its command-line interface can show column-level lineage paths, and a web server can display table and column relationships as a DAG in a browser. Developers can also import it into Python and use its LineageRunner API.

The package analyzes SQL using pluggable sqlfluff and sqlparse parsers. ANSI is the default dialect; the documentation recommends specifying a dialect for dialect-specific SQL. Metadata can improve column-lineage accuracy for wildcard selections and unqualified columns in joins. A SQLAlchemy metadata provider queries database metadata, but database drivers must be installed separately. For large lineage graphs, an optional rustworkx graph operator is recommended for better performance. SQLLineage can be installed with pip from PyPI or directly from GitHub; the GitHub installation requires Node.js/npm for the web-based DAG viewer. The repository identifies its license as MIT.

Who it suits

SQLLineage suits developers who need to trace table or column lineage across SQL statements. It also offers a Python API and a browser-based graph view for users who want those forms of access.

What it does well

  • Combines lineage across multiple SQL statements.
  • Can show column-level paths and intermediate tables.
  • Offers a browser-based DAG viewer.
  • MIT-licensed and installable from PyPI or GitHub.

What to know first

  • Dialect-specific SQL analysis may require a specified dialect.
  • Database drivers must be installed separately for metadata queries.
  • GitHub installation requires Node.js/npm for the DAG viewer.

Limits

The package is free. For the GitHub installation, the web-based DAG viewer requires Node.js/npm; database drivers must also be installed separately to use the SQLAlchemy metadata provider.

Plans

PlanBilled and limitsPrice
SQLLineageOpen-source Python package · MIT license · Install via PyPI or GitHubFree

As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.

Getting started

  1. Install the package with pip from PyPI or GitHub.
  2. For the GitHub installation's web-based DAG viewer, install Node.js/npm.
  3. Specify the SQL dialect when analyzing dialect-specific SQL.
  4. Optionally provide metadata to improve column-lineage accuracy.
  5. Optionally use the LineageRunner API from Python.

Verdict

SQLLineage offers SQL lineage through command-line, Python, and browser-based views. Specifying the SQL dialect and providing metadata can improve analysis for dialect-specific statements and some column references.

Questions

How much does SQLLineage cost?

The listed plan is free. The repository identifies its license as MIT.

How can I install SQLLineage?

Install it with pip from PyPI or directly from GitHub. The GitHub installation requires Node.js/npm for the web-based DAG viewer.

Can SQLLineage show column-level lineage?

Yes. Its command-line interface can show column-level lineage paths, and its browser DAG can display column-level relationships.

Can SQLLineage query database metadata?

Its SQLAlchemy metadata provider can query database metadata, but database drivers must be installed separately.

Which SQL dialect does it use?

ANSI is the default. The documentation recommends specifying a dialect to improve lineage analysis for dialect-specific SQL.

Does SQLLineage have a Python API?

Yes. It can be imported as a Python package and used through its LineageRunner API.

Facts from SQLLineage's own pages

Column lineage
Its command-line interface can show column-level lineage paths. · github.com, 11 Oct 2026
Database connections
Its SQLAlchemy metadata provider queries database metadata, but database drivers must be installed separately. · sqllineage.readthedocs.io, 11 Oct 2026
Graph performance
An opt-in rustworkx graph operator is recommended for better performance on large lineage graphs. · sqllineage.readthedocs.io, 11 Oct 2026
Installation
The package can be installed with pip from PyPI or directly from GitHub; GitHub installation requires Node.js/npm for the web-based DAG viewer. · sqllineage.readthedocs.io, 11 Oct 2026
License
The GitHub repository identifies its license as MIT. · github.com, 11 Oct 2026
Metadata
Metadata can improve column-lineage accuracy for wildcard selections and unqualified columns in joins. · sqllineage.readthedocs.io, 11 Oct 2026
Multiple statements
It combines lineage across multiple SQL statements and identifies intermediate tables. · github.com, 11 Oct 2026
Purpose
SQLLineage analyzes SQL commands to identify source and target tables. · github.com, 11 Oct 2026
Python API
SQLLineage can be imported as a Python package and used through its LineageRunner API. · sqllineage.readthedocs.io, 11 Oct 2026
Security release
The changelog describes v1.5.3 as a security release that upgraded dependencies after vulnerability alerts. · sqllineage.readthedocs.io, 11 Oct 2026
SQL dialects
ANSI is the default dialect, and the documentation recommends specifying a dialect to improve lineage analysis for dialect-specific SQL. · github.com, 11 Oct 2026
SQL parsing
It uses pluggable sqlfluff and sqlparse parsers to analyze SQL. · sqllineage.readthedocs.io, 11 Oct 2026
Visualization
It can start a web server that displays table-level and column-level lineage as a DAG in a browser. · github.com, 11 Oct 2026

Where SQLLineage stands on Freedom251

Look at these too