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.0a0.tar.gz (341.9 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.0a0-cp310-abi3-win_arm64.whl (829.7 kB view details)

Uploaded CPython 3.10+Windows ARM64

gafime-1.0.0a0-cp310-abi3-win_amd64.whl (904.1 kB view details)

Uploaded CPython 3.10+Windows x86-64

gafime-1.0.0a0-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.0a0-cp310-abi3-manylinux_2_28_aarch64.whl (975.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

gafime-1.0.0a0-cp310-abi3-macosx_11_0_arm64.whl (951.2 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file gafime-1.0.0a0.tar.gz.

File metadata

  • Download URL: gafime-1.0.0a0.tar.gz
  • Upload date:
  • Size: 341.9 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.0a0.tar.gz
Algorithm Hash digest
SHA256 1c711bb2bdc1868b05f13ea6e98e23b1d1d79c65bd665476a1efbee73296775f
MD5 4e2b9b2ce4100db956a319cafd097893
BLAKE2b-256 c6a49a709cd6c064c7d58e28d196fc83f8f6115bd49118c96aedcc8b8a6e05fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for gafime-1.0.0a0.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.0a0-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: gafime-1.0.0a0-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 829.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.0a0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 21fb85114fab8ca2d68aa142053e7740808fe04361fd5eb5ca734d6305258bec
MD5 89a201f199a38515a13d20fd70e07c6c
BLAKE2b-256 3278995c424438bf5922ca7ae6eea80bb559bf13e5be2ff8286e422ee9e0bea8

See more details on using hashes here.

Provenance

The following attestation bundles were made for gafime-1.0.0a0-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.0a0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: gafime-1.0.0a0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 904.1 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.0a0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 52fd3ae127c545ac59ec96a14450a7b2f0f93531cea7e035ad449a74e0e8accc
MD5 e53eaae0aeb2a5c1f4f482fc45ceee94
BLAKE2b-256 82a5171d53abdde9c8a23b1e7619864ece5bab9c11de45afaf1bddf2de90dec4

See more details on using hashes here.

Provenance

The following attestation bundles were made for gafime-1.0.0a0-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.0a0-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gafime-1.0.0a0-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 488fe3a376ff6de4cedd69d3b1872cea6b6e3e850ffb945faeb2462b7f52e42b
MD5 d8cd8a5b4ec888998f19c80076fe0c3e
BLAKE2b-256 a30e02ca02e19e1529b0fcd05e550d8bfcd64388cde77016de4f2d3aa746c59e

See more details on using hashes here.

Provenance

The following attestation bundles were made for gafime-1.0.0a0-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.0a0-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gafime-1.0.0a0-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8d0c3b63db9d1bb77b64d81cb7ef6da72039a95d5f2b47385dd0d7be309164fe
MD5 498030ad028526b284ecb917e916464c
BLAKE2b-256 3cf6d2a2e65006adc3ece88b15d5b90f944e3cb336ef3c7cf9cf94534421af54

See more details on using hashes here.

Provenance

The following attestation bundles were made for gafime-1.0.0a0-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.0a0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gafime-1.0.0a0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52da847dc2a43cb2f406d5d400607b3fb3b0ac7f3a98362c4f63bfb976752e02
MD5 ffc4e5d358becff1c56a243c0f9cc340
BLAKE2b-256 b1c549320dd06b1428ae436fd5cdc01d86f8ead05dbfbd65b4d8817dcc6fb6fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for gafime-1.0.0a0-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.0a0 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