This release is a pre-release and may not be stable for production use.
GAFIME
GPU-Accelerated Feature Interaction Mining Engine.
GAFIME is a native feature interaction mining engine for tabular and structured machine-learning workflows. Python exposes a thin public API; Rust owns validation, planning, scheduling, CPU kernels, and report handles; CUDA, Metal, and ROCm/HIP own their backend-local C ABI payloads.
The engine is built for workloads where interaction candidates, decision-path regions, and temporal transforms become too expensive to search with ordinary Python loops or model-by-model trial code.
Install
Core package:
pip install gafime
Optional Python integrations:
pip install "gafime[sklearn]"
pip install "gafime[bench]"
Vendor GPU payloads are explicit in the v1 distribution design. Pip can select wheels by Python, ABI, OS, and CPU architecture, but not by local GPU vendor. CUDA and ROCm payloads therefore need explicit package selection once the split payload packages are published:
pip install "gafime[cuda]"
pip install "gafime[rocm]"
The extras install the separate PyPI payload projects gafime-cuda and
gafime-rocm for the same GAFIME release.
Apple Silicon Metal follows the macOS arm64 wheel/platform path.
Detailed install and backend policy:
- docs/backend-selection.md
- docs/capabilities.md
- docs/rocm-wheel-policy.md
- docs/eager-resident-compiled-execution.md
- BUILD.md
Basic Usage
from gafime import ComputeBudget, EngineConfig, GafimeEngine
config = EngineConfig(
backend="auto",
metric_names=("pearson", "r2"),
budget=ComputeBudget(max_comb_size=2),
)
report = GafimeEngine(config).analyze(X, y, feature_names=feature_names)
print(report.backend)
print(report.interactions[:5])
Generate the reference notebook:
import gafime
gafime.generate_tutorial()
The generated notebook and the tracked practice notebook share the same v1 source. The repository also keeps a clearly labeled historical API notebook from earlier release work.
- docs/notebooks/gafime_tutorial.ipynb (current v1 practice notebook)
- docs/notebooks/gafime_full_api_reference_notebook.ipynb (historical reference)
Candidate Families
GAFIME supports:
- continuous interaction candidates,
- native decision-path candidates for threshold/region-like structure,
- explicit time-series candidates: lag, delta, velocity, acceleration, rolling mean, rolling std, and rolling sum,
- scikit-learn transformer integration through
gafime.sklearn.GafimeSelector, - native Arrow ingest through
gafime.dataload.
The v0.4 discrete candidate family has been deprecated and removed from the current engine path. Use decision-path candidates for tree-like threshold and region structure.
Decision-path bootstrap stability is supported, but permutation significance
requires per-target path rediscovery and is not yet available. Set
permutation_tests=0 when enabling decision-path generation; unsupported
permutation requests fail closed rather than reporting invalid p-values.
Backend Policy
backend="auto" ranks the available native execution paths:
- configured GPU payloads whose C ABI library loads and whose
device_idreports valid device info, - the Rust CPU vector path ranked by detected ISA
(
AVX512 > AVX2 > SSE4.2/NEON), - the scalar Rust CPU path.
Explicit backend="cuda", backend="rocm", and backend="metal" never fall
back to another backend. auto is the only mode that probes candidates and
selects the best available execution path.
backend="gpu" is rejected because it is ambiguous across CUDA, ROCm, and
Metal. Use auto, cuda, rocm, metal, or core.
Native Reports
Reports are structured Python objects. Read properties such as:
report.interactionsreport.decisionreport.backendreport.warnings
DiagnosticReport.to_dict() remains only as a deprecated export convenience.
It should not be used as a runtime data-flow path.
Developer Docker Images
Docker files in this repository are development environments, not distribution images. Normal users should install GAFIME from PyPI wheels.
Available source-build containers:
docker compose run --build gafime-cuda-dev
docker compose run --build gafime-core-smoke
The CUDA development image includes the CUDA toolkit, compiler toolchain, Rust,
CMake, GAFIME development/benchmark/scikit-learn dependencies, and the locally
staged gafime-cuda payload by default. Extra workstation packages can be
added with the EXTRA_PIP_PACKAGES Docker build argument. The Core smoke image
is a smaller CPU-native source-build check.
Docker details:
Project References
- docs/releases/v1.0.0b0.md
- docs/releases/v1.0.0a0.md (previous alpha)
- docs/capabilities.md
- docs/eager-resident-compiled-execution.md
- docs/backend-selection.md
- docs/notebooks/gafime_tutorial.ipynb
- USAGE.md
- docs/notebooks/gafime_full_api_reference_notebook.ipynb (historical reference)
- CONTRIBUTING.md
Maintainer release operations are documented separately in docs/releases/release-operations.md. That runbook does not authorize publication; release tags and uploads require an explicit maintainer decision from a fully validated commit.
Historical release records remain available under docs/releases/, including
v0.4.7 and
v0.5.0-legacy.
Contact
Maintainer: Hamza Usta
Email: hamzausta2222@gmail.com
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gafime-1.0.0b0.tar.gz.
File metadata
- Download URL: gafime-1.0.0b0.tar.gz
- Upload date:
- Size: 354.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c204eb5715ccbecd3bbc7e35f3aa661d271dc3faf6b0d72b5def80a86e6268f6
|
|
| MD5 |
b3e366322cacbd349232eb7a3528fa1a
|
|
| BLAKE2b-256 |
f24ce624378e1a5c3bfff3d5f3ef9fd37854fed703ce0768f3086be9a6ec7b41
|
Provenance
The following attestation bundles were made for gafime-1.0.0b0.tar.gz:
Publisher:
build_wheels.yml on onlyxItachi/GAFIME
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gafime-1.0.0b0.tar.gz -
Subject digest:
c204eb5715ccbecd3bbc7e35f3aa661d271dc3faf6b0d72b5def80a86e6268f6 - Sigstore transparency entry: 2255959222
- Sigstore integration time:
-
Permalink:
onlyxItachi/GAFIME@23067aed231dd372a2d49071a862bf37e129d9a1 -
Branch / Tag:
refs/tags/v1.0.0b0 - Owner: https://github.com/onlyxItachi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@23067aed231dd372a2d49071a862bf37e129d9a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gafime-1.0.0b0-cp310-abi3-win_arm64.whl.
File metadata
- Download URL: gafime-1.0.0b0-cp310-abi3-win_arm64.whl
- Upload date:
- Size: 837.7 kB
- Tags: CPython 3.10+, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37a3d8747a17e34540df66c45dae53099597cbee1a9497b3f6ab628c9e9fab89
|
|
| MD5 |
dd55c62a02f14a2bcc5c2f6c2fef2fbf
|
|
| BLAKE2b-256 |
baeb810ab0bebaa6d1b8ffe4b9fcd0bf463ac8e8c47ceae8a5b988e94b8970bf
|
Provenance
The following attestation bundles were made for gafime-1.0.0b0-cp310-abi3-win_arm64.whl:
Publisher:
build_wheels.yml on onlyxItachi/GAFIME
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gafime-1.0.0b0-cp310-abi3-win_arm64.whl -
Subject digest:
37a3d8747a17e34540df66c45dae53099597cbee1a9497b3f6ab628c9e9fab89 - Sigstore transparency entry: 2255959256
- Sigstore integration time:
-
Permalink:
onlyxItachi/GAFIME@23067aed231dd372a2d49071a862bf37e129d9a1 -
Branch / Tag:
refs/tags/v1.0.0b0 - Owner: https://github.com/onlyxItachi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@23067aed231dd372a2d49071a862bf37e129d9a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gafime-1.0.0b0-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: gafime-1.0.0b0-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 911.5 kB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
210b7a6f2eeaba96c94f1b40e31ca8053eb70ce17dfe1d09fad9ab822362276d
|
|
| MD5 |
9cd24c4cd16dcd349dc661e8c1a13e9e
|
|
| BLAKE2b-256 |
eed7ef288e9db80558c4556cc0ab6ac2c7dfa2400da0b2bda41592e641494459
|
Provenance
The following attestation bundles were made for gafime-1.0.0b0-cp310-abi3-win_amd64.whl:
Publisher:
build_wheels.yml on onlyxItachi/GAFIME
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gafime-1.0.0b0-cp310-abi3-win_amd64.whl -
Subject digest:
210b7a6f2eeaba96c94f1b40e31ca8053eb70ce17dfe1d09fad9ab822362276d - Sigstore transparency entry: 2255959271
- Sigstore integration time:
-
Permalink:
onlyxItachi/GAFIME@23067aed231dd372a2d49071a862bf37e129d9a1 -
Branch / Tag:
refs/tags/v1.0.0b0 - Owner: https://github.com/onlyxItachi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@23067aed231dd372a2d49071a862bf37e129d9a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gafime-1.0.0b0-cp310-abi3-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gafime-1.0.0b0-cp310-abi3-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.10+, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff100735b6a73a17afd1b4caef1676ce6251ed0770ed2b15613d28a4db12782c
|
|
| MD5 |
ca9666ab021ac2b6798f74af4b273531
|
|
| BLAKE2b-256 |
552cabe5e557062bf2e2fa5dadf5f83e2e3af881ec73bca820d06ede7155639e
|
Provenance
The following attestation bundles were made for gafime-1.0.0b0-cp310-abi3-manylinux_2_28_x86_64.whl:
Publisher:
build_wheels.yml on onlyxItachi/GAFIME
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gafime-1.0.0b0-cp310-abi3-manylinux_2_28_x86_64.whl -
Subject digest:
ff100735b6a73a17afd1b4caef1676ce6251ed0770ed2b15613d28a4db12782c - Sigstore transparency entry: 2255959240
- Sigstore integration time:
-
Permalink:
onlyxItachi/GAFIME@23067aed231dd372a2d49071a862bf37e129d9a1 -
Branch / Tag:
refs/tags/v1.0.0b0 - Owner: https://github.com/onlyxItachi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@23067aed231dd372a2d49071a862bf37e129d9a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gafime-1.0.0b0-cp310-abi3-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: gafime-1.0.0b0-cp310-abi3-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 982.9 kB
- Tags: CPython 3.10+, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f51c1ee2f3933592af4e4241503381a2cfc1ff052abd768f6c5a5923f99afa3
|
|
| MD5 |
e13ff728827f4e3ceeb6c638bb1aa072
|
|
| BLAKE2b-256 |
b6906c0e2f436e99044af8b29b1667a21a8f331462113c069c560b031ee3f8a5
|
Provenance
The following attestation bundles were made for gafime-1.0.0b0-cp310-abi3-manylinux_2_28_aarch64.whl:
Publisher:
build_wheels.yml on onlyxItachi/GAFIME
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gafime-1.0.0b0-cp310-abi3-manylinux_2_28_aarch64.whl -
Subject digest:
1f51c1ee2f3933592af4e4241503381a2cfc1ff052abd768f6c5a5923f99afa3 - Sigstore transparency entry: 2255959299
- Sigstore integration time:
-
Permalink:
onlyxItachi/GAFIME@23067aed231dd372a2d49071a862bf37e129d9a1 -
Branch / Tag:
refs/tags/v1.0.0b0 - Owner: https://github.com/onlyxItachi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@23067aed231dd372a2d49071a862bf37e129d9a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gafime-1.0.0b0-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: gafime-1.0.0b0-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 963.7 kB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3acf8087c0577bac662947907d4d59a527dc81dc08509073664eeac462844d9d
|
|
| MD5 |
0135ad2d029afe15f0d3e48541930702
|
|
| BLAKE2b-256 |
ab48308ae3672c62952c7f2ab37006f7be7dcb1a832cdcb08913dc134a5d2c78
|
Provenance
The following attestation bundles were made for gafime-1.0.0b0-cp310-abi3-macosx_11_0_arm64.whl:
Publisher:
build_wheels.yml on onlyxItachi/GAFIME
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gafime-1.0.0b0-cp310-abi3-macosx_11_0_arm64.whl -
Subject digest:
3acf8087c0577bac662947907d4d59a527dc81dc08509073664eeac462844d9d - Sigstore transparency entry: 2255959282
- Sigstore integration time:
-
Permalink:
onlyxItachi/GAFIME@23067aed231dd372a2d49071a862bf37e129d9a1 -
Branch / Tag:
refs/tags/v1.0.0b0 - Owner: https://github.com/onlyxItachi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@23067aed231dd372a2d49071a862bf37e129d9a1 -
Trigger Event:
push
-
Statement type: