ml-wrappers

raw JSON →
0.6.3 verified Fri May 01 auth: no python

Machine Learning Wrappers SDK for Python (v0.6.3) provides wrapper classes to unify model outputs for interpretability and fairness tools. Active development by Microsoft.

pip install ml-wrappers
error ImportError: cannot import name 'DatasetWrapper' from 'ml_wrappers'
cause DatasetWrapper was moved or renamed in older versions.
fix
Ensure ml-wrappers >=0.4.0; use 'from ml_wrappers import DatasetWrapper'.
error ValueError: The model parameter must be callable
cause ModelWrapper expects a callable (e.g., model.predict), not a string or non-callable object.
fix
Pass the actual model object or a lambda wrapper: ModelWrapper(model=lambda x: model.predict(x), ...).
error AttributeError: module 'numpy' has no attribute 'object'
cause numpy >=1.24 removed numpy.object alias; code uses np.object.
fix
Upgrade ml-wrappers to >=0.6.0 or use Python's built-in 'object'.
error OSError: [Errno 24] Too many open files
cause Opening many model files without closing or using context managers.
fix
Use 'with ModelWrapper(...)' context manager or manually close resources.
breaking In v0.6.0, numpy and pandas were updated to >2.0. Older versions of these libraries may cause compatibility issues.
fix Upgrade numpy to >=1.24 and pandas to >=2.0.
breaking scikit-learn OneHotEncoder parameter changed from 'sparse' to 'sparse_output' in later scikit-learn versions. ml-wrappers v0.5.6+ handles this, but older versions may break.
fix Update ml-wrappers to >=0.5.6 or manually adjust scikit-learn version.
deprecated TensorFlow 1.x support is deprecated. TensorFlow wrapper may fail with TF 2.x if protobuf is incompatible.
fix Use TensorFlow 2.x with compatible protobuf (e.g., protobuf <4.0).
gotcha OpenAI wrapper in v0.5.x requires openai <1.0.0 for compatibility. v0.5.4 fixed this, but v0.5.3 and earlier break with openai >=1.0.0.
fix Use openai<1.0.0 or upgrade ml-wrappers to >=0.5.4.

Wrap a ML model with ModelWrapper to unify predict/predict_proba outputs.

from ml_wrappers import ModelWrapper
import pandas as pd

model = ...  # your trained model
X_test = pd.DataFrame({'feature': [1, 2, 3]})
wrapped = ModelWrapper(model=model, model_task='classification')
# wrapped.predict(X_test)  # returns structured output