{"id":24048,"library":"ml-wrappers","title":"ml-wrappers","description":"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.","status":"active","version":"0.6.3","language":"python","source_language":"en","source_url":"https://github.com/microsoft/ml-wrappers","tags":["machine-learning","wrappers","interpretability","fairness","microsoft"],"install":[{"cmd":"pip install ml-wrappers","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Core dependency for array operations","package":"numpy","optional":false},{"reason":"Core dependency for DataFrame handling","package":"pandas","optional":false},{"reason":"Optional but used for model wrappers","package":"scikit-learn","optional":true},{"reason":"Optional for PyTorch model wrappers","package":"torch","optional":true},{"reason":"Optional for TensorFlow model wrappers","package":"tensorflow","optional":true}],"imports":[{"note":"Direct import from ml_wrappers is preferred and stable.","wrong":"from ml_wrappers.model.wrapper import ModelWrapper","symbol":"ModelWrapper","correct":"from ml_wrappers import ModelWrapper"},{"note":null,"wrong":null,"symbol":"DatasetWrapper","correct":"from ml_wrappers import DatasetWrapper"}],"quickstart":{"code":"from ml_wrappers import ModelWrapper\nimport pandas as pd\n\nmodel = ...  # your trained model\nX_test = pd.DataFrame({'feature': [1, 2, 3]})\nwrapped = ModelWrapper(model=model, model_task='classification')\n# wrapped.predict(X_test)  # returns structured output","lang":"python","description":"Wrap a ML model with ModelWrapper to unify predict/predict_proba outputs."},"warnings":[{"fix":"Upgrade numpy to >=1.24 and pandas to >=2.0.","message":"In v0.6.0, numpy and pandas were updated to >2.0. Older versions of these libraries may cause compatibility issues.","severity":"breaking","affected_versions":">=0.6.0"},{"fix":"Update ml-wrappers to >=0.5.6 or manually adjust scikit-learn version.","message":"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.","severity":"breaking","affected_versions":"<0.5.6"},{"fix":"Use TensorFlow 2.x with compatible protobuf (e.g., protobuf <4.0).","message":"TensorFlow 1.x support is deprecated. TensorFlow wrapper may fail with TF 2.x if protobuf is incompatible.","severity":"deprecated","affected_versions":"all"},{"fix":"Use openai<1.0.0 or upgrade ml-wrappers to >=0.5.4.","message":"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.","severity":"gotcha","affected_versions":">=0.5.0, <0.5.4"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure ml-wrappers >=0.4.0; use 'from ml_wrappers import DatasetWrapper'.","cause":"DatasetWrapper was moved or renamed in older versions.","error":"ImportError: cannot import name 'DatasetWrapper' from 'ml_wrappers'"},{"fix":"Pass the actual model object or a lambda wrapper: ModelWrapper(model=lambda x: model.predict(x), ...).","cause":"ModelWrapper expects a callable (e.g., model.predict), not a string or non-callable object.","error":"ValueError: The model parameter must be callable"},{"fix":"Upgrade ml-wrappers to >=0.6.0 or use Python's built-in 'object'.","cause":"numpy >=1.24 removed numpy.object alias; code uses np.object.","error":"AttributeError: module 'numpy' has no attribute 'object'"},{"fix":"Use 'with ModelWrapper(...)' context manager or manually close resources.","cause":"Opening many model files without closing or using context managers.","error":"OSError: [Errno 24] Too many open files"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}