Skip to main content

CI License: MIT Python DOI

XaiGis

Introduction

XaiGis is a config-driven geospatial machine learning software pipeline for natural hydrogen prospectivity mapping from Sentinel-2 imagery. It converts raw SAFE products into analysis-ready feature stacks, rasterized training labels, sampled pixel datasets, trained classification models, prediction GeoTIFFs, and explainability outputs.

The software is designed for reproducible, end-to-end execution from the command line, with each stage exposed as a dedicated CLI command (prepare, train, predict, explain, report) and orchestrated by JSON configuration. This makes it practical both for one-off research runs and repeatable operational workflows across new areas of interest.

The framework supports both classical and quantum machine learning (QML) workflows. Classical models include SGD, Random Forest (RF), XGBoost, and LightGBM. The paper-evaluation QML workflows use PennyLane-based Variational Quantum Classifier (VQC), Quantum Neural Network (QNN), and Quantum Kernel SVM (QKernel-SVM) models.

Production-oriented implementation of the XaiGis workflow includes:

  • Sentinel-2 SAFE ingestion and 10 m harmonization
  • 22-feature stack generation (13 bands + 5 indices + 4 texture proxies)
  • Polygon-to-raster label creation
  • Pixel dataset extraction with tile-aware sampling
  • Model training and evaluation (classical: SGD/RF/XGBoost/LightGBM; QML: VQC/QNN/QKernel-SVM)
  • GeoTIFF probability and threshold masks
  • Explainability outputs (model importances with SHAP fallback)
  • Metrics and markdown reporting

Backend Software Stack

XaiGis runs as a Python CLI backend (file-based geospatial/ML pipeline). The backend stack includes:

  • Language/runtime: Python (>=3.10)
  • Geospatial processing: rasterio, geopandas
  • Scientific/data stack: numpy, pandas, scipy
  • Classical ML: scikit-learn, xgboost, lightgbm
  • Quantum ML: pennylane, autoray
  • Explainability: shap
  • Packaging/build: setuptools, wheel

Dependency constraints are defined in pyproject.toml.

Quick Start

cd /path/to/XaiGis
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
xaigis init-config --out configs/default.json
xaigis prepare --config configs/default.json
xaigis rasterize-labels --config configs/default.json
xaigis sample-dataset --config configs/default.json
xaigis train --config configs/default.json
xaigis predict --config configs/default.json
xaigis explain --config configs/default.json
xaigis report --config configs/default.json

Install from PyPI (after release):

pip install xaigis

Notes

  • Update configs/default.json paths as needed for your local inputs.
  • The pipeline is designed for large rasters and uses tile/window processing where relevant.
  • pip install xaigis installs the full dependency set (classical ML, SHAP, and QML packages).

Related Work Citation

If this codebase supports your work, please also cite the upstream scientific study:

Related Work Citation Figure

@Article{Wayo2026,
  author  = {Wayo, Dennis Delali Kwesi and Goliatt, Leonardo and Hazlett, Randy and Fustic, Milovan and Leila, Mahmoud},
  title   = {Integrated pixel-wise remote sensing and explainable machine learning for natural hydrogen exploration in southeastern part of Pricaspian Basin, Western Kazakhstan},
  journal = {Scientific Reports},
  year    = {2026},
  month   = {Feb},
  day     = {26},
  issn    = {2045-2322},
  doi     = {10.1038/s41598-026-41845-0},
  url     = {https://doi.org/10.1038/s41598-026-41845-0}
}

Release files for xaigis 0.1.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 xaigis 0.1.1
File Size Uploaded
xaigis-0.1.1.tar.gz 16.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xaigis 0.1.1
File Interpreter ABI Platform
xaigis-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 34.4 kB

Release files / xaigis-0.1.1.tar.gz

Download URL xaigis-0.1.1.tar.gz
Size 16.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2f6be88c3e332720c8d6992c0d4b2977dfd26b0ad36dc5a63d56792dbbad5ea8
BLAKE2b-256 checksum
How to use checksums
66f90bea7be7940ecee4d057aa33763019c104963b5ca5c97d61f912f1a2cb20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 19, 2026.

Transparency log

Release files / xaigis-0.1.1-py3-none-any.whl

Download URL xaigis-0.1.1-py3-none-any.whl
Size 18.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9340b15584b57ee753f604b65dbb1cab187cad6e49595323c6f0f0288d88cca1
BLAKE2b-256 checksum
How to use checksums
7ee8f64755dbb1c172599e33b317562e3d3099706e5f4c1b1daa96f773a74ba9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 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