Abstract compute flow background

Formualizer is a permissively licensed spreadsheet engine with Arrow-powered performance, deterministic evaluation for agents, and consistent Rust, Python, and WASM APIs.

Minimal surface, maximum extensibility.

Pick a runtime and follow the same flow: import workbook, edit an input, recalculate, and read updated output.

Install

Install (Rust)
cargo add formualizer-workbook --features umya

First flow

Load → edit → recalc (Rust)
use formualizer_workbook::{    LoadStrategy, SpreadsheetReader, UmyaAdapter, Workbook, WorkbookConfig,};use formualizer_common::LiteralValue;let backend = UmyaAdapter::open_path("model.xlsx")?;let mut wb = Workbook::from_reader(    backend,    LoadStrategy::EagerAll,    WorkbookConfig::interactive(),)?;let before = wb.evaluate_cell("Inputs", 2, 2)?;// Edit input valuewb.set_value("Inputs", 2, 2, LiteralValue::Number(1250.0))?;// Recalculate dependent output celllet after = wb.evaluate_cell("Outputs", 2, 4)?;println!("before={before:?} after={after:?}");

Pick your path

Start from the runtime you ship today, then expand to shared function coverage and cross-runtime parity as your models grow.

Rust runtime illustration

Systems runtime

Rust

Compile-time safety and high-throughput workbook execution from native Rust.

Python runtime illustration

Automation runtime

Python

Drop spreadsheet logic into data pipelines and notebooks with a Python-first API.

JS / WASM runtime illustration

Web runtime

JS / WASM

Run the same engine in browser and Node with a portable WASM package.

Engine capabilities

Formualizer is built for real workbook systems: deep function coverage, performant recalculation, and extensibility for custom business logic.

320+ Excel-compatible built-ins illustration

Function depth

320+ Excel-compatible built-ins

Lookup, math, text, date/time, financial, statistical, and dynamic-array coverage.

Incremental dependency graph illustration

Recalculation engine

Incremental dependency graph

Topological scheduling, cycle detection, and selective recompute designed for large models.

Extensible by design illustration

Plugins and UDFs

Extensible by design

Workbook-local custom functions today, with WASM plugin and provider expansion paths underway.

Anybody can build.

Formualizer supports hands-on engineering, agent-native workflows, and production automation with one consistent engine.

Engineer flow
use formualizer_common::LiteralValue;use formualizer_workbook::Workbook;let mut wb = Workbook::new();wb.add_sheet("Sheet1")?;wb.set_value("Sheet1", 1, 1, LiteralValue::Number(100.0))?;wb.set_value("Sheet1", 2, 1, LiteralValue::Number(20.0))?;wb.set_formula("Sheet1", 1, 2, "=A1-A2")?;assert_eq!(wb.evaluate_cell("Sheet1", 1, 2)?, LiteralValue::Number(80.0));

The familiar workbook model.

Use Workbook APIs directly to set values, author formulas, and evaluate cells with explicit control.

  • Ergonomic workbook API in Rust with sheet/cell operations
  • Incremental recalc through dependency graph
  • Custom function registration for domain logic
  • Deterministic controls for reproducible results