Data lineage analysis for Excel workbooks — formula extraction, dependency graph, step-by-step evaluation, AI documentation
Project description
linexcel
Data lineage analysis for Excel workbooks.
Extracts every formula, groups stretched patterns (R1C1 canonicalization), builds a dependency graph (cells, ranges, defined names, VBA), decomposes composite functions with step-by-step evaluation, and optionally documents calculations via AI.
Install
pip install linexcel
# AI documentation (optional):
pip install "linexcel[ai]"
Usage
from linexcel import analyze
result = analyze("workbook.xlsx")
result # interactive graph in marimo / Jupyter
result.save_html("out.html") # standalone offline HTML viewer
result.stats # {totalFormulas, totalNodes, ...}
result.warnings # list[str]
# AI documentation (optional, requires google-genai):
docs = result.document(api_key="...") # all calculation nodes
docs = result.document(node_ids=["A1"], api_key="...")
result.save_html("out.html", docs=docs) # docs embedded in HTML
Features
- Formula extraction via formualizer (Rust engine)
- Stretched pattern grouping — 1000 identical formulas → 1 node
- Dependency graph — cells, ranges, defined names, VBA procedures
- Step-by-step evaluation — each operator/function evaluated individually
- Standalone HTML viewer — Cytoscape.js embedded, fully offline
- AI documentation — Gemini generates provable docs from deterministic lineage
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file linexcel-0.1.0.tar.gz.
File metadata
- Download URL: linexcel-0.1.0.tar.gz
- Upload date:
- Size: 302.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b8124784350f9452576f862849c3bca5a34069e132d2b798fe3fab676979662
|
|
| MD5 |
d9f5ff56b7ed3fbd51af241b833f70ac
|
|
| BLAKE2b-256 |
a34a802200b0c44b9e99f3ded642ba2fd2aafe9f7f3b09635aee4bafd8b9525f
|
File details
Details for the file linexcel-0.1.0-py3-none-any.whl.
File metadata
- Download URL: linexcel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 253.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b6d5eff92a4bc03e2c68f5fc9947564029b557cf9d5c764e701fe049046b58a
|
|
| MD5 |
1eb5944d23122daf3cbf16998e329073
|
|
| BLAKE2b-256 |
f956de0b5c2e9dfb12410e0536253e62a22a26e66fe01deaf0e5e920d05bf19c
|