WeltPython SDK
Products: switch from Welt to another product
Open console

SDK 0.13.1Python 3.11–3.13

From a DataFrame
to a prediction.

Upload a table to your private Welt workspace, fit a qualified model and predict from Python. The same SDK reopens predictors and runs native causal discovery.

Set up in three steps

Full walkthrough

Install

Setup guide
sh
uv pip install 'welt-client[parquet]'

Connect

Connection guide
python
from welt import Client

Client().connect()

Approve the code, workspace and permissions in your browser. Running remotely? Open the printed link on your own computer. Access stays in this Python process.

Train, predict, evaluate

Full walkthrough

Load Iris below: 150 rows, four features, classes 0–2. The target column is target. Before downloading or fitting, open Workspace → Billing and check your credits and spending limits.

python
from welt import Client

data = Client().load_research_dataset(
    "asset-d839644b6de36fc5cafdda18c5daeca3"
)
target = "target"
data.head()
Rowsepal-lengthsepal-widthpetal-lengthpetal-widthtarget
04.63.61.00.20
14.33.01.10.10
25.03.21.20.20
35.84.01.20.20
44.43.01.30.20
python
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report
from welt import Classifier

train, test = train_test_split(
    data, test_size=0.2, random_state=9, stratify=data[target]
)
X_train, y_train = train.drop(columns=target), train[target]
X_test, y_test = test.drop(columns=target), test[target]

model = Classifier(model="tabicl-v2", random_state=9)
model.fit(X_train, y_train)
predictions = model.predict(X_test)

print("accuracy:", accuracy_score(y_test, predictions))
print(classification_report(y_test, predictions, zero_division=0))
              precision    recall  f1-score   support

           0       1.00      1.00      1.00        10
           1       1.00      1.00      1.00        10
           2       1.00      1.00      1.00        10

    accuracy                           1.00        30
   macro avg       1.00      1.00      1.00        30
weighted avg       1.00      1.00      1.00        30

Earlier recorded Iris run · TabICL v2 · seed 9 · 120 training / 30 held-out rows. This report is one observed result, not a promised score. Fit uploads the training table; prediction runs remotely.

For your own table, replace target with your target column.

What do you want to do?

Available models

Models and limits
ModelTaskContext (rows × columns)Prediction rows per callClasses
Kumo Tabular Medium kumo-mediumClassification8,000 × 20, 4,000 × 40, 2,000 × 80up to 100up to 10
Kumo Tabular Medium kumo-mediumRegression8,000 × 20, 4,000 × 40, 2,000 × 80up to 100—
Mitra-v2 mitra-v2Classification4,000 × 20, 2,000 × 40, 500 × 80up to 100up to 10
Mitra-v2 mitra-v2Regression4,000 × 20, 2,000 × 40, 500 × 80up to 100—
TabICLv2 tabicl-v2Classification8,000 × 20, 4,000 × 40, 2,000 × 80up to 100up to 10
TabICLv2 tabicl-v2Regression8,000 × 20, 4,000 × 40, 2,000 × 80up to 100—
TabDPT 1.3 tabdpt-1.3Classification500 × 20up to 100up to 10
TabDPT 1.3 tabdpt-1.3Regression500 × 20up to 100—
AVICI aviciCausal discovery1,000 × 20, 500 × 40——
CDFM cdfmCausal discovery8,000 × 20, 4,000 × 40, 2,000 × 80——
Arrow / ArrowFM arrowCausal discovery8,000 × 20, 4,000 × 40, 2,000 × 80——

Public catalogue snapshot from 2026-10-15. Context is the training table the model conditions on, or the whole table for causal discovery. It fits when its rows and columns are both within one listed shape, so wider tables take fewer rows. Supervised columns count features without the target; causal discovery counts every variable. Causal discovery needs at least 2 rows and 2 variables. Batch prediction handles larger prediction sets. The live catalogue is authoritative: Client().models() reports current limits and readiness.

Documentation

Search SDK 0.13.1

Search this SDK version by task, method or error.