Skip to main content

xplainable

Real-time explainable machine learning for business optimisation

Xplainable makes tabular machine learning transparent, fair, and actionable.

Why Was Xplainable Created?

In machine learning, there has long been a trade-off between accuracy and explainability. This drawback has led to the creation of explainable ML libraries such as Shap and Lime which make estimations of model decision processes. These can be incredibly time-expensive and often present steep learning curves making them challenging to implement effectively in production environments.

To solve this problem, we created xplainable. xplainable presents a suite of novel machine learning algorithms specifically designed to match the performance of popular black box models like XGBoost and LightGBM while providing complete transparency, all in real-time.

Xplainable Cloud

This Python package is free and open-source. To add more value to data teams within organisations, we also created Xplainable Cloud that brings your models to a collaborative environment.

Preprocessing with Xplainable Cloud

Before modeling, it's essential to preprocess your data. Xplainable Cloud facilitates this process by allowing you to create and manage preprocessors in the cloud.

import xplainable as xp
import os
from xplainable_client.client import Client

# Initialising the client
client = Client(api_key=os.environ['XP_API_KEY'])

# Creating a Preprocessor (creates both ID and version)
preprocessor_id, version_id = client.preprocessing.create_preprocessor(
    preprocessor_name="Preprocessor Name",
    preprocessor_description="Preprocessor Description",
    pipeline=pipeline,  # <-- Pass the pipeline
    df=df  # <-- Pass the raw dataframe
)

# Loading the Preprocessor Client
pp_cloud = client.preprocessing.load_preprocessor(
    preprocessor_id,
    version_id,
)

Modelling with Xplainable Cloud

After preprocessing, the next step is to create and train your model. Xplainable Cloud supports model versioning and ID creation to streamline this process.

# Creating a Model (creates both ID and version)
model_id, version_id = client.models.create_model(
    model=model,
    model_name="Model Name",
    model_description='Model Description',
    x=X_train,
    y=y_train
)

Deployments with Xplainable Cloud

Once your model is ready, deploying it is straightforward with Xplainable Cloud. You can deploy, activate, and manage API keys for your model deployment keys within your IDE or environment.

# Creating a Model Deployment
deployment = client.deployments.deploy(model_version_id=version_id)

# Activating the Deployment
client.deployments.activate_deployment(deployment.deployment_id)

# Generating an API Key
deploy_key = client.deployments.create_deployment_key(
    deployment_id=deployment.deployment_id,
    description='API Key Name',
    expiry_days=7  # Days until expiration
)

# Hitting the endpoint
response = requests.post(
    url="https://inference.xplainable.io/v1/predict",
    headers={'api_key': deploy_key.deploy_key},
    json=body
)

# Obtaining the value response
value = response.json()

CLI

The xp command provides a CLI for all xplainable cloud operations. It outputs JSON by default, making it ideal for scripting and AI agents.

pip install xplainable-client

# Authenticate
export XPLAINABLE_API_KEY=xp_...

# Examples
xp models list                              # List all team models
xp deployments payload dp_xyz | jq .        # Get deployment payload
xp preprocessing create --name "Pipeline" --description "v1" --spec spec.json
xp autotrain summarize data.csv > summary.json
xp --help                                   # Full command reference

See docs/cli.md for the complete command reference and examples.

Release Process

The xplainable-client uses automated release scripts to streamline version management and integrate with the Xplainable MCP Server.

Creating a New Release

Use the automated release scripts in the scripts/ directory:

# Quick patch release (1.2.3 → 1.2.4)
./scripts/release.sh --increment patch

# Minor release with new features (1.2.3 → 1.3.0)
./scripts/release.sh --increment minor

# Major release with breaking changes (1.2.3 → 2.0.0)
./scripts/release.sh --increment major

# Specific version
./scripts/release.sh --version 1.5.0

# Test what would happen (dry run)
./scripts/release.sh --increment patch --dry-run

What Happens During a Release

  1. Validation: Checks git repository state and current version
  2. Cleanup: Removes build artifacts (build/, dist/, *.egg-info/)
  3. Version Update: Updates version in pyproject.toml and other files
  4. Git Operations: Commits changes, creates tag, and pushes to GitHub
  5. Package Build: Creates wheel and source distributions in dist/
  6. PyPI Publish: Uploads to PyPI (if --publish flag used)
  7. GitHub Release: Creates release with changelog (if GitHub CLI available)
  8. 🤖 MCP Server Sync: Automatically triggers MCP server update workflow

When you create a release, the GitHub Actions workflow will automatically:

  • Install the new client version
  • Scan for @mcp_tool() decorated methods
  • Generate updated MCP server tools
  • Create a pull request in the MCP server repository

See scripts/README.md for detailed documentation and troubleshooting.





Thanks for trying xplainable!

Made with ❤️ in Australia


© copyright xplainable pty ltd

Release files for xplainable-client 1.16.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xplainable-client 1.16.1
File Size Uploaded
xplainable_client-1.16.1.tar.gz 116.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xplainable-client 1.16.1
File Interpreter ABI Platform
xplainable_client-1.16.1-py3-none-any.whl Python 3 none any Details

Total release size: 240.4 kB

Release files / xplainable_client-1.16.1.tar.gz

Download URL xplainable_client-1.16.1.tar.gz
Size 116.7 kB
Tags Source
SHA-256 checksum
How to use checksums
086a4c2f7e045bee31f12dfe1ff31679a135ad849185f5d430cccf14f762358d
BLAKE2b-256 checksum
How to use checksums
d12d2e9f5805d5da41b9f251c46126d4a784f5b3eb9fca2a2f8edd53808baa20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xplainable_client-1.16.1-py3-none-any.whl

Download URL xplainable_client-1.16.1-py3-none-any.whl
Size 123.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4164be3f5a8eb3c020fcd032b3e5c01ad07687481c22723d2bfcc29051615bf
BLAKE2b-256 checksum
How to use checksums
fc315a2b6b499bef35a77ad625aea4d3959304bf8e8ad728262bb4eba38bfa5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

1.23.0

2 release files

This release

1.16.1 This release

2 release files

1.16.0

2 release files

1.15.0

2 release files

1.14.0

2 release files

1.13.1

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

1.5.4

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

1 release file

1.2.4

2 release files

1.2.2

2 release files

1.2.1

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page