Skip to main content

sheetwright

A toolkit that lets Claude Code work with spreadsheets the way it works with code: text-source files, git, TDD, diffs, and review.

.xlsx is treated as a build artifact compiled from text sources. You write Markdown tables and YAML sidecars; sheetwright produces the workbook and runs LibreOffice Calc in headless mode (the default, swappable calc engine) to evaluate every formula. From there you assert on outputs with ordinary Python tests, diff source against any other workbook, and snapshot calculated values for regression checks.

sheetwright also ships an MCP (Model Context Protocol) server, so Claude Code (or any MCP client) can drive a project end-to-end through typed tools that mirror the CLI.

Quick reference

sheetwright init my-model              # scaffold a fresh project
sheetwright import path/to/model.xlsx  # ingest an existing workbook (or re-import)
sheetwright build                      # compile sources -> build/<name>.xlsx
sheetwright recalc                     # run the calc engine, cache results
sheetwright test                       # run testsweet tests
sheetwright snapshot [--update]        # golden-file regression of outputs
sheetwright diff [--vs xlsx:<path>]    # semantic diff of source or vs an xlsx
sheetwright check                      # lint dangling refs, missing names, etc.
sheetwright mcp                        # run the MCP server on stdio

Installation

sheetwright uses uv for project management and Python 3.11.

git clone https://github.com/kaapstorm/sheetwright.git
cd sheetwright
uv sync
uv run sheetwright --help

LibreOffice must be on PATH for the default calc engine.

  • Debian/Ubuntu: apt install libreoffice
  • macOS: brew install --cask libreoffice
  • Windows (PowerShell): winget install --id TheDocumentFoundation.LibreOffice

Windows users new to the command line should start with the Windows setup primer.

Documentation

License

GPL-3.0-or-later.

Metadata

Release files for sheetwright 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sheetwright 0.1.2
File Size Uploaded Provenance Actions
sheetwright-0.1.2.tar.gz 179.7 kB With provenance Details for sheetwright-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sheetwright 0.1.2
File Interpreter ABI Platform Actions
sheetwright-0.1.2-py3-none-any.whl Python 3 none any Details for sheetwright-0.1.2-py3-none-any.whl

Total release size: 259.1 kB

Release files / sheetwright-0.1.2.tar.gz

Download URL sheetwright-0.1.2.tar.gz
Size 179.7 kB
Tags Source
SHA-256 checksum
How to use checksums
dd156017d2f7a1dd2b3727d346604c9fe9a56e213cdb8f81da1fbf2bb4175c21
BLAKE2b-256 checksum
How to use checksums
3ff6ffd86de3620171949b1c119a75074f0b9accb56f8cca53f8f1fa903d22c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 10, 2026.

Transparency log

Release files / sheetwright-0.1.2-py3-none-any.whl

Download URL sheetwright-0.1.2-py3-none-any.whl
Size 79.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7142e7b871738d2104ed48d5113c339833ce6b403fbdf04abf72e554f906b37
BLAKE2b-256 checksum
How to use checksums
f55dadf0197215d1af56a0dc40ff5d681b234e8d3c5d73adc94d96f468ab02fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 10, 2026.

Transparency log

Security for sheetwright 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for sheetwright-0.1.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page