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)
| File | Size | Uploaded | |
|---|---|---|---|
| pyiaml-1.1.0.tar.gz | 311.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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