Get started
Installation¶
One package, Python 3.10 to 3.13, and an extra for each thing you add.
The core package holds the decision table, TabSynth, TabHead (CatBoost), the evaluation protocol, the scikit-learn estimators and the command line. It depends on numpy, pandas, scikit-learn, catboost and pyyaml. TabAgent is Apache-2.0 licensed and needs Python 3.10 to 3.13.
Extras¶
Add an extra for what you use:
| Extra | Install | Adds |
|---|---|---|
embed |
pip install "tabagent[embed]" |
the e5 context-candidate similarity features (torch and transformers). The encoder, intfloat/e5-small-v2, is downloaded from Hugging Face once, about 128 MB. |
tabschema |
pip install "tabagent[tabschema]" |
onboarding from agent logs with OpenAI, Azure OpenAI and any OpenAI-compatible server. |
llm |
pip install "tabagent[llm]" |
Anthropic, Gemini and other providers for TabSchema, through LiteLLM. |
serve |
pip install "tabagent[serve]" |
the HTTP decision service, tabagent serve (FastAPI and uvicorn). |
hub |
pip install "tabagent[hub]" |
tabagent.load("hf://OWNER/REPO") for heads on the Hugging Face Hub. |
all |
pip install "tabagent[all]" |
every extra above. |
What needs which extra
The quickstart needs no extra. Onboarding an agent from its logs needs tabschema (or llm).
Serving needs serve. Reproducing the paper's numbers needs embed.
The LLM TabSchema calls¶
Only onboarding calls an LLM. tabagent.onboard builds it from the model name and the environment:
The order in which the environment is read, per-stage models, and the privacy controls are in Onboard from logs.
From source¶
To get the exact dependency versions the paper's numbers were checked against (pinned in uv.lock):
Or with pip: pip install -e ".[embed]". pip resolves the newest dependency releases rather than the locked ones.
Check the install¶
Then run the quickstart.