Skip to main content

TabPFN: Foundation model for tabular data

Project description

TabPFN Extensions

PyPI version Downloads License Discord Twitter Follow Contributions Welcome Last Commit colab

[!WARNING]

Experimental Code Notice

Please note that the extensions in this repository are experimental.

  • They are less rigorously tested than the core tabpfn library.
  • APIs are subject to change without notice in future releases. We welcome your feedback and contributions to help improve and stabilize them!

Interactive Notebook Tutorial

[!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.

Open In Colab

Installation

# Clone and install the repository
pip install "tabpfn-extensions[all] @ git+https://github.com/PriorLabs/tabpfn-extensions.git"

Available Extensions

  • 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.

Backend Options

Many TabPFN Extensions works with two TabPFN implementations:

  1. ** TabPFN Package** - Full PyTorch implementation for local inference:

    pip install tabpfn
    
  2. ** 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

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.

Examples

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 embeddings
  • interpretability/ — SHAP values, partial dependence plots, feature selection
  • many_class/ — classification with more classes than your checkpoint supports
  • pval_crt/ — statistical feature relevance testing
  • survival/ — survival analysis
  • tabebm/ — data augmentation via TabEBM
  • unsupervised/ — data generation, imputation, and outlier detection
  • hpo/ (deprecated)TunedTabPFN* automatic hyperparameter tuning
  • phe/ (deprecated)AutoTabPFN* post-hoc ensembles

TabPFN Docs pages

In-depth guides for selected extensions are available on docs.priorlabs.ai:

Per-extension READMEs

Some extensions ship a dedicated README alongside their source code:

Interactive notebook

The main TabPFN demo notebook also covers several extensions — in particular the unsupervised and interpretability extensions:

Open In Colab

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Telemetry

For details on telemetry, please see our Telemetry Reference and our Privacy Policy.

For Contributors

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 -v

See our Contribution Guide for more details.

Contributors


Built with ❤️ by the TabPFN community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tabpfn_extensions-0.4.1.tar.gz (110.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tabpfn_extensions-0.4.1-py3-none-any.whl (97.2 kB view details)

Uploaded Python 3

File details

Details for the file tabpfn_extensions-0.4.1.tar.gz.

File metadata

  • Download URL: tabpfn_extensions-0.4.1.tar.gz
  • Upload date:
  • Size: 110.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for tabpfn_extensions-0.4.1.tar.gz
Algorithm Hash digest
SHA256 64e30b097a29d430f970616302a25f7f1d40add2638e3c191432b8e992179a92
MD5 c817940bf447369db0cc82f4bcf62f6a
BLAKE2b-256 b6c6f52ba3f5fdc6e2879413d041aac974e2ad9d10630219f046187f7853a4f5

See more details on using hashes here.

File details

Details for the file tabpfn_extensions-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for tabpfn_extensions-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e8124246677e4f1fc67c95db6730e3b0fe181c005f70a294a69f39de8ec6fc0a
MD5 2b6e06121f5fc33ab8ef929efd92c875
BLAKE2b-256 796bebf5e42b2cbb5b75ef8327fd2ec504720dd62f9e043ce3cfbbd45cf1334d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page