Skip to main content

IAML — Integrated AutoML for Medical Labs

IAML (Integrated AutoML for Medical Labs) is a Python framework developed by IIAS for clinical research teams working with tabular data. It supports classification, regression and survival analysis through two complementary strengths:

  • An integrated workflow with very little configuration. Describe your data, train prediction pipelines with AutoML, evaluate the selected model and request explanations and study outputs. Built-in components and an automatic pipeline let you start with a few lines of Python.
  • A pipeline API for teams going further. Compose complete pipelines with >>, choose or exclude methods, edit reusable fragments and configure parameter domains. The same API configures metrics, descriptive statistics and explanations, and lets your team's components become reusable building blocks.

Both paths use IAML's training, cross-validation and model selection workflow. Start with the defaults or build a recipe around your study's methods.

Installation

Use Python 3.10 or later:

python -m pip install PyIAML

The distribution is named PyIAML. The Python import is iaml.

Use the integrated workflow

Save this example as example.py and run it with python example.py. It uses a dataset bundled with scikit-learn, so no dataset download is needed.

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from iaml import IAML

if __name__ == "__main__":
    X, y = load_breast_cancer(return_X_y=True, as_frame=True)
    X_train, X_test, y_train, y_test = train_test_split(
        X, y, stratify=y, random_state=42
    )
    search = IAML(max_duration=30, max_workers=1)
    print(search.get_descriptive_statistics(X_train, y_train))
    search.fit(X_train, y_train)
    chosen_model = search.chosen_candidate
    print(chosen_model.evaluate(X_test, y_test))

chosen_model is the selected model, including its preprocessing. evaluate scores it on the held-out test set. The dataset labels are 0 for malignant and 1 for benign. Keep the __main__ guard because training uses multiprocessing. The example uses one worker and a 30-second search budget. Final fitting can take additional time.

Request descriptive statistics, evaluation, plots and explanations when you need them. The worked example shows the model, performance plots and SHAP outputs produced by this workflow.

Compose and adapt complete pipelines

Pipeline configuration is optional. To see what it enables, explore Customize IAML, then try the recipe below when your study needs specific methods.

Build a recipe from reusable components, then train it through the same fit and evaluate calls. For example, impute missing values, choose from the normalization family except UnitNormScaler, and compare two predictors:

from iaml import IAML
from iaml.flow import Int, choice, normalizers, use
from iaml.steps import (
    LogisticRegression, UnitNormScaler, RandomForestClassifier, SimpleImputer,
)

pipeline = (
    use(SimpleImputer).named("cleaning")
    >> normalizers().remove(UnitNormScaler).named("normalize")
    >> choice(
        use(LogisticRegression).named("logistic"),
        use(
            RandomForestClassifier,
            n_estimators=Int(100, 300, initial=150),
        ).named("forest"),
    ).named("predictor")
)
search = IAML(pipeline=pipeline, max_duration=30, max_workers=1)

Recipes remain editable after construction: navigate by alias, call add, remove or replace, and configure all occurrences of a component with find_all(Class).configure(...). Clone a fragment to reuse it independently. You can also start from IAML().pipeline and adapt its visible main and minimal branches.

The pipeline guide covers construction, editing, fixed values and parameter domains. Continue with study configuration for metrics, descriptive statistics and explanations. The example catalogue provides runnable Python examples.

Add custom preprocessing steps, models, metrics, validation splitters or search optimizers when your domain needs them. These components can be shared across studies; the extension guide explains how to implement them.

Documentation

Start with Discover IAML for a visual study walkthrough or Quick Start to run it. The integrated guides follow the study through training, evaluation, explanations and reporting.

The advanced guide map connects pipeline construction, study configuration and component extensions. Consult component availability for supported methods and optional dependencies.

Credits

  • Rudy MERIEUX
  • Robin BOURACHOT
  • Hugo RUELLET
  • Youssouf DAHLOUK

Metadata

Release files for PyIAML 1.1.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 PyIAML 1.1.0
File Size Uploaded
pyiaml-1.1.0.tar.gz 311.5 kB Details

Built distribution (wheel)

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

Total release size: 816.3 kB

Release files / pyiaml-1.1.0.tar.gz

Download URL pyiaml-1.1.0.tar.gz
Size 311.5 kB
Tags Source
SHA-256 checksum
How to use checksums
11f43bb37e7aad4d40d01683583eb7ff7dd9773f2f12370a24f87289bf57a8d2
BLAKE2b-256 checksum
How to use checksums
9a8d6bfd32b3acec8db029ce831c29aa4c1ad70ba67f9e1076b7c82b3ea4dc75
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 Oct 7, 2026.

Transparency log

Release files / pyiaml-1.1.0-py3-none-any.whl

Download URL pyiaml-1.1.0-py3-none-any.whl
Size 504.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f0dc536bfa34bcada233f9165d7a5a5378e3402fd9c430ee0600623c4051e4de
BLAKE2b-256 checksum
How to use checksums
fe7fa97b22a49ff785da39110f708311a1ff2787c8b52f0e9824728fa84449a8
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 Oct 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

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