Warning
Please note that the extensions in this repository are experimental.
- They are less rigorously tested than the core
tabpfnlibrary. - APIs are subject to change without notice in future releases. We welcome your feedback and contributions to help improve and stabilize them!
Tip
Dive right in with our interactive Colab notebook! It's the best way to get a hands-on feel for TabPFN, walking you through installation, classification, and regression examples.
# Clone and install the repository
pip install "tabpfn-extensions[all] @ git+https://github.com/PriorLabs/tabpfn-extensions.git"- interpretability: Explain TabPFN predictions with SHAP values and feature selection
- many_class: Handle classification problems with more classes than your TabPFN checkpoint supports
- classifier_as_regressor: Use TabPFN's classifier for regression tasks
- unsupervised: Data generation and outlier detection
- embedding: Get TabPFN's internal dense sample embeddings
- tabebm: Data augmentation using TabPFN-based Energy-Based Models
- pval_crt: Statistical feature relevance testing (p-values)
- post_hoc_ensembles (deprecated):
AutoTabPFN*β improve performance with model combination via AutoGluon. Scheduled for removal in a future release. - hpo (deprecated):
TunedTabPFN*β automatic hyperparameter tuning for TabPFN via Hyperopt. Scheduled for removal in a future release.
See the Documentation section below for guides, examples, and per-extension READMEs.
Many TabPFN Extensions works with two TabPFN implementations:
-
TabPFN Package β Full PyTorch implementation for local inference:
pip install tabpfn
-
TabPFN Client β Lightweight API client for cloud-based inference:
pip install tabpfn-client
Choose the backend that fits your needs - most extensions work with either option!
Exceptions to this are post_hoc_ensembles (deprecated) and embedding, which only work with the local tabpfn package.
Documentation for tabpfn-extensions is spread across several sources. If you are new to the project, the examples are usually the fastest way to get started; for deeper conceptual guides, see the TabPFN Docs pages.
Runnable scripts and notebooks for extensions and general use cases live in the examples/ directory of this repository:
embedding/β access TabPFN's internal dense sample embeddingsinterpretability/β SHAP values, partial dependence plots, feature selectionmany_class/β classification with more classes than your checkpoint supportspval_crt/β statistical feature relevance testingsurvival/β survival analysistabebm/β data augmentation via TabEBMunsupervised/β data generation, imputation, and outlier detectionhpo/(deprecated) βTunedTabPFN*automatic hyperparameter tuningphe/(deprecated) βAutoTabPFN*post-hoc ensembles
In-depth guides for selected extensions are available on docs.priorlabs.ai:
Some extensions ship a dedicated README alongside their source code:
interpretability/pval_crt/tabebm/hpo/(deprecated)post_hoc_ensembles/(deprecated)
The main TabPFN demo notebook also covers several extensions β in particular the unsupervised and interpretability extensions:
This project is licensed under the Apache License 2.0 β see the LICENSE file for details.
For details on telemetry, please see our Telemetry Reference and our Privacy Policy.
Interested in adding your own extension? We welcome contributions!
We use uv to manage the project's environment, so install that first.
# Clone and set up for development
git clone https://github.com/PriorLabs/tabpfn-extensions.git
cd tabpfn-extensions
uv sync
source .venv/bin/activate
# If you add optional dependencies for your extension in pyproject.toml, install them
# like this
uv sync --extra [your extension name]
# Test your extension with fast mode
FAST_TEST_MODE=1 pytest tests/test_your_extension.py -vSee our Contribution Guide for more details.
Built with β€οΈ by the TabPFN community