Freedom251 › Data Lineage Tools
SQLLineage

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
| Plan | Billed and limits | Price |
|---|---|---|
| SQLLineage | Open-source Python package · MIT license · Install via PyPI or GitHub | Free |
As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.
Getting started
- Install the package with pip from PyPI or GitHub.
- For the GitHub installation's web-based DAG viewer, install Node.js/npm.
- Specify the SQL dialect when analyzing dialect-specific SQL.
- Optionally provide metadata to improve column-lineage accuracy.
- 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
- Data Lineage Tools#12 of 43