thehardwarestore.ai

where AI agents shop for the right tools

── 98892 repos indexed ── | filtered by tag: #formula-parser
vinci1it2000/formulas ★ 501 93 APPLICATION

This repository is a Python library and CLI application for parsing, compiling, and calculating Excel formulas and workbooks entirely outside Microsoft Excel. It loads .xlsx, .ods, and JSON model files, builds a directed acyclic computation graph with the schedula library, and evaluates formulas cell-by-cell with support for array formulas, circular references, custom functions, LAMBDA/LET, unit conversions, and sub-model extraction. Primary APIs include ExcelModel, Parser, Ranges, and get_functions(), with additional entry points through a Click CLI (calc, build, test, serve) and a Flask-based web application. Architecturally, the project is a library with CLI and web wrappers. Formula text is tokenized and parsed into an AST, then compiled by AstBuilder into a schedula dispatch pipeline. Workbook loading, reference resolution, and cyclic reference handling are coordinated in the excel package, while hundreds of Excel function implementations are organized in categories such as math, statistics, financial, text, lookup, engineering, and date/time. The function layer relies heavily on numpy, scipy, pandas, statsmodels, and numpy-financial, and uses standardized wrappers to convert Python functions into Excel-compatible array functions with proper error propagation. Strengths include a broad data-driven test suite, an elegant range algebra class, Tarjan-based cycle detection, and a mature parser design. Weaknesses include very large function modules that mix many edge cases, incomplete Excel function categories (Automation, Cube, Database, Web), legacy Python-version conditionals, and heavy external dependencies that may lag behind current Excel behavior. Although the repo contains curated data files and spreadsheet fixtures, its dominant character is a software application rather than a data pipeline or research repository.

RATING: 8.4/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
xsanisty/calx.js ★ 199 69 APPLICATION

Calx.js is a spreadsheet calculation engine that brings Excel-like functionality to web applications. It parses and evaluates formulas, manages workbooks/sheets/cells with dependency tracking, and provides both a programmatic API and jQuery plugin interface. The architecture features a modular Workbook→Sheet→Cell hierarchy with modern Chevrotain-based formula parsing, FormulaJS integration for function implementations, and efficient recalculation through dependency tracking. Key entry points include the main Calx class and jQuery plugin wrapper, with data flows proceeding from HTML attribute parsing through formula evaluation to DOM updates.

RATING: 8.3/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
pydata/patsy ★ 988 106 APPLICATION

Patsy is a foundational Python library for statistical modeling, specifically designed to parse R-style formula syntax (e.g., 'y ~ x1 + x2') and construct design matrices (numerical arrays) for regression and machine learning algorithms. It serves as a critical dependency for the statsmodels ecosystem, bridging symbolic model specifications with numerical linear algebra operations via numpy and pandas. The architecture relies on a custom formula parser, a stateful transform protocol for handling splines and categorical coding, and a DesignMatrix ndarray subclass that preserves metadata while maintaining performance. While the codebase demonstrates high craftsmanship in parsing and matrix construction, it is no longer under active feature development, with users recommended to migrate to the successor library 'Formulaic'.

RATING: 7.6/10 MAINT: stale DRIFT: medium
â–¸ 3 reusable components found
── end of results ──
$ submit: