Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Stratum logo

Python CI Rust CI codecov License Python

Stratum is an ML system for efficiently executing large-scale agentic pipeline search. It integrates with MLE agents by representing batches of agent-generated pipelines as lazily evaluated DAGs, applying logical and runtime optimizations, and executing them across heterogeneous backends, including a Rust-based runtime. Stratum builds on skrub's operator abstraction and is under active development.

📄 Paper: The motivation and vision behind stratum are described in our VLDB 2026 paper.


Design Principles

  • Provide seamless and unrestricted support for arbitrary ML libraries without operator porting.
  • A semantic abstraction built on a minimal set of logical operators that enables rewrites and lazy evaluation with physical operator independence.
  • Implement a runtime with efficient operator kernels (in Rust), scheduling across CPUs, GPUs, and distributed backends, plus runtime optimizations such as buffer pools, reuse of intermediates, and inter- and intra-operator parallelization.

Installation

Install the current development build from PyPI:

python -m pip install "stratum-ai==0.0.0.dev1"

Pre-built Rust wheels are provided for the supported CPython 3.11+ platforms, so a Rust toolchain is not required for a normal installation. The source-build instructions below are for contributors developing Stratum itself.

For source development, you need Python 3.11+, a Rust toolchain (nightly not required; stable is fine), and maturin (python -m pip install maturin).

From the repository root, install the extension in editable (development) mode:

maturin develop --release

For more details (including building wheels), see the Developer Instructions section below.


Usage

To leverage stratum, agent prompts or pipelines need minor changes. Prompts should be modified to generate code following skrub DataOps syntax.

Stratum can also significantly speed up human-written skrub code.

The following flags enable different features of Stratum. These flags can be set via environment variables or directly in code:

import stratum

stratum.set_config(
    scheduler=True,
    implementation_selector="greedy",
    explain=True,
    stats=True,
)

Example Code

import stratum as skrub #drop-in replacement
from sklearn.preprocessing import OneHotEncoder
from sklearn.linear_model import LinearRegression

def main():
    # Collect and prepare datasets
    dataset = skrub.datasets.fetch_employee_salaries()
    df = skrub.as_data_op(dataset.employee_salaries).skb.subsample()
    df_clean = df.dropna()
    y = df_clean["current_annual_salary"].skb.mark_as_y()
    X = df_clean.drop(columns=["current_annual_salary"]).skb.mark_as_X()

    # Apply feature transformations
    skrub.set_config(scheduler=True, implementation_selector="greedy", explain=True, stats=True)
    tv = skrub.TableVectorizer()
    X_enc = X.skb.apply(tv)
    print(f"Encoded data shape: {X_enc.shape.skb.preview()}")

    # Training and cross-validation
    pred = X_enc.skb.apply(LinearRegression(), y=y)
    search = pred.skb.make_grid_search(cv=3, fitted=True, scoring="r2", refit=False)
    print(search.results_)

if __name__ == "__main__":
    main()

Developer Instructions

Running the Tests

Install all extras and run the full test suite:

uv sync --all-extras
pytest -v stratum/tests

Or, more concisely:

uv run pytest

Local Dev Install (Editable, without uv)

maturin develop				# Debug mode
maturin develop --release	# Optimized dev build

Building Wheels

This produces redistributable .whl files under dist/.

# Linux / macOS
maturin build --release -o dist --interpreter python3.11 --compatibility linux

# Windows
maturin build --release -o dist

Then install with:

python -m pip install ./dist/stratum_ai-*.whl

License

Apache License 2.0. See LICENSE for details.

Metadata

Release files for stratum-ai 0.0.0.dev2

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

Source distribution (sdist)

Source distribution for stratum-ai 0.0.0.dev2
File Size Uploaded
stratum_ai-0.0.0.dev2.tar.gz 212.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for stratum-ai 0.0.0.dev2
File
stratum_ai-0.0.0.dev2-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
stratum_ai-0.0.0.dev2-cp311-abi3-musllinux_1_2_x86_64.whl CPython 3.11 abi3 Linux musl 1.2+ x86-64 Details
stratum_ai-0.0.0.dev2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details
stratum_ai-0.0.0.dev2-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details
stratum_ai-0.0.0.dev2-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details

Total release size: 29.8 MB

Release files / stratum_ai-0.0.0.dev2.tar.gz

Download URL stratum_ai-0.0.0.dev2.tar.gz
Size 212.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0e27af4a918d71439e393cc6218c548f60c14582b2bdae452b5a759e5c943f93
BLAKE2b-256 checksum
How to use checksums
61b9de171883d98be56d46b7b9e00ba73770d140ebd4fadb42b9fc6e25fb094f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.14.1

Release files / stratum_ai-0.0.0.dev2-cp311-abi3-win_amd64.whl

Download URL stratum_ai-0.0.0.dev2-cp311-abi3-win_amd64.whl
Size 17.7 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
d463133f0204555f903fed2998df0df85ef697b638b1ede8911d86c1a5696548
BLAKE2b-256 checksum
How to use checksums
cde0db422b875ee4ffb178aeecbbf8a813f375ab66a43e331288886445108967
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.14.1

Release files / stratum_ai-0.0.0.dev2-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL stratum_ai-0.0.0.dev2-cp311-abi3-musllinux_1_2_x86_64.whl
Size 4.9 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
a8cf9b8da3f735197992d3b4e67cdc61f9c77362250d6e07d721468c9b8fb547
BLAKE2b-256 checksum
How to use checksums
e5ab04a5dbd234109cba9893c960ddb7ede8e5abd40fb0399fb78e4a15408656
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.14.1

Release files / stratum_ai-0.0.0.dev2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL stratum_ai-0.0.0.dev2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
fedc7f49b35233677853f2e0ff3a2f1e0918d4a03a3c151251599757f6addb6d
BLAKE2b-256 checksum
How to use checksums
050c0f642a2d0e1594c16e12c9b5afbf030ff296563e6686373ca85e44f4f7f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.14.1

Release files / stratum_ai-0.0.0.dev2-cp311-abi3-macosx_11_0_arm64.whl

Download URL stratum_ai-0.0.0.dev2-cp311-abi3-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e56431ee452bbda302d1b9298f757c62ca59e45d083147327eab6f355fb2fb82
BLAKE2b-256 checksum
How to use checksums
6d11b01c9216d50acce8104c6942326cdeb6bd7c359d869311aa5d14d84b82f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.14.1

Release files / stratum_ai-0.0.0.dev2-cp311-abi3-macosx_10_12_x86_64.whl

Download URL stratum_ai-0.0.0.dev2-cp311-abi3-macosx_10_12_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
8455e34e4c381f3a3e6278067b6e700904a24c891c5c4a52a5c83e56e57327cd
BLAKE2b-256 checksum
How to use checksums
f201faffe6cecebbb69e76d7a78dd0c41e048a5af0908eda2cee0c483fe8d13f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.14.1
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