{"adoption": {"forks": 135, "observed_at": "2026-08-28T04:04:14.781495+00:00", "stars": 1285}, "canonical_url": "https://ross.abutalabs.com/products/piml-toolbox", "card": {"archived": false, "artifact_type": "library", "description": "PiML (Python Interpretable Machine Learning) toolbox for model development & diagnostics", "domain": ["machine-learning", "data-science", "data-visualization", "artificial-intelligence", "fintech"], "enriched": true, "function": ["machine-learning", "data-science", "data-visualization", "monitoring"], "health_score": 32, "homepage": "https://selfexplainml.github.io/PiML-Toolbox", "language": "Jupyter Notebook", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["SelfExplainML/PiML-Toolbox"], "name": "SelfExplainML/PiML-Toolbox", "platform": ["python", "cross-platform"], "pushed_at": "2025-03-30T15:42:16+00:00", "repo": "SelfExplainML/PiML-Toolbox", "stars": 1285, "tags": ["interpretable-machine-learning", "explainable-ai", "model-diagnostics", "model-validation", "low-code", "glassbox-models", "model-development", "xai", "feature-effect-analysis", "model-risk-management"], "topics": ["interpretable-machine-learning", "low-code", "ml-workflow", "model-diagnostics"], "urls": [], "use_cases": ["build interpretable machine learning models in python", "explain and diagnose ml model predictions", "validate black-box machine learning models for regulatory model risk management", "fit glm and gam models with built-in diagnostics", "low-code machine learning model development", "analyze model robustness and failure modes", "visualize feature effects and model interpretability"], "what_it_is": "PiML is a Python toolbox for developing, diagnosing, and validating inherently interpretable machine learning models such as GLMs, GAMs, decision trees, EBM, GAMI-Net, XGB1/XGB2, and ReLU-DNNs, and it also wraps arbitrary black-box supervised models. It provides both a low-code graphical interface and high-code APIs covering the full model development and validation workflow, including data handling, fitting, explainability, robustness analysis, and interactive diagnostic visualizations.", "when_to_avoid": ["you are starting a new project - the authors have moved to its successor MoDeVa (modeva.ai) as of March 2025, so PiML now only receives maintenance", "you need deep learning, NLP, or LLM workflows rather than interpretable tabular supervised learning", "you only care about maximizing predictive accuracy with black-box models and have no interpretability or diagnostic requirements"], "when_to_choose": ["you need inherently interpretable models (GLM, GAM, EBM, GAMI-Net, ReLU-DNN) for regulated or high-stakes decision-making", "you want one integrated workflow combining low-code UI and Python APIs for model development and validation", "you need rich diagnostic visualizations such as residual analysis, fairness, robustness, and explainability plots for tabular regression or binary classification"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/piml-toolbox", "repo": "SelfExplainML/PiML-Toolbox", "role": "main", "score": 29}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.781495+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:56:38.285861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cbbafc70cc8fa1e0afa1e0b4d2761fd414c78c16b228405b573ec18003528a9", "fetched_at": "2026-08-28T04:04:14.781495+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SelfExplainML/PiML-Toolbox"}, {"content_hash": "e0650c4dd4186fe9d187c6c9709b8cdc57779b6eebc32960ddd83d83a3b1839b", "fetched_at": "2026-08-29T12:12:26.039636+00:00", "kind": "homepage", "missing": false, "url": "https://selfexplainml.github.io/PiML-Toolbox"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 14, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1587, "days_push": 521, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 29, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}