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.jsonpaths as needed for your local inputs. - The pipeline is designed for large rasters and uses tile/window processing where relevant.
pip install xaigisinstalls 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:
@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)
| File | Size | Uploaded | |
|---|---|---|---|
| xaigis-0.1.1.tar.gz | 16.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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