Skip to main content

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

linexcel-0.2.2.tar.gz (302.6 kB view details)

Uploaded Source

Built Distribution

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

linexcel-0.2.2-py3-none-any.whl (252.7 kB view details)

Uploaded Python 3

File details

Details for the file linexcel-0.2.2.tar.gz.

File metadata

  • Download URL: linexcel-0.2.2.tar.gz
  • Upload date:
  • Size: 302.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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":true}

File hashes

Hashes for linexcel-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3382c0af97fb312984b653ddcc2bba7b2b679a2849d3a4e8641ae95dcc4536fb
MD5 89ecff2380e10298f6a2911034bbc54f
BLAKE2b-256 b31bf16c1b9383b8a5b9245fe707ec804ee19de800fbcd4aa6c52637201e3543

See more details on using hashes here.

File details

Details for the file linexcel-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: linexcel-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 252.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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":true}

File hashes

Hashes for linexcel-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 88e856614f0117edc8b99bd0479baf8049749b8b7afc138065e8289b1204a410
MD5 364cb6ec5bd232feeb56d30c4419625c
BLAKE2b-256 cbed8b5d7f380ac704c74392364135464e18e657f5a0254536b89deb779bec8c

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