llms.txt · diff

git:20261103.1ae4ddc to git:20261103.519c0d1

1 added, 0 removed. Audit B to B.

# ADA (automated-data-analyst)
> ADA is the math arm for LLMs: a Python package, command-line tool and set of function-calling tool definitions that compute numbers from CSV, TSV and Excel tables with pandas, SciPy and statsmodels, show the calculation and the rows behind each one, and check a number stated about a table: verified, or unverified with one of six reasons (missing_context, ambiguous_intent, inaccessible_data, unsupported_analysis, conflicting_evidence, failed_check) and the one question that would let the check go ahead. A language model (Claude, Codex, or an open-source model run with Ollama, llama.cpp, vLLM or LM Studio) calls ADA instead of doing arithmetic itself. ADA also maps a folder of related files and the keys that join them, and takes a first look at any table: data checks, group comparisons, relationships and trends. MIT licence, Python 3.11+.
Give a language model ADA's tools (function calling):
```
from ada import tools
tools.definitions() # OpenAI-compatible: Ollama, llama.cpp server, vLLM, LM Studio; "anthropic" for the Anthropic API
tools.run(name, arguments, root="data") # runs ada_ask, ada_check_claim, ada_scan or ada_compute (all read-only); returns JSON to send back
tools.langchain(root="data") # the four tools as LangChain tools, for LangChain agents and LangGraph (pip install "automated-data-analyst[langchain]")
```
Exact arithmetic with every step, for any numbers a model has:
```
import ada
ada.compute("0.15 * (1200 - 300)").value # "135"; 0.1 + 0.2 is exactly 0.3; 6/2(1+2) is refused as ambiguous
ada.check_arithmetic(reply) # each equation written in a worked answer, checked; correct=False marks a slip, with the right value
ada.solve("x + y = 10; x - y = 2").values # {"x": "6", "y": "4"}: linear equations and systems, exact, each step, checked by putting the values back
+ ada.solve("x^2 - 3x + 1 = 0").answer # "x = (3 - sqrt(5))/2 ≈ 0.38… or x = (3 + sqrt(5))/2 ≈ 2.61…": polynomial equations in one unknown, real roots exact where they can be written
```
`ada compute "EXPRESSION"` does the same in a shell, and solves an equation given one: `ada compute "2x + 3 = 11"`.
`tools.SYSTEM_PROMPT` tells the model which tool to use when and to take every number from them. `ada tools` prints the definitions.
Chat with a local model that uses ADA, or plug ADA into an app that takes MCP servers:
```
ada chat penguins.csv # Ollama by default (ollama pull qwen3:1.7b); --base-url for LM Studio, llama.cpp, vLLM
ada mcp # MCP over stdio: {"mcpServers": {"ada": {"command": "uvx", "args": ["automated-data-analyst", "mcp"]}}}
ada mcp --http # Streamable HTTP at http://127.0.0.1:8000/mcp, for Open WebUI
```
Check a number, compute an answer, or map a folder:
```
ada claim flights.csv "The average departure delay was about 13 minutes." # exit 0 verified, 1 failed check, 2 unreadable, 3 unverified
ada ask flights.csv "average dep_delay by origin" --json
ada scan data/ # each file, how they join, what to confirm
```
From Python: `ada.check_claim(path, claim)`, `ada.analyze(path).ask(question)` (an answer with `.to_dict()`, or a falsy refusal with `code` and `message`), `ada.scan(folder)`. A check covers one number, as read; unverified is not false, and only `failed_check` with `agreement: "mismatch"` says the data give a different number.
Install with `pip install automated-data-analyst`. For a first look at any table: `ada analyze data.csv`, or `import ada; ada.analyze("data.csv")` in Python.
The research workflow (paper tables, figures and a methods draft from a study.yml), the modelling mode (`ada model`) and the browser app are in ADA Lab (https://github.com/saineshnakra/ada-lab): `pip install ada-lab`. With it installed, `ada init`, `ada build`, `ada model` and the other moved commands run from the `ada` command too.
For AI coding assistants: `ada skill` writes ADA's SKILL.md (Agent Skills format) into `.claude/skills/ada/` for Claude Code and `.agents/skills/ada/` for Codex. As a plugin (the folder `plugins/automated-data-analyst/`): `/plugin marketplace add saineshnakra/automated-data-analyst` then `/plugin install automated-data-analyst@automated-data-analyst` in Claude Code, or `codex plugin marketplace add saineshnakra/automated-data-analyst` then `codex plugin add automated-data-analyst@automated-data-analyst` in Codex. The arithmetic runs in ADA, not in the model: the assistant reports the numbers ADA computed, each with its calculation, checks the numbers it states with `ada claim`, says which are unverified and why, and asks the person ADA's clarifying question instead of guessing.
## Docs
- [README](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/README.md): what ADA does, with examples
- [ADA as the math tool of a language model](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/docs/llm-tools.md): setups for Ollama, LM Studio, Open WebUI, Jan, Claude Desktop, Cursor, VS Code, Claude Code and Codex (`ada chat`, `ada mcp`), tool definitions for function calling, which local models work, and what comes back
- [Checking claims](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/docs/reference/claims.md): how a stated number is read, the interval it stands for, the six reasons and the JSON record
- [Reading a folder of tables](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/docs/reference/folder.md): file profiles, proposed links and the questions to confirm
- [Agent skill](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/ada/skills/ada/SKILL.md): how an AI assistant should use ADA to compute and check numbers
- [FAQ](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/docs/faq.md): short answers
## Optional
- [Concepts](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/docs/concepts.md): terms used in the first-look report
- [How it works](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/docs/how-it-works.md): the steps from a file to a report
- [Credits](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/docs/credits.md): the libraries and methods behind each calculation, and how to cite them
- [Checking numbers on real public data](https://raw.githubusercontent.com/saineshnakra/automated-data-analyst/main/results/verification/README.md): the evaluation behind `ada claim`, `ada ask --json` and `ada scan`, 73 cases on 20 public datasets
- [PyPI](https://pypi.org/project/automated-data-analyst/): releases