Skip to content

Choose a Surface ​

Formulon packages the same C++ core for several hosts. Each package is a surface: the API and distribution format one host sees.

Same engine, different host contracts

The surface decides packaging, memory lifetime, deployment, and how host errors are reported. Formula results come from the shared core; where exact agreement matters, check it with the same engine version, profile and workbook on each surface you ship.

SurfaceBest forPackage
WebAssemblyBrowser apps, workers, Node services@libraz/formulon
Native NodeNode services that can build or stage a .node addon@libraz/formulon-native (built from a source checkout, not on npm)
PythonNotebooks, batch jobs, data pipelinesformulon
CLIShell scripts, CI checks, workbook inspectionGitHub Releases
MCPAI agents that open, edit and save workbooks@libraz/formulon-mcp
C ABIHost applications and custom bindingsrepository build

Pick the highest-level surface that fits your deployment. Drop to the C ABI only when you need a binding that is not already packaged.

Decision guide ​

Where does it run?Server / job: which language?Node: can you build or stage a .node addon?BrowserWASM, @libraz/formulonServer / jobChoose by language,belowShell / CICLI, from GitHubReleasesAgent / LLMMCP, @libraz/formulon-mcpPythonPython package: formulonNodeNative Node or WASM, belowOtherC ABI, built from the repository@libraz/formulon-nativeYes. Not on npm; built from source@libraz/formulonNo. WASM, no native build stepWhere does it run?Server / job: which language?Node: can you build or stage a .node addon?BrowserWASM, @libraz/formulonServer / jobChoose by language, belowShell / CICLI, from GitHub ReleasesAgent / LLMMCP, @libraz/formulon-mcpPythonPython package: formulonNodeNative Node or WASM, belowOtherC ABI, built from the repository@libraz/formulon-nativeYes. Not on npm; built from source@libraz/formulonNo. WASM, no native build step
A Node service uses Native Node only when a .node addon can be built or staged; otherwise WASM covers it.
RequirementRecommended surface
Browser upload, local preview, worker-side recalculationWASM
Node service with no native install assumptionsWASM
Node service with large workbooks and native deploymentNative Node
Batch job or notebookPython
CI workbook snapshotsCLI
AI agent editing workbooksMCP
New language bindingC ABI