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.1.0.tar.gz (302.4 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.1.0-py3-none-any.whl (253.2 kB view details)

Uploaded Python 3

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

Hashes for linexcel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7b8124784350f9452576f862849c3bca5a34069e132d2b798fe3fab676979662
MD5 d9f5ff56b7ed3fbd51af241b833f70ac
BLAKE2b-256 a34a802200b0c44b9e99f3ded642ba2fd2aafe9f7f3b09635aee4bafd8b9525f

See more details on using hashes here.

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

Hashes for linexcel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b6d5eff92a4bc03e2c68f5fc9947564029b557cf9d5c764e701fe049046b58a
MD5 1eb5944d23122daf3cbf16998e329073
BLAKE2b-256 f956de0b5c2e9dfb12410e0536253e62a22a26e66fe01deaf0e5e920d05bf19c

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