# eqnlint
`eqnlint` is a scientific LaTeX equation and text auditing toolkit.
It runs a suite of AI-powered audits to check for consistency, correctness, and plausibility in academic documents.
## Installation
```bash
pip install eqnlint
```
> Requires Python 3.9+
## Command Line Usage
Run **all audits**:
```bash
eqnlint -f my_paper.tex
```
Run an **individual audit**:
```bash
audit-units -f my_paper.tex
audit-symbolic -f my_paper.tex
audit-context -f my_paper.tex
audit-prose -f my_paper.tex
audit-citation -f my_paper.tex
audit-opacity -f my_paper.tex
audit-dimensional -f my_paper.tex
```
## Available Audits
- **citation_audit** – Check LaTeX citations for presence, correctness, and plausibility.
- **context_audit** – Verify that citations match their surrounding context.
- **dimensional_audit** – Check equations for dimensional consistency.
- **opacity_audit** – Identify undefined or unclear notation.
- **prose_audit** – Review surrounding text for clarity and academic tone.
- **symbolic_audit** – Audit symbolic math for correctness.
- **units_audit** – Verify units in equations and expressions.
## Example
```bash
eqnlint -v -f ~/Documents/MyPaper.tex
```
Outputs audit results in human-readable and/or JSON formats.
## License
MIT License. See [LICENSE](LICENSE) for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "eqnlint",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "latex, audit, linter, units, dimensions, citations, prose",
"author": null,
"author_email": "John Ryan <tambotitree@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/42/81/8d6f5de026b3f7027ede3e807063ba72be324b1adf852027ff80f88e6530/eqnlint-0.2.5.tar.gz",
"platform": null,
"description": "# eqnlint\n\n`eqnlint` is a scientific LaTeX equation and text auditing toolkit. \nIt runs a suite of AI-powered audits to check for consistency, correctness, and plausibility in academic documents.\n\n## Installation\n\n```bash\npip install eqnlint\n```\n\n> Requires Python 3.9+\n\n## Command Line Usage\n\nRun **all audits**:\n\n```bash\neqnlint -f my_paper.tex\n```\n\nRun an **individual audit**:\n\n```bash\naudit-units -f my_paper.tex\naudit-symbolic -f my_paper.tex\naudit-context -f my_paper.tex\naudit-prose -f my_paper.tex\naudit-citation -f my_paper.tex\naudit-opacity -f my_paper.tex\naudit-dimensional -f my_paper.tex\n```\n\n## Available Audits\n\n- **citation_audit** \u2013 Check LaTeX citations for presence, correctness, and plausibility.\n- **context_audit** \u2013 Verify that citations match their surrounding context.\n- **dimensional_audit** \u2013 Check equations for dimensional consistency.\n- **opacity_audit** \u2013 Identify undefined or unclear notation.\n- **prose_audit** \u2013 Review surrounding text for clarity and academic tone.\n- **symbolic_audit** \u2013 Audit symbolic math for correctness.\n- **units_audit** \u2013 Verify units in equations and expressions.\n\n## Example\n\n```bash\neqnlint -v -f ~/Documents/MyPaper.tex\n```\n\nOutputs audit results in human-readable and/or JSON formats.\n\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n",
"bugtrack_url": null,
"license": null,
"summary": "Audits LaTeX papers for units, dimensions, symbols, citations, context, opacity, and prose.",
"version": "0.2.5",
"project_urls": {
"Homepage": "https://github.com/tambotitree/eqnlint-project",
"Issues": "https://github.com/tambotitree/eqnlint-project/issues"
},
"split_keywords": [
"latex",
" audit",
" linter",
" units",
" dimensions",
" citations",
" prose"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "162c71f3d21895f65a39d89564619fdbe884a880f6efd33e72b6733c32c62403",
"md5": "76c95cf26fdbc92a61b2a8b738c2604d",
"sha256": "997fba440c806df7fcec6f0103dc1abe42c01000d131ecad3a0e49b9a9b6f852"
},
"downloads": -1,
"filename": "eqnlint-0.2.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "76c95cf26fdbc92a61b2a8b738c2604d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 26608,
"upload_time": "2025-08-10T21:41:43",
"upload_time_iso_8601": "2025-08-10T21:41:43.552315Z",
"url": "https://files.pythonhosted.org/packages/16/2c/71f3d21895f65a39d89564619fdbe884a880f6efd33e72b6733c32c62403/eqnlint-0.2.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "42818d6f5de026b3f7027ede3e807063ba72be324b1adf852027ff80f88e6530",
"md5": "e24af9d4f3e07f3d6c466685e8474e9a",
"sha256": "87be7aa708886b9c74ef54031addd80703610405cccfefe20ae8709c35487381"
},
"downloads": -1,
"filename": "eqnlint-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "e24af9d4f3e07f3d6c466685e8474e9a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 44044,
"upload_time": "2025-08-10T21:41:45",
"upload_time_iso_8601": "2025-08-10T21:41:45.168727Z",
"url": "https://files.pythonhosted.org/packages/42/81/8d6f5de026b3f7027ede3e807063ba72be324b1adf852027ff80f88e6530/eqnlint-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-10 21:41:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tambotitree",
"github_project": "eqnlint-project",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "openai",
"specs": [
[
">=",
"1.0.0"
]
]
},
{
"name": "argparse",
"specs": []
},
{
"name": "python-dotenv",
"specs": []
}
],
"lcname": "eqnlint"
}