Skip to content

Supported models

mlbundle supports four libraries through closed adapters, plus scikit-learn pipelines that end in XGBoost or CatBoost. There is no conversion between formats and no generic fallback: a model outside an adapter’s boundary fails on export, on the training machine.

Library Extra Stored as Bundle member Structure Class labels
scikit-learn sklearn skops, closed allowlist model.skops Trees, ensembles, linear, importances; null for other families Native classes_
XGBoost xgboost Native UBJSON model.ubj Complete JSON tree dumps Supplied labels bound to a native copy, or encoded indices
CatBoost catboost Native CBM model.cbm Complete symmetric trees and borders Native classes_
ONNX onnx Your file, byte for byte model.onnx null Graph labels, or count-checked declarations
Pipelines sklearn + native skops prefix + native leaf model.skops + model.ubj/model.cbm Leaf structure with the transformed boundary From the final estimator

Every adapter owns recognition, export preparation, serialization, loading, claim and structure extraction, and prediction. The same extraction code runs on export and on load, so the format is defined once.

  • XGBoost, CatBoost and ONNX models have exactly one output. scikit-learn supports up to 1,024.
  • At most 100,000 features and 100,000 classes per output.
  • Classifiers must produce probabilities; there is no decision-only classifier support.

mlbundle does not support:

  • other libraries, including LightGBM and PyTorch;
  • converting scikit-learn models to ONNX, or any other format conversion;
  • per-model environments and bundle signing;
  • pickle, joblib or cloudpickle, even as an option.

The normative mappings are in Adapters and structure, Prediction state, CatBoost mapping, ONNX mapping and Composite pipelines.