Skip to main content

Causilo

Causilo is a pretrained tabular foundation model from Nums AI Inc., supporting classification and regression through a scikit-learn interface.

Apache-2.0 code · Causilo License v1.0 model weights · License & contact

Installation

Python 3.10–3.12 and PyTorch 2.13+ are required.

pip install causilo
hf auth login

Authenticate with an account that has access to the model weights. Package installation does not grant weight access; the first fit downloads and caches the task's checkpoint. device="auto" uses CUDA when available, otherwise CPU. Use CUDA_VISIBLE_DEVICES=0 to select a GPU.

Quick start

from causilo import CausiloClassifier, CausiloRegressor

classifier = CausiloClassifier(n_estimators=8, random_state=42)
classifier.fit(X_train, y_train)
labels = classifier.predict(X_test)
probabilities = classifier.predict_proba(X_test)

regressor = CausiloRegressor(n_estimators=8, random_state=42)
regressor.fit(X_train, y_train)
predictions = regressor.predict(X_test)

Inputs can be NumPy arrays or pandas DataFrames, including categorical features and missing feature values. Use pandas categorical dtype for numeric category codes. NumPy object arrays infer numeric columns; strings and Booleans remain categorical. Prediction reuses the fitted schema, including handling unseen categories.

Classification supports up to 10 classes; regression returns point predictions. Targets must not be missing. See runnable classification and regression examples.

Benchmarks

Official TabArena default-only evaluation: 51 datasets, 51 Lite splits and 816 Full splits, using eight estimators and seed 42. System methods are excluded. Full plots show the top 16 model families by their best Elo, with default, tuned and ensembled variants.

Suite Task Elo position Elo ↑ Improvability ↓
Lite Overall 1 1817.4 0.0596
Lite Classification 1 1780.1 0.0747
Lite Regression 1 2168.2 0.0155
Full Overall 1 1792.9 0.0684
Full Classification 1 1771.8 0.0875
Full Regression 1 2032.6 0.0125

Overall performance

Overall — TabArena Full, classification and regression combined.

Classification and regression

Classification performance

Classification — TabArena Full, classification datasets only.

Regression performance

Regression — TabArena Full, regression datasets only.

Local H100 80 GB comparison, one GPU and eight physical CPU cores per job:

Model Fit (s/1k) Predict (s/1k) CPU (GiB) GPU (GiB)
Causilo 2.504 0.251 1.94 8.15
TabICLv2 3.449 0.303 2 8.37
TabPFN-3 4.18 0.686 2.87 0.88

Times are median seconds per 1,000 rows; memory is mean peak usage during fit only. Protocol, task-level resources and complete leaderboards.

Options

Parameter Default Behavior
n_estimators 8 Number of ensemble members to evaluate
random_state 42 Nonnegative integer seed for feature and class permutations
device "auto" One available CUDA device, otherwise CPU; explicit "cpu" or "cuda:0" is supported
use_kv_cache False Prepare and retain attention keys and values during fit
retain_preprocessing True Retain transformed training tables for later prediction

Refit after changing options. Seeds must be nonnegative integers; the same inputs and seed reproduce the fitted permutations without changing global RNG state. Bitwise floating-point determinism is not forced.

Preprocessing and execution policies are fixed. Ensembles cycle through none, rank2gaussian, robust and power normalization. CUDA uses FP16 mixed precision, with regression column stages and both output heads in FP32; CPU uses FP32. Regression target scaling and output restoration use float64.

Repeated prediction

Set use_kv_cache=True to move reusable context computation into fit, trading additional device memory for repeated prediction speed. With retain_preprocessing=False, fitted transforms are retained but transformed training tables are recomputed. Refitting replaces the context; a failed fit leaves the estimator unfitted. See cached prediction.

Fitted-state storage

import joblib

joblib.dump(classifier, "classifier.joblib")
restored = joblib.load("classifier.joblib")

Saved state includes fitted preprocessing and optional K/V caches, but excludes pretrained weights. Restoration loads the pinned checkpoint and reuses saved caches. It requires matching Causilo and dependency versions, including Python major/minor. Automatic device selection runs again; an unavailable explicit device fails. See save/restore.

License & contact

Code is licensed under Apache-2.0; model weights are separately licensed under Causilo License v1.0. Non-commercial research and free research redistribution are permitted under its conditions. Commercial or production use, and hosted/API/SaaS services whether paid or free, require separate licenses. Contact contact@nums.world.

Metadata

Release files for causilo 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for causilo 1.0.0
File Size Uploaded
causilo-1.0.0.tar.gz 43.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for causilo 1.0.0
File Interpreter ABI Platform
causilo-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 87.7 kB

Release files / causilo-1.0.0.tar.gz

Download URL causilo-1.0.0.tar.gz
Size 43.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3fc20d4a88dda429d7fadb3d46390de1b565cad56020da8a378b98f6337264b8
BLAKE2b-256 checksum
How to use checksums
55d7a6501e89a8180351ea3418bee606170e44f9935871a54a2a621532ac0898
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release files / causilo-1.0.0-py3-none-any.whl

Download URL causilo-1.0.0-py3-none-any.whl
Size 44.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d665c63a8f03baf428e032351e926e717783812168d40cef480c7d5acfeae5d2
BLAKE2b-256 checksum
How to use checksums
9f64cc8b764fb3ac1273a2d1c38585e2669c835191c59d4e3c21f1d8047a1912
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page