Skip to main content

High-performance interpretable rule-based ML — HUG-IML classifier, adaptive binning, EBM-style plots, pattern pruning, and benchmark runner (IEEE Access 2024).

Project description

hugiml-core

High-performance interpretable rule-based ML infrastructure built on the HUG-IML algorithm published in IEEE Access (2024).

CI PyPI Docs Python License DOI

HUGIML: interpretable tabular ML through compact human-readable patterns

HUGIML learns human-readable High Utility Gain patterns and uses those patterns as the model representation itself. Instead of explaining a black-box after training, the learned model is already composed of inspectable intervals, categories, supports, utilities, and coefficients.

glucose=[157.1,177.3)                coef= +1.4077   support=0.067
bmi=[31.8,39.1)                      coef= +1.0839   support=0.200
duration=[24,48)                     coef= +0.84     support=0.28
checking_status=no_checking          coef= +1.12     support=0.39

Where HUGIML fits


Table of Contents

  1. What Is HUG-IML?
  2. Installation
  3. Quick Start
  4. Feature Modes
  5. Execution Modes
  6. Hyperparameter Search
  7. Governance Studio Dashboard
  8. Augmented Pair Features
  9. Adaptive Binning
  10. Missing Value Handling
  11. Model Explanation and Visualisations
  12. Pattern Pruning
  13. Interpretability Metrics
  14. Multiclass, Imbalanced Data, High-Cardinality
  15. Drift Detection & Monitoring
  16. Calibration
  17. Serialisation
  18. Governance & Model Cards
  19. Benchmark Suite
  20. Validation Highlights
  21. Inference Server
  22. CI / CD
  23. Repository Structure
  24. License
  25. Citation

What Is HUG-IML?

The High Utility Gain Interpretable Machine Learning (HUG-IML) framework extracts High Utility Gain patterns from labelled tabular data, transforms the input into a binary pattern-presence matrix, and fits an interpretable downstream classifier (logistic regression by default) on that matrix.

The resulting patterns are human-readable and serve as the primary source of model explanations, making the system suitable for regulated domains such as credit scoring, healthcare, and risk management.

Key reference:

Krishnamoorthy, S. (2024). Interpretable Classifier Models for Decision Support Using High Utility Gain Patterns. IEEE Access, 12, 126088–126107. DOI: 10.1109/ACCESS.2024.3455563


Installation

# Core
pip install hugiml-core

# With profile plots
pip install "hugiml-core[plots]"

# With Governance Studio dashboard
pip install "hugiml-core[dashboard]"

# With benchmark comparison suite
pip install "hugiml-core[benchmarks]"

# With imbalanced-data helpers
pip install "hugiml-core[imbalanced]"

# With SHAP interoperability
pip install "hugiml-core[explainability]"

# With MLflow integration
pip install "hugiml-core[mlflow]"

# Everything
pip install "hugiml-core[all]"

Build from source requires a C++17 compiler and pybind11:

git clone https://github.com/srikumar2050/hugiml-core.git
cd hugiml-core
pip install -e ".[dev]"
python setup.py build_ext --inplace

Quick Start

HUGIMLClassifier is the primary public class name. HUGIMLClassifierNative remains available as a backward-compatible alias for existing code.

Note on prepareXy: prepareXy performs schema and type preparation only — it detects integer, float, and categorical columns and encodes the target. Discretisation, HUG pattern mining, and downstream classifier fitting occur inside fit() on the training data supplied to that call.

Path A — prepareXy

import pandas as pd
from sklearn.model_selection import train_test_split
from hugiml import HUGIMLClassifier

clf = HUGIMLClassifier(B=7, L=1, G=5e-3)

X_enc, y_enc = clf.prepareXy(X_df, y)   # schema/type prep — no model fitting

X_tr, X_te, y_tr, y_te = train_test_split(
    X_enc, y_enc, stratify=y_enc, random_state=42
)

clf.fit(X_tr, y_tr)                     # mining + downstream fit on train only
proba = clf.predict_proba(X_te)

print(clf.get_hug_features())
print(clf.feature_importances())
print(clf.model_summary())

Path B — explicit allCols for CV and production pipelines

from hugiml import HUGIMLClassifier

clf = HUGIMLClassifier(
    allCols=[int_col_names, float_col_names, cat_col_names],
    origColumns=X.columns.tolist(),
    B=15,
    L=1,
    G=1e-5,
    topK=150,
    adaptive_binning=True,
    b_candidates=[2, 3, 5, 7, 10, 15],
)

clf.fit(X_train, y_train)

pred = clf.predict(X_test)
proba = clf.predict_proba(X_test)

Feature Modes

HUGIML can use the mined binary pattern matrix in three downstream feature modes. The default remains the original pattern-only behavior, so existing code keeps the same semantics unless feature_mode is set explicitly.

feature_mode Downstream estimator input When to use
"patterns_only" HUGIML binary pattern matrix only Standard HUGIML; best when the mined pattern space itself captures the decision boundary.
"original_plus_patterns" Original features plus all mined binary patterns Useful when the original features contain strong marginal signal and HUGIML patterns add supervised nonlinear refinements.
"original_plus_interactions" Original features plus only L > 1 mined patterns Useful when original features should handle marginal effects and HUGIML should contribute interaction/compound-region features only.
from hugiml import HUGIMLClassifier

# Backward-compatible default: pattern matrix only
clf = HUGIMLClassifier(B=10, L=2, G=1e-2, topK=150,
                              adaptive_binning=True, feature_mode="patterns_only")

# Hybrid: original features + all binary HUGIML patterns
clf_hybrid = HUGIMLClassifier(B=10, L=2, G=1e-2, topK=150,
                                    adaptive_binning=True, feature_mode="original_plus_patterns")

# Hybrid: original features + higher-order/interaction patterns only
clf_interactions = HUGIMLClassifier(B=10, L=2, G=1e-2, topK=150,
                                          adaptive_binning=True,
                                          feature_mode="original_plus_interactions")

transform(X) always returns the HUGIML binary pattern matrix, regardless of feature_mode. The feature mode only changes the matrix passed to the downstream estimator inside fit(), predict(), predict_proba(), and score().

For hybrid modes, HUGIML standardizes numeric original features internally before concatenating them with the sparse binary pattern matrix and any active augmented-pair columns. feature_importances(), model_summary(), and get_model_composition() report the downstream feature representation, while get_hug_features() and get_pattern_info() remain pattern-only APIs.


Execution Modes

HUGIML supports two execution modes:

execution_mode Purpose Behavior
"audit" Default mode for development, validation, governance, and regulated review Keeps the complete training and traceability artifacts needed by audit, governance, and dashboard APIs.
"production" Lean mode for deployment after validation Keeps prediction, probability scoring, save, and load behavior, while dropping training/audit-heavy artifacts to reduce retained memory.
from hugiml import HUGIMLClassifier

# Full traceability; this is the default.
audit_model = HUGIMLClassifier(execution_mode="audit")
audit_model.fit(X_train, y_train)

# Lean retained state for deployment.
prod_model = HUGIMLClassifier(execution_mode="production")
prod_model.fit(X_train, y_train)
prod_model.save_model("model.hugiml")
loaded = HUGIMLClassifier.load_model("model.hugiml")

In production mode, audit-oriented methods return a clear guidance result or raise a clear message asking you to refit with execution_mode="audit" when complete traceability is required.


Hyperparameter Search

HUGIML provides a fast cached tuning path for adaptive-binning grids. When adaptive_binning=True, the full binning and transaction construction phase runs once per unique (G, L, topK) combination; subsequent candidates that vary only feature_mode reuse the cached artefacts and skip re-mining.

tune() — cross-validated search with automatic fast path

result = HUGIMLClassifier.tune(
    X, y,
    cv=5,
    shuffle=True,
    random_state=42,
    scoring="roc_auc",
    refit=True,
)

print(result.best_params_)
print(f"CV score: {result.best_score_:.4f}")
print(f"Fast path used: {result.fast_path_used_}")

best_model = result.best_estimator_

A custom grid is supplied via param_grid. Only G, L, topK, and feature_mode may vary; B may appear but is ignored when adaptive_binning=True.

grid = {
    "G":            [1e-3, 1e-2],
    "L":            [1, 2],
    "topK":         [30, 50],
    "feature_mode": ["patterns_only", "original_plus_patterns"],
}

result = HUGIMLClassifier.tune(
    X, y,
    param_grid=grid,
    base_params={"adaptive_binning": True},
    cv=3,
    scoring="roc_auc",
    refit=True,
)

fast_grid_tune() — single-split cached path for custom CV loops

tune_result = HUGIMLClassifier.fast_grid_tune(
    X_train, y_train,
    X_val,   y_val,
    param_grid=grid,
    base_params={"adaptive_binning": True},
    scoring="roc_auc",
    refit_full=False,
)

print(tune_result["best_params"])
print(f"Validation score: {tune_result['best_score']:.4f}")

Governance Studio Dashboard

The HUGIML Governance Studio is a multi-view Streamlit application that provides audit-ready evidence for interpretable model review.

Launch

# Installed console script (recommended)
hugiml-dashboard

# Direct Streamlit invocation
streamlit run src/hugiml/dashboard/app.py

# With custom CV folds and random seed
hugiml-dashboard -- --cv 5 --random-state 42

Evidence views

View What it shows
Overview Dataset summary, best CV score, feature mode, top patterns
Validation Per-fold performance metrics and calibration
Representation Audit Complexity budget, feature-family provenance, original vs pattern vs augmented
Pattern Inventory Full pattern table with coefficients, support, utility, and information gain
Case Review Per-row predictions, probability, and active pattern explanations
Data Quality & Policy Feature-level missingness rates and sensitive/proxy column review
Configuration Comparison Side-by-side CV performance across feature_mode variants
Representation Pruning Remove original features or downstream representation columns and re-evaluate
Monitoring PSI and KL-divergence drift signals across features

Data sources

  • Demo dataset — built-in credit-risk dataset; no upload required.
  • Upload — CSV, TSV, Excel (.xlsx/.xls), or Parquet. Define target column, ID column, excluded columns, sensitive columns, and positive label from the sidebar.

Demo preview

Installation

pip install "hugiml-core[dashboard]"

Augmented Pair Features

For interaction-oriented models, HUGIML can add native augmented-pair features to the downstream estimator. These are continuous product or absolute-difference transforms built from informative numeric features, for example:

glucose * bmi
abs(age - duration)

They are active when L > 1, adaptive_binning=True, and augmented_pair_transforms=True (the default). They are appended only to the downstream estimator; the mined HUG pattern matrix and transform(X) remain pattern-space APIs.

clf = HUGIMLClassifier(
    B=-1,
    adaptive_binning=True,
    L=2,
    topK=50,
    G=1e-2,
    feature_mode="original_plus_patterns",
    augmented_pair_transforms=True,
    topk_budget_strict=True,
)
clf.fit(X_train, y_train)

print(clf.get_model_composition())
print(clf.explain_augmented_pair_effects())

For selected pair features, HUGIML reports the raw formula, standardized formula, observed-row coverage, missing-pair policy, and raw-scale coefficient interpretation.


Adaptive Binning

The global B parameter controls how many quantile bins each numerical feature is discretised into. Adaptive binning selects the optimal bin count per feature via supervised information-gain search and elbow stopping.

from hugiml.adaptive import HUGIMLAdaptive

clf = HUGIMLAdaptive(b_candidates=[3, 5, 7, 10, 15], L=2, G=1e-2)

X_enc, y_enc = clf.prepareXy(X_df, y)
clf.fit(X_tr, y_tr)

print(clf.per_feature_b_)
clf.plot_bin_profiles()
clf.ig_heatmap()

Alternatively, enable adaptive binning directly on HUGIMLClassifier:

from hugiml import HUGIMLClassifier

clf = HUGIMLClassifier(
    adaptive_binning=True,
    b_candidates=[3, 5, 7, 10],
    min_marginal_gain_ratio=0.02,
)

How it works: for each numerical feature, HUGIML evaluates information gain at candidate B values and stops when the marginal gain falls below min_marginal_gain_ratio × current_IG. This prevents blindly selecting the maximum bin count.


Missing Value Handling

HUGIML treats NaN and Inf values as not observed — no imputation and no special parameter are required.

How it works: numerical columns are pre-binned at fit time. Non-finite cells become np.nan in the label array, and the C++ transaction builder skips them. The corresponding item is absent from the transaction. Patterns requiring that feature do not fire for that row.

import numpy as np
from hugiml import HUGIMLClassifier

X_train.iloc[5, 2] = np.nan

clf = HUGIMLClassifier(B=5, L=2, G=1e-4)
clf.fit(X_train, y_train)

X_test.iloc[0, 0] = np.nan
proba = clf.predict_proba(X_test)       # scored using available feature items

Mining Patterns About Missingness

To mine patterns that involve missingness (e.g., Glucose_MISSING=1 AND HeartRate=[110,140]), add binary missingness indicators as preprocessing features:

def add_missingness_indicators(X, threshold=0.05):
    X_aug = X.copy()
    for col in X.columns:
        if X[col].isna().mean() > threshold:
            X_aug[f"{col}__MISSING"] = X[col].isna().astype(int)
    return X_aug

X_with_indicators = add_missingness_indicators(X_raw)
clf = HUGIMLClassifier(B=7, L=2, G=1e-4)
clf.fit(X_with_indicators, y)

The Governance Studio Data Quality & Policy view shows feature-level missingness rates alongside sensitive column review.


Model Explanation and Visualisations

Interactive Plotly dashboard

from hugiml.plots import HUGPlotter

plotter = HUGPlotter(clf)

plotter.plot_dashboard(
    X_test,
    dataset_name="My Dataset",
    feature_names_for_profile=["age", "income", "glucose"],
    output_path="hugiml_dashboard.html",
)

plotter.plot_marginal_bin_profile("glucose", X=X_test).show()
plotter.plot_top_patterns(top_n=20).show()
plotter.plot_feature_importance(top_n=15).show()
plotter.plot_active_patterns(X_test, sample_idx=0).show()

Each profile panel shows the learned bin/pattern behavior for a feature: utility or coefficient-like contribution per bin, with support overlay where available.

Existing example dashboards:

Public tabular benchmark classification Feature shape profiles — public tabular benchmark

Credit risk scoring Feature shape profiles — credit risk

Profile visualisations

plotter.plot_marginal_bin_profile("age", X=X_test).show()  # EBM-style 1-D shape function
plotter.plot_feature_combinations("age").show()             # Feature-combination view
plotter.plot_top_patterns(top_n=20).show()                  # Top patterns by importance
plotter.plot_active_patterns(X_test, sample_idx=0).show()   # Local explanation for one sample

Pattern Pruning

In regulated domains, analysts often need to remove patterns that reference protected attributes, have high PSI, or are operationally invalid. HUGIML provides a controlled editing workflow with a JSON audit trail.

from hugiml.pruning import PatternEditor

editor = PatternEditor(clf, operator_name="risk-team")

print(editor.list_patterns().head(10))

editor.remove([3, 7], reason="references protected attribute 'gender'")
editor.remove_by_keyword("postcode", reason="high PSI — unstable feature")
editor.remove_low_support(min_support=0.01, reason="noise patterns")

editor.refit(X_tr, y_tr)
editor.calibrate(X_cal, y_cal, method="isotonic")

new_clf = editor.finalize()
print(editor.audit_report())

The Representation Pruning view in the Governance Studio provides an interactive version of this workflow without writing code.


Interpretability Metrics

from hugiml.metrics import compute_all_metrics

m = compute_all_metrics(clf, X_test)
print(m)

Example output:

InterpretabilityMetrics
==========================================
n_patterns              : 87
avg_pattern_length       : 1.34
coverage                 : 0.9812
mean_active_patterns     : 6.21
overlap_rate             : 0.0714
explanation_sparsity     : 0.0230

top-k cumulative |coef|:
top- 1 : 8.4%
top- 5 : 31.2%
top-10 : 54.7%

Multiclass, Imbalanced Data, High-Cardinality

Multiclass Classification

from hugiml.multiclass import MulticlassHUGReport

report = MulticlassHUGReport(clf)
print(report.importances_for_class(class_label=2, top_n=10))
print(report.summary())

Imbalanced Data Handling

from hugiml.multiclass import make_imbalanced_pipeline

clf_bal = make_imbalanced_pipeline(clf_proto, strategy="smote")
clf_bal.fit(X_tr, y_tr)

High-Cardinality Categorical Reduction

When categorical features have hundreds or thousands of unique values (ZIP codes, ICD-10 diagnoses, merchant IDs), grouping rare categories prevents combinatorial explosion in pattern mining:

def reduce_high_cardinality(X, y, threshold=50, min_frequency=0.01):
    """Group rare categories (<min_frequency) as '__OTHER__' for high-cardinality columns."""
    X_reduced = X.copy()
    for col in X.select_dtypes(include=["object", "category"]).columns:
        if X[col].nunique() <= threshold:
            continue
        value_counts = X[col].value_counts()
        min_count = len(X) * min_frequency
        rare_categories = value_counts[value_counts < min_count].index
        X_reduced[col] = X[col].apply(
            lambda x: "__OTHER__" if x in rare_categories else x
        )
    return X_reduced

X_reduced = reduce_high_cardinality(X_raw, y, threshold=50, min_frequency=0.01)
clf = HUGIMLClassifier(B=7, L=2, G=1e-4)
clf.fit(X_reduced, y)

# Or use built-in target encoding:
from hugiml.multiclass import encode_high_cardinality, apply_encoding
X_enc, enc_map = encode_high_cardinality(X_tr, y_tr, threshold=20, method="target_mean")
X_te_enc = apply_encoding(X_te, enc_map)

Note: Learn category groupings on training data only, then apply the same mapping to test/production data.


Drift Detection & Monitoring

clf.enable_monitoring(window_size=1000)

clf.predict_proba(X_new)

print(clf.monitor.report())

report = clf.detect_drift(X_new, current_labels=y_new)
print(report)

The Monitoring view in the Governance Studio shows PSI and KL-divergence drift signals per feature from the fitted model's training baseline.


Calibration

from hugiml.calibration import evaluate_calibration

result = evaluate_calibration(y_te.values, proba[:, 1])

print(f"ECE: {result.ece:.4f}")
print(f"Brier: {result.brier_score:.4f}")

Serialisation

from hugiml.serialization import save_model, load_model, generate_sbom

save_model(clf, "model.hugiml")
clf2 = load_model("model.hugiml")

sbom = generate_sbom(clf)

Governance & Model Cards

from hugiml.governance import generate_model_card

card = generate_model_card(
    clf,
    model_id="credit-scorer-v1.0.0",
    intended_use="Credit risk assessment for SME lending.",
    training_data_description="German Credit dataset, 1000 samples",
)

print(card.to_markdown())
card.save("model_card.json")

Model cards should include top positive/negative patterns, missing-value behavior, calibration metrics, drift-monitoring plan, and any pattern-pruning audit trail.

The Governance Studio dashboard provides interactive governance evidence views that complement programmatic model cards with visual audit artifacts.


Benchmark Suite

Reproduce paper claims or benchmark on your own datasets:

# Run full CV comparison
python -m hugiml.benchmarks.runner

# Specific datasets
python -m hugiml.benchmarks.runner --datasets german_credit pima adult

# Save results
python -m hugiml.benchmarks.runner --output benchmarks/results/

Or use the installed console script:

hugiml-bench --datasets german_credit --output results/

Scalability dashboard

For runtime and memory scaling evidence, see the static scalability dashboard:

The dashboard summarizes measured fit time, prediction latency, memory delta, pattern counts, and test AUC against XGBoost and LightGBM. It covers sample-size scaling, feature-count scaling, and parameter sweeps over B, G, topK, L, and adaptive binning. HUGIML retains many training and test artifacts to support governance and audit requirements.

Worked notebooks in notebooks/ are organized as 12 self-contained folders:

Folder Notebook Brief description
00_quickstart nb00_pattern_explanation_walkthrough.ipynb Quick end-to-end walkthrough of fitting HUGIML, extracting patterns, and reading pattern-level explanations.
01_benchmark_baselines nb01_benchmark_baselines.ipynb Benchmark comparison across HUGIML and common tabular baselines such as XGBoost, LightGBM, Random Forest, and logistic regression.
02_hug_vs_ebm nb02_hug_vs_ebm.ipynb Side-by-side comparison of HUGIML pattern profiles and EBM-style additive shape functions.
03_modeling_special_cases nb03_modeling_special_cases.ipynb Practical modeling cases including multiclass targets, imbalance, high-cardinality categoricals, adaptive binning, and pruning workflows.
04_credit_risk nb04_credit_risk.ipynb Credit-risk governance example using German Credit-style data, scorecard-style features, and auditable risk patterns.
05_aml nb05_aml.ipynb Anti-money-laundering example focused on suspicious transaction pattern discovery and model review artifacts.
06_mobile_money nb06_mobile_money_fraud.ipynb Mobile-money fraud example showing compact transaction-risk patterns and operational fraud-review signals.
07_basel_ca nb07_basel_ca.ipynb Basel capital-adequacy oriented example for regulated risk analytics and explainable model validation.
08_clinical nb08_healthcare_breast_cancer.ipynb Clinical classification example using breast-cancer features to demonstrate interpretable healthcare pattern explanations.
09_insurance nb09_insurance_underwriting.ipynb Insurance underwriting example with risk-selection patterns and model-card-friendly feature narratives.
10_medicare nb10_medicare_program_integrity.ipynb Medicare program-integrity example for suspicious provider/claim behavior and audit-ready pattern summaries.
11_workforce_analytics nb11_workforce_attrition.ipynb Workforce attrition analytics example showing HR risk patterns, explanation tables, and governance-oriented summaries.

Validation Highlights

The finance panels use German Credit / HELOC-style risk features such as loan duration, credit amount, checking status, and repayment-risk signals. The healthcare panels use Pima diabetes-style features such as glucose, BMI, pregnancies, pedigree, and age.

HUGIML vs EBM shape profiles

HUGIML native shape profiles compared with EBM shape functions

EBM is excellent for smooth effect inspection; HUGIML is strong when the explanation needs to be reviewed as a set of readable thresholds and pattern contributions.

Real-world and synthetic benchmarks

Real-world credit risk benchmark comparing HUGIML, LR, XGBoost, LightGBM, Random Forest, and EBM

Synthetic non-monotonic benchmark comparing HUGIML, LR, XGBoost, LightGBM, Random Forest, and EBM

Native missing-value handling

Native missing-value schemes in HUGIML, XGBoost, LightGBM, and EBM

Model Native missing-value behavior What to monitor
HUGIML Missing numerical values are absent from the transaction. Patterns requiring that feature item do not fire. Missingness rate and activation frequency of top patterns.
XGBoost Each split learns a default route for missing values. Whether default-route behavior changes under deployment shift.
LightGBM Histogram splits learn how missing values are routed. Missing-value routing and feature missingness drift.
EBM Missing values can be modeled as a separate bin/effect. Size and sign of each missing-bin effect.

Adaptive binning

Adaptive binning benchmark against fixed bin counts

Adaptive binning is a safe default when you do not want to tune B; fixed B=5 is a useful fast baseline.

Pattern explanations

HUGIML pattern explanations on finance and healthcare datasets

Model-card-ready artifacts

Model-card-ready HUGIML explanations

Observed benchmark results

Benchmark comparison

Model AUC (mean±std) Fit time/fold Complexity budget Remarks
HUG B=3 0.9907 ± 0.0031 0.32 s topK patterns topK is an explicit cap; actual mined patterns can be lower.
HUG B=5 0.9909 ± 0.0028 0.34 s topK patterns More bins per feature.
HUG adaptive 0.9954 ± 0.0022 1.20 s topK patterns Per-feature B increases fit time.
EBM 0.9940 ± 0.0025 11.0 s Additive terms + interactions Reference interpretable baseline.
XGBoost 0.9882 ± 0.0040 0.12 s Trees × leaves High-performing ensemble; not directly pattern-interpretable.
LightGBM 0.9921 ± 0.0028 0.07 s Leaves × trees Fast histogram boosting.

Complexity budget

topK is the feature-selection budget K. It caps each selected feature family before the final estimator is built, unless topk_budget_strict=True is used to apply one global cap. The effective downstream width D can be lower than these limits when fewer valid features are mined or selected.

Configuration Downstream feature budget when topK = K
patterns_only, L = 1 Up to K HUG pattern features.
patterns_only, L > 1, augmented pairs enabled Up to K HUG pattern features + up to K augmented-pair features, so D ≤ 2K.
original_plus_patterns, L = 1 Up to K selected original features + up to K HUG pattern features, so D ≤ 2K.
original_plus_patterns, L > 1, augmented pairs enabled Up to K selected original features + up to K HUG pattern features + up to K augmented-pair features, so D ≤ 3K.
original_plus_interactions Original features are capped at K; retained interaction/pattern features are also bounded by the HUG pattern budget. With augmented pairs enabled, the same additional K augmented-pair cap applies.
topk_budget_strict=True HUGIML first avoids oversized family blocks, then applies one global TopK selection across the constructed original, pattern, and augmented-pair candidates, so final D ≤ K.

Feature-family budgets

topK defines the per-family selection budget used by HUGIML when constructing downstream representations. A configuration may include one, two, or three selected feature families:

  • HUG pattern features
  • selected original input features
  • augmented-pair features, when enabled for higher-order configurations

Each active family can contribute up to topK downstream columns before strict global selection. Therefore, the maximum downstream width is the number of active selected families multiplied by topK:

  • one active family: up to topK columns
  • two active families: up to 2 × topK columns
  • three active families: up to 3 × topK columns

For example, with topK=150, original_plus_patterns at L=1 can retain up to 150 selected original columns and up to 150 HUG pattern columns, for a maximum downstream width of 300. With L>1 and augmented-pair transforms enabled, the same configuration can retain up to 150 selected original columns, 150 HUG pattern columns, and 150 augmented-pair columns, for a maximum downstream width of 450. When topk_budget_strict=True, HUGIML applies one final global TopK selection across the constructed downstream candidates, so the final downstream width is capped at topK.

With strict budgeting enabled, HUGIML applies the TopK budget during feature construction rather than after building a full expanded matrix. This keeps the practical downstream width bounded and avoids large intermediate matrices. In hybrid modes, original features are scored and preselected before prediction-time preparation, so prediction prepares only the retained original columns.

Missing value robustness

Missing value benchmark


Capabilities Summary

Capability Details
HUG pattern mining C++ accelerated via pybind11; optional OpenMP parallelism
scikit-learn API Full BaseEstimator / ClassifierMixin compliance
Mixed feature types Integer, float, categorical — auto-detected or explicitly supplied
Feature modes Pattern-only, original-plus-patterns, original-plus-interactions, augmented-pair downstream features
Fast hyperparameter search Cached adaptive-binning grid; mining runs once per unique (G, L, topK) group
Governance Studio Multi-view Streamlit dashboard with audit evidence views and upload support
Profile visualisations EBM-style 1-D/2-D HUG profiles, active-pattern explanations, coefficient-support views (Plotly)
Interpretability metrics Pattern count, coverage, overlap, sparsity, top-k cumulative contribution
Adaptive binning Per-feature supervised B selection — addresses the B-sensitivity trap
Pattern pruning Regulated remove/refit/calibrate workflow with full JSON audit trail
Multiclass & imbalance Multiclass report, SMOTE/class-weight pipeline, high-cardinality encoding
Benchmark suite Reproducible CV comparison vs EBM, XGBoost, RF, LR, RuleFit, GAM
Scalability dashboard Static runtime, latency, memory, n-scaling, p-scaling, and parameter-sweep evidence vs XGBoost and LightGBM
Calibration ECE, MCE, Brier score, reliability diagram data
Drift detection PSI + symmetric KL divergence + label drift
Monitoring Thread-safe PredictionMonitor, latency tracking
Governance Model cards (JSON + Markdown), audit artifacts, SBOM
Observability OpenTelemetry tracing, Prometheus metrics (both optional)
Secure serialisation Allowlist-based _RestrictedUnpickler, versioned schema
Deployment FastAPI inference server, Docker image, Kubernetes manifests
CI/CD GitHub Actions: lint → coverage → native tests → wheels → PyPI

Inference Server

A FastAPI-based inference server is included for containerised deployments.

docker build -t hugiml-core:latest -f docker/Dockerfile .

docker run -p 8080:8080 -v /path/to/models:/models hugiml-core:latest

curl -s -X POST http://localhost:8080/predict \
  -H "Content-Type: application/json" \
  -d '{"instances": [{"age": 35, "savings": "moderate"}]}'

Kubernetes manifests are in kubernetes/deployment.yaml.


CI / CD

Workflow Trigger What it does
ci.yml Every push / PR Lint, type-check, coverage gate, native tests, sanitizer build, benchmark regression, wheel build
release.yml Git tag v*.*.* Build platform wheels, generate SBOM, publish to PyPI, create GitHub release

Repository Structure

hugiml-core/
├── src/
│   ├── _native/                 C++ extension sources
│   └── hugiml/
│       ├── classifier.py        HUGIMLClassifier / HUGIMLClassifierNative
│       ├── calibration.py       ECE, Brier, reliability diagrams
│       ├── explainability.py    SHAP bridge, feature lineage, stability
│       ├── governance.py        Model cards, audit artifacts
│       ├── monitoring.py        PredictionMonitor, DriftDetector
│       ├── serialization.py     save/load, SBOM, restricted unpickler
│       ├── telemetry.py         OpenTelemetry, Prometheus
│       ├── exceptions.py        Exception hierarchy
│       ├── metrics.py           Interpretability-complexity metrics
│       ├── plots.py             EBM-style profile visualisations
│       ├── pruning.py           Pattern editor + audit trail
│       ├── adaptive.py          Per-feature adaptive binning
│       ├── multiclass.py        Multiclass / imbalanced / encoding
│       ├── dashboard/           Governance Studio Streamlit application
│       │   ├── app.py           Entry point (hugiml-dashboard console script)
│       │   ├── runner.py        Model training and scoring helpers
│       │   ├── components/      Individual evidence-view renderers
│       │   └── ...
│       └── benchmarks/          CV comparison suite
├── notebooks/                   Worked examples (12 domain folders)
├── tests/                       Pytest suite
├── benchmarks/                  Micro-benchmarks and regression gate
├── docker/                      Dockerfile + FastAPI inference server
├── kubernetes/                  Deployment manifests
├── scripts/                     Build and utility scripts
├── docs/                        Sphinx documentation and model-card templates
├── .github/workflows/           CI/CD pipelines
├── pyproject.toml
└── setup.py

License

Apache License 2.0 — see LICENSE.


Citation

If you use hugiml-core in research or commercial work, please cite:

@article{krishnamoorthy2026interpretability,
  title        = {Interpretability Myopia: Governance Fitness in Financial Risk Models},
  author       = {Krishnamoorthy, Srikumar},
  journal      = {SSRN Electronic Journal},
  year         = {2026},
  doi          = {10.2139/ssrn.6821418},
  url          = {https://dx.doi.org/10.2139/ssrn.6821418},
  keywords     = {Interpretable machine learning, analytics, financial risk governance, deployment evaluation, regulatory compliance, model risk management}
}

@article{krishnamoorthy2024hugIML,
  author  = {Krishnamoorthy, Srikumar},
  title   = {Interpretable Classifier Models for Decision Support Using High Utility Gain Patterns},
  journal = {IEEE Access},
  volume  = {12},
  pages   = {126088--126107},
  year    = {2024},
  doi     = {10.1109/ACCESS.2024.3455563}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hugiml_core-1.1.9.tar.gz (388.8 kB view details)

Uploaded Source

Built Distributions

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

hugiml_core-1.1.9-cp313-cp313-win_amd64.whl (497.1 kB view details)

Uploaded CPython 3.13Windows x86-64

hugiml_core-1.1.9-cp313-cp313-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

hugiml_core-1.1.9-cp313-cp313-macosx_15_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

hugiml_core-1.1.9-cp313-cp313-macosx_15_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

hugiml_core-1.1.9-cp312-cp312-win_amd64.whl (497.1 kB view details)

Uploaded CPython 3.12Windows x86-64

hugiml_core-1.1.9-cp312-cp312-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

hugiml_core-1.1.9-cp312-cp312-macosx_15_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

hugiml_core-1.1.9-cp312-cp312-macosx_15_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

hugiml_core-1.1.9-cp311-cp311-win_amd64.whl (495.0 kB view details)

Uploaded CPython 3.11Windows x86-64

hugiml_core-1.1.9-cp311-cp311-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

hugiml_core-1.1.9-cp311-cp311-macosx_15_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

hugiml_core-1.1.9-cp311-cp311-macosx_15_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

hugiml_core-1.1.9-cp310-cp310-win_amd64.whl (494.2 kB view details)

Uploaded CPython 3.10Windows x86-64

hugiml_core-1.1.9-cp310-cp310-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

hugiml_core-1.1.9-cp310-cp310-macosx_15_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

hugiml_core-1.1.9-cp310-cp310-macosx_15_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

hugiml_core-1.1.9-cp39-cp39-win_amd64.whl (499.6 kB view details)

Uploaded CPython 3.9Windows x86-64

hugiml_core-1.1.9-cp39-cp39-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

hugiml_core-1.1.9-cp39-cp39-macosx_15_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

hugiml_core-1.1.9-cp39-cp39-macosx_15_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

File details

Details for the file hugiml_core-1.1.9.tar.gz.

File metadata

  • Download URL: hugiml_core-1.1.9.tar.gz
  • Upload date:
  • Size: 388.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hugiml_core-1.1.9.tar.gz
Algorithm Hash digest
SHA256 31e62e65d5bd8db0de98998f57258926da274a1b0451a76a2e1b07d965857ecb
MD5 13f2d2183bd24f46ed22af68383a91ee
BLAKE2b-256 02051b5a6df3c191d3aa7ab4f4a4d43277938f7dc70ceff07e150d5821ef6317

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9.tar.gz:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: hugiml_core-1.1.9-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 497.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hugiml_core-1.1.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 849624b7e8db738f9a7ae5e8f38329343ff5cd95a70ddf14e49f8af194eb5e4a
MD5 5f6bf5350b7625f2b3fef4a5a9115d17
BLAKE2b-256 01c694597edd2b9431432ae9727f9ed323526ca1cb3fca1dbdb83f722c99d304

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp313-cp313-win_amd64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 13a6a750157f9d4fc53ad5c3ff3d426ace0db7fdbca5694d38ef507b33a2eff0
MD5 97477f492607ad4ac0681247562271eb
BLAKE2b-256 11d54dd9aaf5d9fa7e3d1e00f82f2f3726e3e09de34f41768353a799f5569263

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 af6b59a51b419328fa5dc571e3ddda678c2da7583b3e533073b48f2dea12df4a
MD5 78433dd4989a9d954567820fd424bf82
BLAKE2b-256 fac8f417a996f1eaf67705f4d48ac7fb97023ae1792b9aa21b9b9a09f60dcb59

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp313-cp313-macosx_15_0_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bd4349d8a449cd48e8eba88fe284991a49c0ecff0010d1bebb796bc7c4fc15d1
MD5 b8ca15bd21dcd20636d7463c7dc2dd20
BLAKE2b-256 1f1c772a5d4c76a8854b8d35d33d7d455861720aca3b36cfdcf57981847f7be6

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: hugiml_core-1.1.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 497.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hugiml_core-1.1.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d3bc9e4fb20ff241e60062d8b323a18e598522efbe652a6317b63895db8a3cf5
MD5 495f49c883c17d7b21c022bd45ad05de
BLAKE2b-256 b219eab747b5461ceb765755496ea872eb531a0a798688d77f35bcac085be6ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp312-cp312-win_amd64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 25acc93043970f4c67c16473268c8e00af788036cb17cb7da4bb45a85d9c96cb
MD5 c52c794df22f55cf18ee65a609653b43
BLAKE2b-256 5cfce384864eb33c622e6aea1fa53f1ca59094d295600355d8a74c871f5db008

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 4dd7045b42d8ee13c9d5f2bd1fc73938a9d1068dbdc93a23556da3dc8819a059
MD5 e92c5ddf0376ae2a3901d6632c2a7247
BLAKE2b-256 754deb7e241449bd186d3ec74aa5a887703e715574845509ae8e4f69752c0791

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp312-cp312-macosx_15_0_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 c2fef0a46043336bb907cda8d43b3fd530d6578847f591ea259616e865fabb7d
MD5 48547466eb56a5bcc8aaa445ea792aac
BLAKE2b-256 7d49ef4f5f4994da05c423a9d5e5e276f37d7ebd9ae19d036d4ea314344b0a8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: hugiml_core-1.1.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 495.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hugiml_core-1.1.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a180819a68a8fddab03a9ec286f22718bb5ecaab45837b0048ae3889d065ad20
MD5 94c613c79b19dc139b92d07e9b3ef53a
BLAKE2b-256 e92b6c4b19f451c48eef10773b76f683991b6a432a07c37534ccbde0a873b69f

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp311-cp311-win_amd64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 821d4c2e1f0350b8041dfe8e565c207f15c1db39c99ff597594e9f6de404be5b
MD5 763f654f8cc7bd1be338f7c44098c5c7
BLAKE2b-256 bbbe4ed92a379316761a62e7e8bba13e1eae1f32560a29cca4eb6726b531126b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 867e63421ebedbff89084d3c87e903a06b76e8402d67ac36c6fc11b0b01c0f27
MD5 9aa362ce10cd8dce32339af7c4f06907
BLAKE2b-256 36c77390a9829427870c27f84382f94c73cee2eb1721b9c1c1968e5da24e8ce4

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp311-cp311-macosx_15_0_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 f7c3ef6b583aecde14cf85d0bbf71c98c11b95ab4e8174b430c64eed5f568e5e
MD5 f159e2135271c9d1fc19a7d56afc842d
BLAKE2b-256 f28ae75f2f59b467b1b67fbc8bddfa24df7110e8c457cc7c822558eecb1dce17

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp311-cp311-macosx_15_0_arm64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: hugiml_core-1.1.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 494.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hugiml_core-1.1.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c4d69c510fb315613aed7cff83dd0c614f89ec86ed8812b72c0cc323a013e388
MD5 ae4fb0a5e7011c5fba380cacdf356f86
BLAKE2b-256 c975ed175ed9fe4eb25ae9962bf036a586d620de73f653c22c8fb98f39035319

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp310-cp310-win_amd64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bb95120c009611d229c3e923b8b9d7df63883d0b000805d885a9132736cbbd2a
MD5 00bb9ef99b7a42d8d19e6225bf203f0a
BLAKE2b-256 6d712ae03bd6f852f27356dd5e91a3385241ab57578a0107b74fcf1620aff077

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 5e2d83e29f3bee6e03f2181fa913b79529c79a08736f15f862496c4ac0d56ebd
MD5 ab9996b41521fe34201bdadf49848a75
BLAKE2b-256 f0866768789d91270e61315402d818303ea6b50619250b8838b4e0065de5a9a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp310-cp310-macosx_15_0_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bb4e3b59a2786637123083eab2e9ade6584e026d658d40e3799b030e13d89a38
MD5 0a539bf5fb4912cdfe3f46f9f7d83a27
BLAKE2b-256 496ef767fdd46ff28309125ce3657af93fd13547cdc0fc265fe3128830899838

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp310-cp310-macosx_15_0_arm64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: hugiml_core-1.1.9-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 499.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hugiml_core-1.1.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4eafd4399024fd3a041c048bc163d4d24cbd1902cc7c320484c17ed902a69ff0
MD5 4c6cf59c2ea84205fa184b9f898a8ae1
BLAKE2b-256 637bc2d28e0396126b438499e7b49f78f107b769f44a7b44f9a802744357a49c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp39-cp39-win_amd64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1abc9a12cdfd2aa2dbd7d7263199662ff0db8c5c7bbbf5b528b2e7e61eb018ec
MD5 618d6fc1c3c5b074a08c08397b319240
BLAKE2b-256 b930d08910ea6dfbfca7f76c1d9f30099beac3db2d60115437c481872458e92e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 23f5083a087510d1defdfd316c87994597a30f6311dc07ce8ba542e3d00f252e
MD5 6f3f203032b615b38619577be0366486
BLAKE2b-256 1b83fc6a981d6dd7476790a8e25fd4a5cdee6bb533181e9236653564721435b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp39-cp39-macosx_15_0_x86_64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

File details

Details for the file hugiml_core-1.1.9-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for hugiml_core-1.1.9-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4e9684902e408d11d8d12f970c556a1336c05265130e55328ded3687e6ca6ce7
MD5 7a653ccf13cf6b06692c03b05bf3138d
BLAKE2b-256 35f2063b3b2147cc9aad5bb7bd5c58f8ffc57679ffc0b299ab18a11939e663e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for hugiml_core-1.1.9-cp39-cp39-macosx_15_0_arm64.whl:

Publisher: release.yml on srikumar2050/hugiml-core

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

Supported by

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