
25.7k stars · MIT · v0.53.0rc0 (2026-09-07) · Track this in Rising ↗
Per-prediction feature attribution — which of tsfresh's 700 features the surviving model actually leans on, and whether that reason is embarrassing.
Radar check
What we found when we opened it. Every bar is one fact, with its date.
Last code pushed 26 Oct 2026, one day before this check.
Latest release v0.54.1 on 16 Oct 2026.
Public since November 2016, a little over 9 years.
25,833 stars and 3,776 forks.
93 commits and 23 new issues in the last 90 days.
334 contributors. 86 pull requests merged in 90 days.
No security policy file says how to report a problem. No published security advisories.
How the bars are scored
- Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
- Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
- Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
- Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
- Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
- Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
- Security. A published security policy 80, none 40; published advisories are listed, not scored.
Checked by Repo Radar on 27 Oct 2026 from the repository on GitHub. Covered in Edition 8.
▶Repo detailsthe review · specs · pros & cons · install
What it does
It computes Shapley values, a method from game theory that splits credit for a result fairly among the inputs that produced it. For each prediction it reports how much each feature pushed the output up or down. TreeExplainer handles gradient-boosted trees and random forests exactly and quickly, which covers most tabular work. KernelExplainer handles any model at all, much more slowly. There are also explainers for neural networks and for text and image models. The standard summary, waterfall and dependence plots turn the numbers into pictures. Version 0.53.0 was published on 9 October 2026. It explains what the model learned, and it cannot tell you whether what the model learned is real.
Why it matters
Who it suits. Anyone with a model built from hundreds of generated features who cannot say which ones carry the signal. It suits regulated work where a decision has to be explained to a person. It also suits anyone who suspects a data leak, because a feature computed with information from the future shows up clearly. Skip it if the model is a handful of hand-chosen inputs you can already reason about.
Verdict. Worth an hour, and often the hour that saves a month. The usual result is humbling: the edge rests on a feature nobody intended, such as the hour of day, and that is a property of the data rather than a pattern worth trusting. Two practical warnings. Stay on tree models or budget real time, because the general fallback is slow on long series. And the older tutorials use an interface that has since changed, so follow the current documentation. interpret is the alternative worth knowing, offering models that are readable by design rather than explanations bolted on afterwards.
Summary (Key Points)from the README
Key features
- Exact tree explanations: A high-speed exact algorithm for tree ensembles, with fast C++ implementations for XGBoost, LightGBM, CatBoost, scikit-learn and pyspark tree models.
- GPU-accelerated Tree SHAP: GPUTreeExplainer is available through an optional cuda extra.
- Force and summary plots: Force plots explain single predictions, and stacked force plots cover a whole dataset. Summary plots show feature importance and the distribution of each feature's impact.
- Dependence plots: Plot a feature's SHAP values against its values, with optional coloring by another feature to reveal interactions.
- Interaction values: shap.TreeExplainer(model).shap_interaction_values(X) returns pairwise interaction matrices for tree models.
- Natural language support: Passing a supported Hugging Face transformers pipeline to SHAP explains NLP models using coalitional rules, which need very few function evaluations.
- Deep learning explainers: DeepExplainer (approximate, for TensorFlow and Keras, with preliminary PyTorch support) and GradientExplainer (expected gradients, for TensorFlow, Keras and PyTorch).
- Model-agnostic and linear options: KernelExplainer works with any function, and LinearExplainer computes exact values for linear models.
Ways to install
| Platform or method | What it needs | Effort |
|---|---|---|
| PyPI | Not stated in the README | Not stated in the README |
| conda-forge | Not stated in the README | Not stated in the README |
| GPU-accelerated Tree SHAP (cuda extra) | CUDA toolkit installed on the system | Not stated in the README |
Important
- CUDA requirement: GPUTreeExplainer needs the CUDA toolkit installed on your system.
- Approximate methods: DeepExplainer is faster but only approximate. GradientExplainer makes different approximation assumptions and is slower than DeepExplainer.
- Feature independence: LinearExplainer is exact for linear models with independent features. Accounting for correlation requires estimating the feature covariance matrix.
- Speed of KernelExplainer: It makes no assumptions about model type, so it is slower than the model-specific algorithms.
- PyTorch support: Support for PyTorch in DeepExplainer is described only as preliminary.
- Older dependency versions: SHAP tests against minimum dependency versions set by SPEC 0 and may not fix bugs in older versions.
Written by an AI model from the project’s README; not part of the review, and it can be wrong.
- Exact and fast on gradient-boosted trees, which is where most tabular work lives.
- The standard plots make an abstract question visual, which matters for non-statisticians.
- MIT licensed, so it can sit inside a commercial product without a licence problem.
- It explains the model, not reality. A feature the model leans on can still be noise it memorised.
- The general-purpose explainer is slow enough to be impractical on long series.
- The library is large and older tutorials use a changed interface, which causes confusion.
6 #12) beside the Optuna trials.
pip install shap




