mlflow-autogluon
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, andload_modelforTabularPredictor,TimeSeriesPredictor, andMultiModalPredictor, with full round-trip fidelity. - PyFunc support: logged models load with
mlflow.pyfunc.load_modeland serve withmlflow models serve, includingpredict_probavia 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 everyfitcall, 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]), andMultiModalPredictor([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)
| File | Size | Uploaded | |
|---|---|---|---|
| mlflow_autogluon-0.2.0.tar.gz | 26.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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