Shimaenaga: Attentive Histogram GBDT with sample-level token attention
Project description
Shimaenaga
Attentive Histogram GBDT — サンプル単位のトークン注意機構を備えた勾配ブースティング
Shimaenaga は、LightGBM スタイルのヒストグラムベース GBDT に、サンプルごとの トークン注意機構(attention)を組み込んだ機械学習ライブラリです。特徴量を 「トークン」と呼ぶサブセットに分割して各トークンごとに木を成長させ、 サンプルごとに学習された注意重みでそれらを混合します。これにより、 純粋な GBDT では捉えにくい特徴グループ間の相互作用を表現できます。
- コアは C++17(依存ライブラリなし、OpenMP 並列)
- Python から scikit-learn 互換 API で利用可能(
fit/predict/predict_proba/clone/GridSearchCV/cross_val_score対応) - 回帰(L2 / Huber / Quantile / MAE)・二値分類・多クラス分類・ ランキング(LambdaMART)をサポート
アーキテクチャ概要
学習は 2 相構成です。Phase A で木構造を成長させ、Phase B で Newton 法によるパラメータの再適合(refit)を行います。
入力 X ──→ [BinMapper] ──→ ビン化された特徴
Phase A ─── 各トークン p ごとにツリー成長 (LightGBM leaf-wise)
ゲートツリー(ルーティング用)も同時に成長
Phase B ─── Newton refit(反復最適化)
B1: 葉値 v_{pℓk}
B2: 読み出し QK 埋め込み (q, k, b)
B3: 自己注意 QK(Tier-2 のみ)
B4: ヘッド重み ρ_h
注意機構
トークン p: 特徴のサブセット S_p から学習した「部品」
ゲート: α_{ihp} = softmax(q_{h,gate_leaf}^T k_{h,p,token_leaf} / √d_a)
混合: β_{ip} = Σ_h ρ_h · α_{ihp} (サンプルごとの部品重み)
出力: φ_{ik} = Σ_p β_{ip} · v_{p,leaf_p(i),k}
各サンプルがどのトークン(特徴グループ)をどれだけ重視するかを、 ゲートツリーと QK 埋め込みが決定します。
Tier システム
| Tier | 機能 | 用途 |
|---|---|---|
| 0 | 純粋 GBDT(LightGBM 退化形) | ベースライン、最速 |
| 1 | + Attentive Readout | 特徴グループ間の相互作用 |
| 2 | + Self-Attention(Tier-1 の上) | 複雑なトークン間依存関係 |
tier-1/2 の表現力は tier-0 を常に包含するよう設計されています (最初のトークンは全特徴を使用)。
ビルドとインストール
必要環境
- C++17 コンパイラ(GCC ≥ 9, Clang ≥ 11, MSVC 2019 以降)
- CMake ≥ 3.20
- Python ≥ 3.8 + NumPy
- scikit-learn(sklearn 互換 API と examples の実行に使用)
- (オプション)pybind11 — ネイティブ拡張としてビルドする場合のみ
1. C++ コアのビルド(必須)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
これで共有ライブラリ build/libshimaenaga_core.dylib(macOS)/
.so(Linux)が生成されます。
2. Python パッケージの利用
Python パッケージ shimaenaga は pybind11 なしでも動作します。
pybind11 拡張が見つからない場合、ビルド済み共有ライブラリを ctypes 経由で
自動的に呼び出します(機能は同一)。
# 方法 A: そのまま使う(ビルド済み共有ライブラリを自動検出)
PYTHONPATH=python python3 -c "import shimaenaga; print(shimaenaga.__version__)"
# 方法 B: 開発インストール
pip install -e .
# 方法 C: pybind11 ネイティブ拡張としてビルド
pip install pybind11
pip install -e .
クイックスタート
from shimaenaga import ShimaenagaRegressor, ShimaenagaClassifier, ShimaenagaRanker
回帰
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
from shimaenaga import ShimaenagaRegressor
data = fetch_california_housing()
X_train, X_test, y_train, y_test = train_test_split(
data.data, data.target, test_size=0.2, random_state=42
)
model = ShimaenagaRegressor(
tier=1, # Tier-1: Attentive Readout
num_tokens=4, # 特徴を 4 グループに分割
num_heads=2, # 注意ヘッド数
d_attn=4, # 注意埋め込み次元
num_iterations=300,
learning_rate=0.05,
)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
二値分類
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from shimaenaga import ShimaenagaClassifier
data = load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split(
data.data, data.target, test_size=0.2, random_state=42
)
clf = ShimaenagaClassifier(
num_class=1, # 1 = 二値(既定)
tier=1,
num_tokens=4,
num_iterations=200,
)
clf.fit(X_train, y_train)
proba = clf.predict_proba(X_test) # shape (n, 2)
labels = clf.predict(X_test)
多クラス分類
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from shimaenaga import ShimaenagaClassifier
data = load_iris()
X_train, X_test, y_train, y_test = train_test_split(
data.data, data.target, test_size=0.2, random_state=42
)
clf = ShimaenagaClassifier(
num_class=3, # K クラス softmax
tier=1,
num_tokens=2,
num_iterations=100,
)
clf.fit(X_train, y_train)
proba = clf.predict_proba(X_test) # shape (n, 3)
ランキング(LambdaMART)
from shimaenaga import ShimaenagaRanker
# group: クエリごとのサンプル数(合計 = len(X_train))
model = ShimaenagaRanker(tier=1, num_iterations=200)
model.fit(X_train, y_train, group=group_train)
scores = model.predict(X_test)
# 検証セット付き(eval_group 必須 — valid の NDCG をクエリ単位で計算するため)
model.fit(X_train, y_train, group=group_train,
eval_set=[(X_valid, y_valid)], eval_group=[group_valid],
early_stopping_rounds=50)
注意重みの取得(解釈性)
diag = model.attention_diagnostics(X_test)
beta = diag["beta"] # shape (n, num_tokens): 各サンプルのトークン重み
# (ブースティングブロック平均、行和 = 1)
Early Stopping
model = ShimaenagaRegressor(num_iterations=1000, early_stopping_rounds=50)
model.fit(X_train, y_train, eval_set=[(X_valid, y_valid)])
print(model.best_iteration_)
モデルの保存・ロード
model.save_model("model.sbb") # バイナリ形式 (.sbb, 形式 v3)
# ロード: 同じ設定でインスタンスを作り、一度 fit で booster を初期化してから load
loaded = ShimaenagaRegressor(tier=1, num_tokens=4)
loaded.fit(X_tiny, y_tiny) # booster の初期化(小さなデータで可)
loaded.load_model("model.sbb")
pred = loaded.predict(X_test)
パラメータ一覧
既定値はコンストラクタ(python/shimaenaga/sklearn_api.py)および
C++ Config と一致しています。
基本設定
| パラメータ | 既定値 | 説明 |
|---|---|---|
objective |
"regression" |
"regression" / "huber" / "quantile" / "mae" / "binary" / "multiclass" / "lambdarank" |
num_iterations |
1000 | ブースティング反復数 |
learning_rate |
0.05 | 学習率 η |
num_class |
1 | クラス数(Classifier のみ。1=二値, K>1=多クラス) |
huber_alpha |
0.9 | Huber の適応的 δ = 残差絶対値の α 分位点(毎反復更新) |
quantile_alpha |
0.5 | quantile 回帰の分位点(pinball 損失) |
num_threads |
0 | スレッド数(0 = 自動) |
seed |
0 | 乱数シード(同一シードでビット単位に再現) |
アーキテクチャ
| パラメータ | 既定値 | 説明 |
|---|---|---|
tier |
2 | 0=純 GBDT, 1=注意読み出し, 2=+自己注意 |
num_tokens |
8 | トークン数 P(上限 16) |
num_heads |
2 | 注意ヘッド数 H(上限 4) |
attention_mode |
"qk_leaf" |
"qk_leaf"(学習済 QK)/ "score_tree"(直接スコア) |
d_attn |
4 | QK 埋め込み次元 d_a(上限 8) |
eta_attn |
0.5 | 自己注意の混合率 η(Tier-2) |
attn_mask |
"full" |
"full" / "feature_local"(特徴を共有するトークン間のみ自己注意。Tier-2 の過学習・メモリ抑制) |
ツリー
| パラメータ | 既定値 | 説明 |
|---|---|---|
token_num_leaves |
31 | トークンツリーの最大葉数 |
gate_num_leaves |
31 | ゲートツリーの最大葉数 |
max_depth |
-1 | 木の最大深さ(-1 = 無制限。leaf-wise 成長の深さ上限) |
min_data_in_leaf |
20 | 葉の最小サンプル数(別名 min_child_samples) |
min_sum_hessian_in_leaf |
1e-3 | 葉の最小ヘシアン量(別名 min_child_weight) |
max_bin |
255 | ヒストグラムビン数(上限 256) |
正則化
| パラメータ | 既定値 | 説明 |
|---|---|---|
lambda_l1 |
0.0 | 分割ゲインの L1 正則化(別名 reg_alpha) |
lambda_v |
1.0 | 葉値の L2 正則化(別名 reg_lambda) |
lambda_q |
0.1 | クエリベクトルの L2 正則化 |
lambda_k |
0.1 | キーベクトルの L2 正則化 |
lambda_z |
0.1 | スコアツリーパラメータの正則化 |
lambda_ent |
1e-3 | 注意分布のエントロピー正則化(崩壊防止) |
lambda_div |
1e-3 | ヘッド多様性正則化(cos²(Ā_h, Ā_h') を抑制、Tier-2) |
min_gain_to_split |
0.0 | 分割に要求する最小ゲイン |
bagging_fraction |
1.0 | 行サブサンプリング率(別名 subsample) |
bagging_freq |
0 | バギングマスクの再抽選間隔(反復数) |
feature_fraction |
1.0 | 木ごとの特徴サブサンプリング率(別名 colsample_bytree) |
early_stopping_rounds |
0 | 検証メトリクスが改善しない場合に打ち切る反復数(eval_set 必須) |
早期打ち切りの監視メトリクスは回帰 = RMSE(huber は MAE、quantile は pinball)、 二値 = logloss、多クラス = logloss、ランキング = 1 − NDCG@T です。
Phase B 内部設定
通常は変更不要です。
| パラメータ | 既定値 | 説明 |
|---|---|---|
inner_refit_steps |
2 | Phase B の Newton 反復数 |
attn_warmup |
10 | α=1/P 固定で value のみ学習する初期反復数(実効値は min(attn_warmup, num_iterations/5)) |
attn_step_clip |
1.0 | ω / b / bA のスカラー Newton ステップ上限(0=無効)。softmax の 0/1 飽和による attention collapse を防止 |
beta_uniform_mix |
0.1 | Phase A のトークン重み w = (1−γ)β̂ + γ/P の γ。飢餓トークンの回復を保証 |
Tier ガイド 0 1 2
| データの特性 | 推奨設定 |
|---|---|
| 特徴数 < 20 | tier=0 または tier=1(num_tokens=2〜4) |
| 特徴数 20〜100 | tier=1(num_tokens=4〜8) |
| 特徴数 > 100 | tier=1(num_tokens=8〜16)または tier=2 |
| サンプル数 < 500 | tier=0 または tier=1(min_data_in_leaf を大きく) |
使用ライブラリ・著作権表示
Shimaenaga は以下のサードパーティライブラリを使用しています。
ランタイム依存
| ライブラリ | ライセンス | 著作権 |
|---|---|---|
| NumPy | BSD 3-Clause | Copyright (c) 2005-2025, NumPy Developers |
| scikit-learn | BSD 3-Clause | Copyright (c) 2007-2026, The scikit-learn developers |
ビルド時依存
| ライブラリ | ライセンス | 著作権 |
|---|---|---|
| pybind11 | BSD 3-Clause | Copyright (c) 2016 Wenzel Jakob and others |
アルゴリズム参照・著作権表示
Shimaenaga は以下のプロジェクトで発表されたアルゴリズムや手法を参考に実装しています。
XGBoost
- Project: https://github.com/dmlc/xgboost
- License: Apache 2.0
- Reference: Tianqi Chen and Carlos Guestrin. "XGBoost: A Scalable Tree Boosting System." KDD 2016. https://arxiv.org/abs/1603.02754
- 参考にした手法: L1/L2 正則化付き葉の重み計算式、ヘシアンベースの分割ゲイン、最小子ノード制約
LightGBM
- Project: https://github.com/microsoft/LightGBM
- License: MIT
- Reference: Guolin Ke et al. "LightGBM: A Highly Efficient Gradient Boosting Decision Tree." NeurIPS 2017. https://papers.nips.cc/paper/2017/hash/6449f44a102fde848669bdd9eb6b76fa-Abstract.html
- 参考にした手法: ヒストグラムベース分割探索・差分トリック、Leaf-wise 木成長、GOSS(勾配ベースサンプリング)、EFB(排他的特徴量バンドリング)
CatBoost
- Project: https://github.com/catboost/catboost
- License: Apache 2.0
- Reference: Liudmila Prokhorenkova et al. "CatBoost: unbiased boosting with categorical features." NeurIPS 2018. https://arxiv.org/abs/1706.09516
- 参考にした手法: Ordered Boosting(予測シフト低減)、Ordered Target Encoding(カテゴリカル特徴量)、対称木(Oblivious Tree)成長
Gradient Boosting Machine
- Reference: Jerome H. Friedman. "Greedy Function Approximation: A Gradient Boosting Machine." Annals of Statistics, 2001. https://www.jstor.org/stable/2699986
- 参考にした手法: 勾配ブースティング全体の理論的基盤(残差への逐次的な関数近似、加法モデル)
Attention Is All You Need
- Reference: Ashish Vaswani et al. "Attention Is All You Need." NeurIPS 2017. https://arxiv.org/abs/1706.03762
- 参考にした手法: スケーリング付き内積注意(scaled dot-product attention, softmax(QK^T / √d))、マルチヘッド注意 — Tier-2 自己注意およびゲート機構の設計に対応
LambdaMART
- Reference: Christopher J.C. Burges. "From RankNet to LambdaRank to LambdaMART: An Overview." Microsoft Research Technical Report, 2010. https://www.microsoft.com/en-us/research/publication/from-ranknet-to-lambdarank-to-lambdamart-an-overview/
- 参考にした手法: ランキング目的関数における λ 勾配(NDCG 変化量に基づくペアワイズ勾配のスケーリング)
ライセンス
MIT License. 詳細は LICENSE を参照してください。 サードパーティ(pybind11)の著作権表示は THIRD_PARTY_NOTICES.md を参照してください。
Project details
Release history Release notifications | RSS feed
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 shimaenaga-1.3.0.tar.gz.
File metadata
- Download URL: shimaenaga-1.3.0.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1470f9c7b86b09a27ddbf82fcb6710f2964ae3f0f7c5dc8eb7d381cbfe8e440
|
|
| MD5 |
940b8f59dcaa4dbc1631e08fe3367f7f
|
|
| BLAKE2b-256 |
447b42ed74f75bb0c6b90f050f1765dfbd3f5ad38ba741291ae263ad5b2ffefa
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0.tar.gz:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0.tar.gz -
Subject digest:
b1470f9c7b86b09a27ddbf82fcb6710f2964ae3f0f7c5dc8eb7d381cbfe8e440 - Sigstore transparency entry: 2076667981
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 293.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
884ed8a7357e15f0a417d6a4e5af3e422e0a034b9387ec23ffd6e3ee6f530ff6
|
|
| MD5 |
9092dbd62fbdc785858bb41915cf0558
|
|
| BLAKE2b-256 |
67deb19ae55546fcaa634b3c539633873397322db608427ae7ada25ea4dd3243
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp313-cp313-win_amd64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp313-cp313-win_amd64.whl -
Subject digest:
884ed8a7357e15f0a417d6a4e5af3e422e0a034b9387ec23ffd6e3ee6f530ff6 - Sigstore transparency entry: 2076669747
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 460.1 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ec04c8abcd67b451c74380d94f83215339e8d1e0ee4f236a1117ea8f3c611d1
|
|
| MD5 |
3f68d1ea7bd417d14d94d19bc6c53bbe
|
|
| BLAKE2b-256 |
3c40162476e8f4c5b786e27276c50b4a6768b21167b22f3054da2e5a812c5d11
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
5ec04c8abcd67b451c74380d94f83215339e8d1e0ee4f236a1117ea8f3c611d1 - Sigstore transparency entry: 2076668217
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 279.3 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91e170a3b36c5a7c6aa33091411795f23b9817290becf37c4bb6a2fb95a28aaf
|
|
| MD5 |
895bcd68ccae7c5be9e2ddad96baf379
|
|
| BLAKE2b-256 |
eb489b78cc708b276b0b6489233c8fcf387692ef54f1e9a195c84d3b23b86c87
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
91e170a3b36c5a7c6aa33091411795f23b9817290becf37c4bb6a2fb95a28aaf - Sigstore transparency entry: 2076668426
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 293.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
356b207e0cfc6d96501a4816b29f6e9060776982f10fc1d983036eacbcafca79
|
|
| MD5 |
27e9a2ae981cc36d1f4fa7c8102d5aee
|
|
| BLAKE2b-256 |
5718c5b8f1b8b29dcef8200b9b9104acdf000289cb6b182494e26d5469c1475b
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp312-cp312-win_amd64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp312-cp312-win_amd64.whl -
Subject digest:
356b207e0cfc6d96501a4816b29f6e9060776982f10fc1d983036eacbcafca79 - Sigstore transparency entry: 2076670024
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 460.1 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9084e0653c5f6ba676b99c0e118367daa149d8a601d82860104e8df9e523e177
|
|
| MD5 |
96b58d966a750af964920375c013265c
|
|
| BLAKE2b-256 |
ea1ab9af2329ef68933e2d393dbf3f46c7ecfccda83bc5f95ea0bc9ef843c251
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
9084e0653c5f6ba676b99c0e118367daa149d8a601d82860104e8df9e523e177 - Sigstore transparency entry: 2076669050
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 279.3 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c6dae1b59399b5b8d8404a2030b87b352c99d73cee05ba4be29939378972623
|
|
| MD5 |
0ced06bc6fa85d40602156308c8f86ca
|
|
| BLAKE2b-256 |
33ca5d0fb62aa1d22f68838a1d3d12f205e91b0656e9ba4f97bf886378cd093c
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
9c6dae1b59399b5b8d8404a2030b87b352c99d73cee05ba4be29939378972623 - Sigstore transparency entry: 2076668095
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 289.1 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c50c366ff529540f027c47d57d0f3c974d41c3709d442b3b4a25ce885f22c97
|
|
| MD5 |
b257915655f41cf097f12875d1872e1c
|
|
| BLAKE2b-256 |
9b31bd4e330406dc45f6779eb3e1d990114c79e567d3d8bba84c48dd02106933
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp311-cp311-win_amd64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp311-cp311-win_amd64.whl -
Subject digest:
6c50c366ff529540f027c47d57d0f3c974d41c3709d442b3b4a25ce885f22c97 - Sigstore transparency entry: 2076669274
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 458.5 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b09fa3f591df712158c500c7922202b9603d2e9249847bd2cbdead891fe86d4
|
|
| MD5 |
87505035d9993c5c0f0e3b37362f9f38
|
|
| BLAKE2b-256 |
8ca45dc3a27e1f5d3a9157e525394e5370db80c26428c0fb42e05fc10d5f0116
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
4b09fa3f591df712158c500c7922202b9603d2e9249847bd2cbdead891fe86d4 - Sigstore transparency entry: 2076669528
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 277.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eff6739de372d8304bf7d3bd522cab4a21db907586a8ddb8d808ad674e9cffd7
|
|
| MD5 |
aae3fa79fb43c31badd1bda9f817cb9a
|
|
| BLAKE2b-256 |
0303bb3fd422ceaa84cf4b519e3005120e2604013e1afffbf2ce5e48c5ce0458
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
eff6739de372d8304bf7d3bd522cab4a21db907586a8ddb8d808ad674e9cffd7 - Sigstore transparency entry: 2076668604
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 287.8 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
765281787815ebcdc49f251ce138b28b0ca9b58f42e178a80b8aad1eab271b13
|
|
| MD5 |
5d667f4974f85a1b41dcce898827f72c
|
|
| BLAKE2b-256 |
4dfcb80b3d69ebc1d063cc0c1cbd06b475af5b95ed230088a3fdb6130c463f7d
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp310-cp310-win_amd64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp310-cp310-win_amd64.whl -
Subject digest:
765281787815ebcdc49f251ce138b28b0ca9b58f42e178a80b8aad1eab271b13 - Sigstore transparency entry: 2076670229
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 457.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e75c77351d299d98386fe47f0a675dddafc9b5a2062b9ffe6fbcecc85503d81b
|
|
| MD5 |
106ab0e56a6ca081821f34fe0d5b93d6
|
|
| BLAKE2b-256 |
ec3125f9648dca4fc87ddfc4e0a0066334276ad2549399dd6456c77a2c6d08bf
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
e75c77351d299d98386fe47f0a675dddafc9b5a2062b9ffe6fbcecc85503d81b - Sigstore transparency entry: 2076670519
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 276.2 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5290f41b53923e2591aec5be871df5c351e93de4106967c53eb1257649a02ab
|
|
| MD5 |
039ad656c3a33af2447e9fa352c9a34b
|
|
| BLAKE2b-256 |
762c1c9e016a9667b560686b40c762cb548abe87d667419a0d85300480973fd4
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
f5290f41b53923e2591aec5be871df5c351e93de4106967c53eb1257649a02ab - Sigstore transparency entry: 2076668772
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 288.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d8593847d191d9b8f26ae7207f02033afa2a631e16256d5826f84c72878a4d0
|
|
| MD5 |
a11bac471babcdd310a22ca91f577752
|
|
| BLAKE2b-256 |
f33a639fe3b4e1d4d880112fbedd6d9758d78630c3876172f0a39bd9e12b3eb3
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp39-cp39-win_amd64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp39-cp39-win_amd64.whl -
Subject digest:
9d8593847d191d9b8f26ae7207f02033afa2a631e16256d5826f84c72878a4d0 - Sigstore transparency entry: 2076668305
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp39-cp39-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 457.3 kB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81b3b85dd1e0c3a54ed8f8dea11413ba7959c6e17c4557ad0bc5cc54efb031f0
|
|
| MD5 |
e84caa59c3a4f4bce13da320282e3de5
|
|
| BLAKE2b-256 |
62552d53ac9dca21d20204c64ef51b13726a3f945f8bada54eea86f218f6b6ae
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp39-cp39-manylinux_2_28_x86_64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp39-cp39-manylinux_2_28_x86_64.whl -
Subject digest:
81b3b85dd1e0c3a54ed8f8dea11413ba7959c6e17c4557ad0bc5cc54efb031f0 - Sigstore transparency entry: 2076668147
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type:
File details
Details for the file shimaenaga-1.3.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: shimaenaga-1.3.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 276.3 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b25035732df43959c5123fb43fffc7cd02218dbf2c1609dddc67c62185451f0
|
|
| MD5 |
a9ed8fc19881805556e0f4bffaf02fb1
|
|
| BLAKE2b-256 |
9b662cca62a9aa54d6f0a1f747bf99867d7497d6135e3243425ee952b69e9ca8
|
Provenance
The following attestation bundles were made for shimaenaga-1.3.0-cp39-cp39-macosx_11_0_arm64.whl:
Publisher:
pypi-publish.yml on shota-iwamoto/shimaenaga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shimaenaga-1.3.0-cp39-cp39-macosx_11_0_arm64.whl -
Subject digest:
0b25035732df43959c5123fb43fffc7cd02218dbf2c1609dddc67c62185451f0 - Sigstore transparency entry: 2076668031
- Sigstore integration time:
-
Permalink:
shota-iwamoto/shimaenaga@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/shota-iwamoto
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@79362dc6ac697c38df78ef39da9feb0a08c67762 -
Trigger Event:
release
-
Statement type: