Model or dataset
Trusted-AI/AIX360 avatar
Trusted-AI/AIX360

AIX360: IBM's Explainability Toolkit for Tabular, Text, Image and Time Series Models

Interpretability and explainability of data and machine learning models

1,807 stars326 forksPythonApache-2.0

At a glance

What is it?
AIX360 is an Apache-2.0 Python library that bundles a taxonomy of explanation algorithms behind per-algorithm install extras. Its strength is breadth and its cost is dependency weight: some extras pin TensorFlow 1.14 and Python 3.6.
Who is it for?
Adopt AIX360 when you need several explanation families in one place, especially time series explanations, contrastive methods, or rule-based global models, and you can isolate each algorithm in its own environment. Do not adopt it if you need a single modern dependency stack, if you are explaining an LLM through its input, or if you want one default algorithm chosen for you.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 27 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 2, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What AIX360 actually solves, and for whom

Explainability is not one problem. A credit model reviewer wants to know why one application was rejected. A data scientist wants to know whether the training set is representative. A compliance reviewer wants a global rule set they can read. These are different questions, and the README says so directly: there is no single approach to explainability that works best, and the library is organized around that admission rather than around a single flagship method.

AIX360 is therefore a catalog. The README lists data explanations (ProtoDash, Disentangled Inferred Prior VAE), local post-hoc methods (ProtoDash, Contrastive Explanations Method and its monotonic-attribute variant, exemplar-based CEM, Grouped Conditional Expectation, LIME, SHAP), time series local post-hoc methods (saliency maps via Integrated Gradients, Time Series LIME, Time Series ICE), local direct explanations (Teaching AI to Explain its Decisions, Order Constraints in Optimal Transport), certification of local explanations (Ecertify), global direct explanations (Interpretable Model Differencing, CoFrNets, Boolean Decision Rules via Column Generation, Generalized Linear Rule Models, Ripper), and one global post-hoc method (ProfWeight). Two metrics ship alongside: Faithfulness and Monotonicity.

The intended user is a data scientist or ML engineer who already has a model and a question, and needs a method that matches the question. The library does not decide for you. It gives you a taxonomy tree in aix360/algorithms/README.md and guidance material on the project site so you can pick.

The per-algorithm install extras are the real architecture decision

The most consequential thing about AIX360 is not an algorithm. It is setup.py. Each explainer is installed as a named extra, and each extra carries its own pinned dependency set. The default extra is numpy, pandas, scikit-learn and matplotlib. Everything else is opt-in.

That design is honest about a real problem: these algorithms were published across roughly 2016 to 2024, and their reference implementations do not share a dependency stack. The contrastive extra pins keras==2.3.1, tensorflow==1.14, protobuf<3.20, scipy>=0.17, scikit-image, torch, safetensors<0.4 and h5py<3.0.0. The comment in setup.py explains the protobuf pin: TF 1.14's generated _pb2 files reject protobuf 4.x. The profwt extra pins keras==2.3.1 and tensorflow==1.14 as well. The rbm extra pins pandas<2.0.0, scipy<=1.10.1, scikit-learn<1.2.0 and numpy<=1.24.3. The cofrnet extra wants numpy==1.24.2 and torch. The rule_induction extra wants numpy<2.0.0, pandas<2.0.0, xmltodict==0.12.0 and nyoka. The matching extra installs otoc straight from git.

The README setup table maps each extra to supported operating systems and Python versions, and the spread is wide: contrastive and profwt and shap are listed at Python 3.6 or 3.7, imd at Python 3.10 on macOS and Ubuntu only, and most others at 3.10. You cannot install the whole catalog into one environment and expect it to resolve. The architecture is a set of independently installable explainers that happen to share a package namespace.

Installing one explainer and running a first explanation

The README's setup section is the entry point. The setup table maps an installation keyword to the explainers it covers, so the extra you choose is the one named for the algorithm you want. The table lists protodash for the protodash explainer on macOS, Ubuntu and Windows with Python 3.10, and the matching extra installs otoc from git.

bash
pip install aix360

The bare install above is what the Dockerfile runs. It brings the default extra only: numpy, pandas, scikit-learn and matplotlib. For an algorithm-specific extra, the setup table's installation keyword is the one to pass to the package installer.

After that, the examples directory is where the runnable material lives. The repository layout shows one folder per algorithm: examples/protodash/, examples/contrastive/, examples/lime/, examples/shap/, examples/tsice/, examples/tslime/, examples/tssaliency/, and so on, plus examples/tutorials/ and examples/metrics/. The README describes these notebooks as a deeper, data scientist-oriented introduction, in contrast to the interactive experience on the project site, which it calls a gentle introduction.

bash
git clone https://github.com/Trusted-AI/AIX360.git
pip install jupyterlab

What you should see is a notebook that loads a dataset, fits or loads a model, calls the explainer, and plots the result. The exact output depends on the algorithm: ProtoDash returns representative or prototype instances from the data, while the contrastive methods return pertinent positives and negatives. The repository also ships a Dockerfile, but read it before using it as a template.

dockerfile
FROM ubuntu:18.04
FROM python:3.6
WORKDIR /src
RUN pip install aix360
RUN git clone https://github.com/Trusted-AI/AIX360.git
RUN pip install jupyterlab

Two things stand out. It declares two FROM lines, so the ubuntu:18.04 layer is discarded and the effective base is python:3.6. And it installs the bare aix360 package, which brings only the default extra, so most explainers will not import inside that container.

Where AIX360 is the wrong tool

The dependency pins are the first limitation, and they are not incidental. If your project is on current TensorFlow, the contrastive, profwt and shap extras will fight it. If you need several explainers at once, you are maintaining multiple virtual environments or containers, one per algorithm family. That is a real operational cost that the README does not discuss.

The second limitation is scope. The README's own banner points to In-Context Explainability 360 (ICX360) as a separate toolkit that extends explainability to LLMs, specifically in terms of the input given to the LLM. That is an explicit statement that AIX360 itself is not the LLM explainability tool. If your model is a large language model and your question is about its input, this is the wrong repository.

The third is that the library does not choose for you. It ships a taxonomy and guidance precisely because picking an algorithm is the hard part. If you want a tool that picks a reasonable default and shows you a chart, AIX360 will feel like a research catalog rather than a product. The README also states plainly that the library is still in development, and the latest release is v0.3.0 from 2023-07-01, so the algorithm list has been stable for a while. The last push to the repository was on 2026-09-05, so the code is being touched, but the release cadence and the maintenance cadence are different things. Read the commit history before assuming a fix for a specific algorithm is coming.

How it compares with InterpretML, LIME and SHAP as standalone libraries

The most direct alternative for tabular work is InterpretML, which people search for alongside AIX360. The difference in approach is packaging philosophy. InterpretML is a single framework that presents its own glassbox models and its own explanation interface, so you adopt one dependency stack and one API. AIX360 instead aggregates methods from many sources and exposes them as separately installable extras, which means you keep the original algorithm's semantics and its original dependency constraints.

The second comparison is against using LIME and SHAP directly. AIX360's README lists both as supported algorithms, and the setup.py shows a lime extra that depends on the lime package and a shap extra that pins keras==2.3.1 and tensorflow==1.14. If LIME or SHAP is the only method you need, installing the upstream library directly gives you a maintained package and a smaller dependency graph. AIX360 earns its place when you need methods that have no widely used standalone package, such as the contrastive methods, Ecertify, Time Series LIME, or the rule induction family, or when you want several of these behind a shared package name and a shared examples layout.

The third comparison is against a model-agnostic dashboard. The Google What-If Tool is a separate project and is not part of this repository; AIX360's contribution is Python APIs and notebooks, not an interactive UI. If your team's workflow is a browser-based analysis panel, this library is a component, not a replacement.

Licence, maintenance and what an upgrade costs

AIX360 is Apache-2.0, and the repository carries a LICENSE file plus a supplementary license directory, which is worth reading if you plan to redistribute the package or ship it inside a product. Apache-2.0 is permissive and includes a patent grant, but the supplementary license folder exists for a reason, and the README does not explain what it covers. Check it against your own distribution model rather than assuming the top-level licence is the whole story. This is a description of the repository layout, not legal advice.

Upgrade cost is dominated by the extras, not by the core library. The default extra is four common packages and will move with your environment. Every other extra is a frozen slice of 2018 to 2023 tooling. Moving from Python 3.7 to 3.10 is not a version bump for the contrastive or profwt extras; it is a migration away from TensorFlow 1.14, and setup.py gives no indication that such a migration exists. The setup table lists contrastive at Python 3.7 and profwt at Python 3.6, while most other extras are at 3.10, so the catalog is already split across interpreter versions.

Release history reinforces the point. v0.2.0 in 2019 integrated LIME and SHAP. v0.2.1 in 2020 was a patch. v0.3.0 in 2023-07-01 added algorithms and time series support. Three releases across roughly four years, with the newest algorithm families (Ecertify, Interpretable Model Differencing, Order Constraints in Optimal Transport) arriving in that 2023 release. Budget for pinning your environment per explainer and for reading the relevant example notebook before you upgrade anything.

Editorial conclusion

Adopt AIX360 when you need several explanation families in one place, especially time series explanations, contrastive methods, or rule-based global models, and you can isolate each algorithm in its own environment. Do not adopt it if you need a single modern dependency stack, if you are explaining an LLM through its input, or if you want one default algorithm chosen for you. Before committing, check the setup table for the Python version your chosen extra requires, read the aix360/algorithms/README.md taxonomy to confirm the method matches your question, and run the matching notebook under examples/ to see the output shape.

Frequently asked questions

What are the main 3 types of ML models?

The README does not classify machine learning models into three types. It classifies explanation algorithms, grouping them as data explanations, local post-hoc explanations, local direct explanations, global direct explanations and global post-hoc explanations.

What are XAI algorithms?

In AIX360 the term covers several distinct families: data explanations such as ProtoDash, local post-hoc methods such as LIME, SHAP and the Contrastive Explanations Method, global direct methods such as Boolean Decision Rules and Ripper, and one global post-hoc method, ProfWeight.

What are the four main types of AI software?

The README does not describe four types of AI software. It lists supported explainability algorithms and two proxy metrics, Faithfulness and Monotonicity, and states that the toolkit supports tabular, text, images and time series data.

Is ChatGPT an explainable AI?

AIX360 does not cover large language models. The README points readers to a separate toolkit, In-Context Explainability 360 (ICX360), for explainability of LLMs in terms of the input given to the LLM.

Official sources

  1. License: Apache-2.0
  2. Project website
  3. README
  4. Releases
  5. Trusted-AI/AIX360 on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/trusted-ai-aix360.svg)](https://hysenlabs.com/projects/trusted-ai-aix360)