SciEqLint lints scientific Markdown, LaTeX, and notebooks for equation mistakes, broken references, and CI-ready diagnostics before they reach reviewers.
python -m pip install scieqlint
scieqlint check README.mdRun it on Markdown/MyST docs before review to catch mistakes like this:
(a+b)^2 = a^2 + b^2Diagnostic:
ALG001 algebraic identity does not hold
left - right = 2*a*b
It also catches supported broken equation references:
See {eq}`missing`.Diagnostic:
REF002 equation reference target not found: missing
python -m pip install -e '.[dev]'
scieqlint --help
scieqlint check .
scieqlint check examples/bad/famous_bad.md --format github
scieqlint demoscieqlint check [PATH_OR_GLOB...]
scieqlint graph [PATH_OR_GLOB...] --output scieqlint-graph.json
scieqlint init
scieqlint init --preset mechanics
scieqlint presets list
scieqlint presets show mechanics
scieqlint demo
scieqlint explain CODE
python -m scieqlint --helpSciEqLint is deterministic. Given the same files, config, and version, it must emit the same diagnostics in the same order. Supported math is checked exactly. Unsupported math is reported as unknown or skipped. The checker must not guess.
SciEqLint checks .md, .markdown, .tex, and .ipynb documents. It supports
Markdown/MyST display math, supported LaTeX containers, notebook Markdown cells,
labels and references, simple scalar algebra, text output, deterministic JSON output,
SARIF, and JSON Schema validation. See docs/limitations.md for the exact
scanner and grammar coverage.
Current release target: v1.0.0.
- name: Check equations
run: scieqlint check "docs/**/*.md" --format githubpermissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v6
- uses: Kuhai9801/scieqlint@v1.0.0
with:
args: check "docs/**/*.md" --format sarif --output scieqlint.sarif
- uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: scieqlint.sarif
category: scieqlint-docsStart with these files:
SPEC.mdfor the product and engineering contract.CONTRIBUTING.mdfor the local workflow.GOOD_FIRST_ISSUES.mdfor scoped starter tasks.ROADMAP.mdfor release order and cut rules.docs/contributing/for deeper guidance.
Keep PRs small and test the behavior they change.
MIT. See LICENSE.
