C:\> BOOT SHEETY.EXE
SPREADSHEET ENGINE .............. OK
FORMULA PARSER .................. OK
640K CONVENTIONAL MEMORY ........ ENOUGH

SHEETY

Spreadsheets, compiled to binaries.

Because YAML files deserve to be executables too.

[ View on GitHub ]
(!) Warning: This is experimental software. By using it, you agree that compiling a YAML file into a binary spreadsheet is probably ridiculous, but you're going to do it anyway.

See It In Action

FIG. 1 - SHEETY.EXE IN ITS NATURAL HABITAT

What "People" Are Saying

What Even Is This?

Sheety compiles spreadsheet definitions (YAML or Excel) into standalone, interactive TUI binaries. Each spreadsheet becomes its own executable with a terminal UI. Yes, really. We asked ourselves "what if spreadsheets were compiled binaries?" and then we just kept going.

No runtime dependencies. No JVM. No Python. Just a single binary that runs your spreadsheet with formula support, cell editing, and in-process rebuilding.

Features

[*] Hash-Based Caching

Smart content-based caching makes re-running unchanged spreadsheets ~400x faster. First run: ~3 seconds. Subsequent runs: ~0.007 seconds (instant).

[#] Format Support

Works with YAML (version control friendly) and Excel (.xlsx) files. Convert between any format with full roundtrip support.

[%] Terminal UI

Interactive TUI with 1000x1000 grid, mouse support, formula editing, and live recalculation. Navigate, edit, save—all in your terminal.

[@] Self-Rebuilding

Edit a formula in the TUI and it recompiles itself from within the binary. The binary rebuilds the binary. It's binaries all the way down.

[&] State Persistence

UUID-based state management that survives rebuilds. Remembers cursor position and saves all changes back to your source file.

[+] Excel Formulas

Comprehensive formula support: SUM, AVERAGE, IF, VLOOKUP, CONCAT, text functions, date functions, and more. 50+ functions implemented.

How To Use

Option 1: Download Static Binary (Recommended)

Download a pre-built static binary - no dependencies required:

C:\SHEETY> wget https://github.com/ralsina/sheety/releases/latest/download/sheety-static-linux-amd64 -O sheety
C:\SHEETY> chmod +x sheety
C:\SHEETY> ./sheety my_sheet.yaml
Creating new spreadsheet: my_sheet.yaml
Building...
Launching TUI... [Press Q to exit]

Also available for ARM64 (Raspberry Pi, AWS Graviton, etc.)

Option 2: Build from Source

C:\SHEETY> git clone https://github.com/ralsina/sheety
C:\SHEETY> cd sheety && shards install && shards build
C:\SHEETY> ./bin/sheety my_sheet.yaml

Convert Between Formats

C:\SHEETY> ./sheety data.yaml --save-to=data.xlsx
Converted: data.yaml -> data.xlsx
C:\SHEETY> ./sheety data.xlsx --save-to=data.yaml
Converted: data.xlsx -> data.yaml

Spreadsheet Format

Define your spreadsheet in YAML:

Sheet1:
  A1:
    value: 100
  A2:
    value: 200
  A3:
    formula: "=SUM(A1:A2)"
  B1:
    value: "Hello"
  B2:
    formula: "=CONCAT(B1, \" World\")"

Sheet2:
  A1:
    formula: "=Sheet1!A3*2"

Why Would You Use This?

Formula Support

Math: SUM, AVERAGE, MIN, MAX, COUNT, COUNTA, MEDIAN, STDEV, VAR, ROUND, POWER, SQRT, MOD, ABS

Text: CONCAT, LEFT, RIGHT, MID, LEN, UPPER, LOWER, TRIM, FIND, SEARCH, SUBSTITUTE

Logical: IF, AND, OR, NOT, IFS, SWITCH

Lookup: VLOOKUP, HLOOKUP, INDEX

Date: TODAY, NOW, YEAR, MONTH, DAY, DATEDIF, EOMONTH

Conditional: COUNTIF, SUMIF

Status

[OK] Features: Formula parsing * YAML/Excel support * TUI * Interactive editing * State persistence * In-process rebuilding * Hash caching

[!!] Experimental: This is "I had a weird idea and ran with it" software. Use it for learning, for fun, or because you too want compiled spreadsheet binaries.

Actually, if you DO run your nuclear power plant's financial models on compiled spreadsheet binaries, please tell us. That would be an amazing story.

Contributing

Found a bug? Have a feature idea? PRs welcome! Just remember: we're compiling YAML to binaries here. Let's keep it weird.