evaluate tabpfn-3 on uploaded csv data via small react/typescript interface
  • TypeScript 42%
  • Python 39.8%
  • CSS 16%
  • Makefile 1.4%
  • HTML 0.8%
Find a file
Fabian Missbrenner e0b21729df
All checks were successful
CI / frontend (push) Successful in 32s
CI / backend (push) Successful in 3m11s
Fix backend CI checkout
2026-07-20 15:03:31 +02:00
.forgejo/workflows Fix backend CI checkout 2026-07-20 15:03:31 +02:00
backend Build TabPFN explorer demo 2026-07-20 12:32:28 +02:00
frontend Build TabPFN explorer demo 2026-07-20 12:32:28 +02:00
licenses Build TabPFN explorer demo 2026-07-20 12:32:28 +02:00
.env.example Build TabPFN explorer demo 2026-07-20 12:32:28 +02:00
.gitignore Build TabPFN explorer demo 2026-07-20 12:32:28 +02:00
LICENSE Build TabPFN explorer demo 2026-07-20 12:32:28 +02:00
Makefile Build TabPFN explorer demo 2026-07-20 12:32:28 +02:00
NOTICE Build TabPFN explorer demo 2026-07-20 12:32:28 +02:00
README.md Build TabPFN explorer demo 2026-07-20 12:32:28 +02:00

TabPFN Explorer

TabPFN Explorer is a small local web application for loading a labeled CSV, selecting its target, evaluating TabPFN-3 on a deterministic stratified holdout, and inspecting accuracy, log loss, confidence, predictions, and per-class probabilities. It is an interview-oriented TypeScript/React and FastAPI proof artifact rather than a hosted model service.

Architecture

CSV in the browser
  -> Papa Parse + typed React state
  -> POST /api/predict
  -> FastAPI validation + stratified 80/20 split
  -> process-local, locked TabPFN-3 classifier
  -> metrics and held-out probabilities

Vite proxies /api to FastAPI during development. After a production build, FastAPI serves frontend/dist/ and the API together from one process. Inference runs on the local machine; this repository contains no model checkpoint or credential.

Prerequisites

  • Python 3.12
  • Node.js 22 or newer with npm
  • A Prior Labs account with the applicable TabPFN-3 model license accepted
  • Internet access for the one-time model checkpoint download

For headless authentication, set TABPFN_TOKEN before warmup. TABPFN_MODEL_CACHE_DIR can select a persistent model-cache directory; .env.example documents both variable names without storing values.

Commands

The top-level Makefile is the public command surface.

make install

Creates .venv with python3.12, installs the backend and test dependencies, and installs the locked frontend dependencies with npm ci.

make warmup

Completes the explicit model-access step, downloads TabPFN-3 when necessary, and runs a real fit/predict smoke check. The command must finish with TabPFN-3 is ready. before the first demo.

make dev

Starts FastAPI at http://127.0.0.1:8000 and Vite at http://127.0.0.1:5173.

make test

Runs backend Pytest and frontend Vitest contracts without downloading model weights.

make build && make serve

Builds the production frontend, checks the Python package, and serves the complete same-origin application at http://127.0.0.1:8000.

Iris walkthrough

  1. Run make install and make warmup once.
  2. Start make dev and open http://127.0.0.1:5173.
  3. Select Load Iris sample.
  4. Confirm the suggested target is species, then select Run stratified holdout.
  5. Inspect the 120-row training and 30-row test split, metrics, predictions, confidence, and the three class-probability bars for every held-out row.

The committed Iris sample contains 150 labeled rows and follows the same parser and API path as an uploaded file.

Demo bounds

  • CSV files: at most 5 MB
  • Data rows: 20500
  • Feature columns: 1100
  • Target classes: 210, with at least five rows per class
  • Holdout: stratified 20%, random_state=42

Features are passed to TabPFN without scaling or one-hot encoding so the model can apply its own numeric and categorical preprocessing.

Licensing and attribution

This application is not a hosted service. It runs TabPFN-3 locally after each user separately completes Prior Labs' license and download flow. The TabPFN-3 model license permits specific non-commercial use; read the included model license before using the weights.

The root MIT license covers only the original demo code in this repository. TabPFN code and model weights remain under Prior Labs' respective licenses, copied under licenses/, and no weights are redistributed here. See NOTICE for the attribution and license pointers.

Built with PriorLabs-TabPFN