Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

GAFIME

PyPI version Python Versions License

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:

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.

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:

  1. configured GPU payloads whose C ABI library loads and whose device_id reports valid device info,
  2. the Rust CPU vector path ranked by detected ISA (AVX512 > AVX2 > SSE4.2/NEON),
  3. 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.interactions
  • report.decision
  • report.backend
  • report.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

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

gafime-1.0.0b0.tar.gz (354.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gafime-1.0.0b0-cp310-abi3-win_arm64.whl (837.7 kB view details)

Uploaded CPython 3.10+Windows ARM64

gafime-1.0.0b0-cp310-abi3-win_amd64.whl (911.5 kB view details)

Uploaded CPython 3.10+Windows x86-64

gafime-1.0.0b0-cp310-abi3-manylinux_2_28_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

gafime-1.0.0b0-cp310-abi3-manylinux_2_28_aarch64.whl (982.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

gafime-1.0.0b0-cp310-abi3-macosx_11_0_arm64.whl (963.7 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

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

Hashes for gafime-1.0.0b0.tar.gz
Algorithm Hash digest
SHA256 c204eb5715ccbecd3bbc7e35f3aa661d271dc3faf6b0d72b5def80a86e6268f6
MD5 b3e366322cacbd349232eb7a3528fa1a
BLAKE2b-256 f24ce624378e1a5c3bfff3d5f3ef9fd37854fed703ce0768f3086be9a6ec7b41

See more details on using hashes here.

Provenance

The following attestation bundles were made for gafime-1.0.0b0.tar.gz:

Publisher: build_wheels.yml on onlyxItachi/GAFIME

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for gafime-1.0.0b0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 37a3d8747a17e34540df66c45dae53099597cbee1a9497b3f6ab628c9e9fab89
MD5 dd55c62a02f14a2bcc5c2f6c2fef2fbf
BLAKE2b-256 baeb810ab0bebaa6d1b8ffe4b9fcd0bf463ac8e8c47ceae8a5b988e94b8970bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for gafime-1.0.0b0-cp310-abi3-win_arm64.whl:

Publisher: build_wheels.yml on onlyxItachi/GAFIME

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for gafime-1.0.0b0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 210b7a6f2eeaba96c94f1b40e31ca8053eb70ce17dfe1d09fad9ab822362276d
MD5 9cd24c4cd16dcd349dc661e8c1a13e9e
BLAKE2b-256 eed7ef288e9db80558c4556cc0ab6ac2c7dfa2400da0b2bda41592e641494459

See more details on using hashes here.

Provenance

The following attestation bundles were made for gafime-1.0.0b0-cp310-abi3-win_amd64.whl:

Publisher: build_wheels.yml on onlyxItachi/GAFIME

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gafime-1.0.0b0-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gafime-1.0.0b0-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff100735b6a73a17afd1b4caef1676ce6251ed0770ed2b15613d28a4db12782c
MD5 ca9666ab021ac2b6798f74af4b273531
BLAKE2b-256 552cabe5e557062bf2e2fa5dadf5f83e2e3af881ec73bca820d06ede7155639e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gafime-1.0.0b0-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gafime-1.0.0b0-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f51c1ee2f3933592af4e4241503381a2cfc1ff052abd768f6c5a5923f99afa3
MD5 e13ff728827f4e3ceeb6c638bb1aa072
BLAKE2b-256 b6906c0e2f436e99044af8b29b1667a21a8f331462113c069c560b031ee3f8a5

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gafime-1.0.0b0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gafime-1.0.0b0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3acf8087c0577bac662947907d4d59a527dc81dc08509073664eeac462844d9d
MD5 0135ad2d029afe15f0d3e48541930702
BLAKE2b-256 ab48308ae3672c62952c7f2ab37006f7be7dcb1a832cdcb08913dc134a5d2c78

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.0b0 This release

6 files

0.4.7

25 files

0.4.6

26 files

0.4.5

26 files

0.4.1

16 files

0.4.0

16 files

0.3.2

13 files

0.3.1

13 files

0.3.0

13 files

0.2.0

13 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page