Skip to main content

mlflow-autogluon

CI Coverage PyPI Docs License Python

MLflow community model flavor and autologging for AutoGluon predictors.

📖 Documentation: this README is a quick overview; guides, the full API reference, and serving recipes live at phylatech.github.io/mlflow-autogluon.

AutoGluon has no built-in MLflow flavor, and the MLflow maintainers have asked for this integration to live as a community flavor (see mlflow/mlflow#13214 and autogluon/autogluon#1404). This package provides that integration:

  • Model flavor: save_model, log_model, and load_model for TabularPredictor, TimeSeriesPredictor, and MultiModalPredictor, with full round-trip fidelity.
  • PyFunc support: logged models load with mlflow.pyfunc.load_model and serve with mlflow models serve, including predict_proba via inference params and long-format DataFrame forecasting for timeseries models.
  • Autologging: one call to mlflow_autogluon.autolog() records params, leaderboard metrics, artifacts, and the fitted predictor for every fit call, across all installed predictor types.

Installation

Install with the extra matching the predictor type you use:

pip install mlflow-autogluon[tabular]      # TabularPredictor
pip install mlflow-autogluon[timeseries]   # TimeSeriesPredictor
pip install mlflow-autogluon[multimodal]   # MultiModalPredictor

Extras can be combined (mlflow-autogluon[tabular,timeseries]). If AutoGluon is already installed, plain pip install mlflow-autogluon is enough.

Autologging quickstart

import mlflow_autogluon
from autogluon.tabular import TabularPredictor

mlflow_autogluon.autolog()

predictor = TabularPredictor(label="target").fit(train_data, presets="medium_quality")

That single autolog() call gives you, per fit:

What Examples
Params label, problem_type, eval_metric, presets, time_limit, hyperparameters, train_rows
Metrics best_model_score_val, fit_time_seconds, per-model score_val_* / fit_time_*
Tags estimator_name, autogluon_version, best_model, problem_type
Artifacts leaderboard.csv, optional fit_summary.json, the fitted model
Extras inferred model signature, training data attached as an MLflow dataset, optional input example

Because this is a community flavor, mlflow.autolog() does not enable it automatically; call mlflow_autogluon.autolog() explicitly. Options:

mlflow_autogluon.autolog(
    log_models=True,             # log the fitted predictor as an MLflow model
    log_leaderboard=True,        # leaderboard CSV artifact + per-model metrics
    log_fit_summary=False,       # fit_summary() as a JSON artifact
    registered_model_name=None,  # also register logged models under this name
    extra_tags=None,             # extra tags applied to autologged runs
    disable=False,               # turn the integration off
)

Manual logging

import mlflow
import mlflow_autogluon

with mlflow.start_run():
    model_info = mlflow_autogluon.log_model(
        ag_model=predictor,
        artifact_path="model",
        input_example=train_data.drop(columns=["target"]).head(),
    )

# Load back the native predictor
predictor = mlflow_autogluon.load_model(model_info.model_uri)

# Or load as a generic pyfunc for serving
pyfunc_model = mlflow.pyfunc.load_model(model_info.model_uri)
predictions = pyfunc_model.predict(test_data)
probabilities = pyfunc_model.predict(test_data, params={"predict_method": "predict_proba"})

Serving works out of the box:

mlflow models serve -m "models:/<name>/<version>" -p 5001

Compatibility

  • Python >= 3.9 (CI: 3.10, 3.11, 3.12)
  • MLflow >= 2.15 (CI: latest 3.x and the 2.x line)
  • AutoGluon >= 1.1: TabularPredictor ([tabular] extra), TimeSeriesPredictor ([timeseries]), and MultiModalPredictor ([multimodal])

See examples/autolog_quickstart.py for a complete runnable walkthrough on a real dataset.

Roadmap

  • ClearML integration (tracked separately)

Development

With pixi (recommended):

pixi install
pixi run test           # tabular test suite
pixi run lint           # ruff
pixi run docs           # live documentation server
pixi run -e full coverage   # full suite with the 100 percent gate

Or with conda/mamba via the shipped environment.yml:

mamba env create -f environment.yml
mamba run -n mlflow-autogluon pip install -e .
mamba run -n mlflow-autogluon pytest

See the contributing guide for the full task list and release process.

License

Apache License 2.0. See LICENSE.

Release files for mlflow-autogluon 0.2.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 mlflow-autogluon 0.2.0
File Size Uploaded
mlflow_autogluon-0.2.0.tar.gz 26.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mlflow-autogluon 0.2.0
File Interpreter ABI Platform
mlflow_autogluon-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 43.6 kB

Release files / mlflow_autogluon-0.2.0.tar.gz

Download URL mlflow_autogluon-0.2.0.tar.gz
Size 26.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e1c0e886146bf23722f407bfdaddc320a01b521fd92932a32405819c1ae7ea90
BLAKE2b-256 checksum
How to use checksums
e1274f6e0c0002e3962da737803a67f6ba15756922bd70d419d9b6f6dbc96c3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 9, 2026.

Transparency log

Release files / mlflow_autogluon-0.2.0-py3-none-any.whl

Download URL mlflow_autogluon-0.2.0-py3-none-any.whl
Size 17.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b390427cc7f11b07f3225720234de02ae28d4fb74ff47c6bcf931b44ffae60cd
BLAKE2b-256 checksum
How to use checksums
a086f5e4b6986b6b512d0edd0532cab1152d9e6c089882fe7e011615e80522ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.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