npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gaussformula

v0.1.10

Published

GaussFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas

Readme


About GaussFormula

GaussFormula is a headless spreadsheet engine for JavaScript and TypeScript, designed for business and scientific web applications. It is a fork of HyperFormula with native support for uncertainty through explicit probability distributions such as N(mean, variance), LN(mu, sigma), U(min, max), N.CI(lower, upper[, confidence]), and LN.CI(lower, upper[, confidence]).

GaussFormula is ideal for:

  • Custom spreadsheet-like apps
  • Scientific and engineering tools
  • Business logic builders
  • Educational apps
  • Online calculators

Key Features

  • Function syntax compatible with Microsoft Excel and Google Sheets
  • High-speed parsing and evaluation of spreadsheet formulas
  • ~400 built-in functions
  • Native support for uncertainty: work with explicit probability distributions and propagate uncertainty through sampled calculations
  • Support for custom functions
  • Node.js and browser support
  • Undo/redo, CRUD operations, clipboard, named expressions, data sorting
  • Formula localization (17+ languages)
  • GPLv3 license

Installation

yarn add gaussformula
# or
npm install gaussformula

Usage Example

import { HyperFormula } from 'gaussformula';

// Create a GaussFormula instance
const gf = HyperFormula.buildEmpty({ licenseKey: 'gpl-v3' });

// Add a sheet and enter an explicit uncertainty input
const sheetName = gf.addSheet('Demo');
const sheetId = gf.getSheetId(sheetName);

gf.setCellContents({ sheet: sheetId, row: 0, col: 0 }, [['N.CI(1, 2)', '3', '=A1+B1', '=A1*B1']]);

console.log(gf.getCellValue({ sheet: sheetId, row: 0, col: 2 })); // SampledDistribution
console.log(gf.getCellValue({ sheet: sheetId, row: 0, col: 3 })); // SampledDistribution

What’s Unique: Distribution Support

GaussFormula extends HyperFormula with first-class support for explicit uncertainty inputs. Distribution inputs are parsed, stored, and propagated through arithmetic using Monte Carlo sampling.

Distribution notation

  • N(mean, variance) uses normal-distribution parameters directly.
  • LN(mu, sigma) uses log-space parameters: if X ~ LN(mu, sigma), then ln(X) ~ N(mu, sigma^2). mu and sigma are not the mean and standard deviation of X.
  • Prefer LN.CI(lower, upper[, confidence]) for user-facing lognormal inputs because the bounds are in the original value scale.
  • N.CI(lower, upper[, confidence]) derives a normal distribution from a value-scale confidence interval.
  • U(min, max) represents a uniform range on the original value scale.

Example:

  • A1 -> N.CI(1, 2)
  • =A1 + 3 returns a sampled distribution
  • =A1 * 3 returns a sampled distribution

Technical Notes

GaussFormula represents explicit uncertainty inputs with DistributionNumber and arithmetic outputs with SampledDistribution. Arithmetic over distributions uses Monte Carlo sampling instead of closed-form distribution algebra.


Contributing

Contributions are welcome! Please open issues or pull requests on GitHub.


License

GaussFormula is available under the GPLv3 license.


Acknowledgments

GaussFormula is a fork of the outstanding HyperFormula project by Handsoncode. Huge thanks to the original authors and maintainers for their work on the core spreadsheet engine.