Skip to main content

Gradient boosted decision trees for multiple outputs

Project description

OmniGBDT

OmniGBDT packages the original GBDT-MO algorithm as a regular Python library. It keeps the native C++ training core and adds modern Python packaging, cross-platform wheels, and optional sklearn-compatible wrappers.

The main public classes are MultiOutputGBDT and SingleOutputGBDT.

For the original project, benchmark figures, experiment scripts, and upstream research context, please see:

Installation

Install the released package

pip install omnigbdt

or with uv:

uv add omnigbdt

OmniGBDT targets wheel-based installs on:

  • Linux x86_64
  • Windows x86_64
  • macOS arm64 (Apple Silicon, 14+)

The GitHub Actions workflow builds these wheels in CI and publishes them on version tags matching v*.

Optional extras

Install plotting support if you want to render dumped trees with create_graph():

pip install "omnigbdt[plot]"

Install sklearn-compatible wrappers if you want to use tools such as permutation_importance:

pip install "omnigbdt[sklearn]"

The same extras can be installed with uv:

uv add "omnigbdt[plot]"
uv add "omnigbdt[sklearn]"

The optional sklearn wrappers are a fork-specific addition. They make it possible to use sklearn inspection utilities such as permutation-based feature importance:

Quick Start

Minimum workable example

The example below creates a multi-output regression problem with intentionally correlated targets. It compares:

  • one MultiOutputGBDT model trained on the full target matrix
  • one SingleOutputGBDT model per target column
import numpy as np
from omnigbdt import SingleOutputGBDT, MultiOutputGBDT, Verbosity

rng = np.random.default_rng(0)

n_samples = 512
n_features = 4
n_outputs = 3

X = rng.random((n_samples, n_features)).astype("float64")
shared_signal = (
    1.5 * X[:, 0]
    - 0.8 * X[:, 1]
    + 0.4 * np.sin(np.pi * X[:, 2])
)
target_specific = np.column_stack([
    0.3 * X[:, 2] * X[:, 3],
    -0.4 * X[:, 0] + 0.2 * X[:, 3],
    0.5 * X[:, 1] * X[:, 3],
])
shared_noise = 0.05 * rng.standard_normal(n_samples)[:, None]
independent_noise = 0.02 * rng.standard_normal((n_samples, n_outputs))
Y = np.column_stack([
    1.2 * shared_signal,
    0.9 * shared_signal,
    1.1 * shared_signal,
]).astype("float64")
Y += target_specific + shared_noise + independent_noise

params = {
    "loss": b"mse",
    "max_depth": 3,
    "lr": 0.1,
    "num_threads": 1,
    "verbosity": Verbosity.SILENT,
}

multi = MultiOutputGBDT(out_dim=n_outputs, params=params)
multi.set_data((X, Y))
multi.train(1)
multi_preds = multi.predict(X)

single_models = []
for col in range(n_outputs):
    model = SingleOutputGBDT(params=params)
    target = np.ascontiguousarray(Y[:, col])
    model.set_data((X, target))
    model.train(1)
    single_models.append(model)

single_preds = np.column_stack([model.predict(X) for model in single_models])

multi_rmse = np.sqrt(np.mean((multi_preds - Y) ** 2))
single_rmse = np.sqrt(np.mean((single_preds - Y) ** 2))

print("MultiOutputGBDT RMSE:", round(float(multi_rmse), 6))
print("SingleOutputGBDT-per-target RMSE:", round(float(single_rmse), 6))
print("Prediction shape from MultiOutputGBDT:", multi.predict(X[:3]).shape)
print("Prediction shape from stacked SingleOutputGBDT models:", single_preds[:3].shape)

Permutation importance with sklearn

Install the optional sklearn extra first:

pip install "omnigbdt[sklearn]"

or with uv:

uv add "omnigbdt[sklearn]"

Then use the sklearn-compatible multi-output wrapper with permutation importance:

import time

import numpy as np
from sklearn.inspection import permutation_importance

from omnigbdt import MultiOutputGBDTRegressor

rng = np.random.default_rng(0)
X = rng.random((256, 4)).astype("float64")
shared_signal = (
    1.2 * X[:, 0]
    - 0.7 * X[:, 1]
    + 0.3 * np.sin(np.pi * X[:, 2])
)
shared_noise = 0.05 * rng.standard_normal(256)[:, None]
Y = np.column_stack([
    1.1 * shared_signal + 0.2 * X[:, 3],
    0.9 * shared_signal - 0.3 * X[:, 0],
    1.0 * shared_signal + 0.4 * X[:, 1] * X[:, 3],
]).astype("float64")
Y += shared_noise + 0.02 * rng.standard_normal((256, 3))

model = MultiOutputGBDTRegressor(
    num_rounds=10,
    max_depth=3,
    num_threads=1,
)
model.fit(X, Y)

start_time = time.time()
result = permutation_importance(
    model,
    X,
    Y,
    scoring="r2",
    n_repeats=10,
    random_state=42,
    n_jobs=1,
)
elapsed_time = time.time() - start_time

print(f"Elapsed time: {elapsed_time:.3f} seconds")
print(result.importances_mean)

Source and Development Installs

Install from source

pip install .

or with uv:

uv add ./OmniGBDT

That uv add ./OmniGBDT form is a local path dependency, so it builds from source on the current machine.

On Windows, use either uv add .\\OmniGBDT or uv add ./OmniGBDT. Do not use uv add OmniGBDT without ./ or .\\, because that asks the package registry for a published package named omnigbdt instead of using the local folder.

Use OmniGBDT inside an existing uv project

Add OmniGBDT as a normal released dependency:

uv add omnigbdt

Add a sibling checkout as an editable dependency while developing two projects side by side:

uv add --editable ../OmniGBDT

If you copy the OmniGBDT folder inside an existing uv workspace and run:

uv add ./OmniGBDT

then uv may treat it as a workspace member. If you want it to remain a plain path dependency, use:

uv add --no-workspace ./OmniGBDT

On Windows, the same commands are:

uv add .\\OmniGBDT
uv add --no-workspace .\\OmniGBDT

The equivalent manual configuration in pyproject.toml is:

[project]
dependencies = ["omnigbdt"]

[tool.uv.sources]
omnigbdt = { path = "../OmniGBDT", editable = true }

Windows source builds

Local path installs such as uv add ./OmniGBDT and source installs such as pip install . compile the native C++ library during installation.

On Windows, install:

  • Visual Studio Build Tools 2022 (or Visual Studio 2022)
  • the Desktop development with C++ workload
  • MSVC build tools and a working OpenMP-capable compiler

If CMake fails with an error such as:

Running 'nmake' '-?' failed with: no such file or directory
CMAKE_CXX_COMPILER not set, after EnableLanguage

then the package is being built from source but the MSVC toolchain is not available in the current shell.

The most reliable fix is:

  1. Install Visual Studio Build Tools 2022 with the C++ workload.
  2. Reopen the terminal from x64 Native Tools Command Prompt for VS 2022.
  3. Rerun uv add ./OmniGBDT or pip install ..

If the toolchain is already installed, also check that CMAKE_GENERATOR is not forcing NMake Makefiles in a shell where nmake.exe is unavailable.

What OmniGBDT Adds

Compared with the upstream repository, OmniGBDT:

  • replaces the old make.sh and manual shared-library workflow with standard Python packaging
  • bundles the native library inside the Python package
  • keeps load_lib(path=None) for advanced or compatibility workflows
  • adds wheel automation for Linux, macOS, and Windows
  • adds optional sklearn-compatible wrappers so users can apply sklearn inspection tools such as permutation-based feature importance

Core native-code deviations from upstream GBDT-MO

Most changes in this fork are packaging and distribution changes. The native C/C++ training code has only been changed in a few targeted ways so far:

  • stricter min_samples enforcement during split scoring: candidate split points are rejected unless both child branches satisfy min_samples
  • safe child-node materialization after a split: if a branch cannot be split further, it is emitted as an explicit leaf instead of being left implicit or partially unassigned
  • proper root-leaf fallback: if no valid split exists at the root, the model stores a true single-leaf tree and prediction, dump, and load work cleanly for that case

As a consequence, same-seed runs do not necessarily match older buggy runs exactly. Trees can be smaller because invalid small-child splits are filtered earlier, and the control flow through the native code changes accordingly.

Outside of those fixes, the core objective functions, histogram-based split search, and overall training structure are still inherited from the original repository.

Project Provenance

This fork builds directly on the original GBDT-MO implementation by Zhendong Zhang and Cheolkon Jung.

OmniGBDT is intended to make the package easier to build, install, and distribute. It is not the canonical source for the paper, benchmark tables, figures, or research documentation.

For evaluation metrics, dataset-specific experiments, and extended project context, please refer to:

Development

Run tests

For local development with uv, sync the project together with the optional test dependencies:

uv sync --extra test

Then run the test suite with:

uv run pytest

If you only want the smoke coverage in this repository, you can run:

uv run pytest tests/test_smoke.py

Build the documentation locally

The hosted documentation is configured through the repository-level .readthedocs.yaml file and the pinned dependencies in docs/requirements.txt.

To preview the docs locally with the same Sphinx dependency set used on Read the Docs, run:

uv run --no-project --with-requirements docs/requirements.txt sphinx-build -W -n -b html docs _build/html

Build the native library directly

If you only want to build the native library:

cmake -S . -B build
cmake --build build --config Release

Versioning

This fork follows Semantic Versioning independently from the upstream GBDT-MO repository.

License

This fork is distributed under the Apache License 2.0. The main license text for this fork is in LICENSE.

Because this repository incorporates and modifies the original GBDT-MO codebase, the original upstream MIT license notice from Zhendong Zhang is preserved in LICENSE.upstream. Additional attribution and fork-specific notice text is provided in NOTICE.

Citation

If you use this project in research, please credit the original paper by Zhang and Jung:

@article{zhang2020gbdt,
  title={GBDT-MO: Gradient-boosted decision trees for multiple outputs},
  author={Zhang, Zhendong and Jung, Cheolkon},
  journal={IEEE transactions on neural networks and learning systems},
  volume={32},
  number={7},
  pages={3156--3167},
  year={2020},
  publisher={Ieee}
}

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

omnigbdt-0.1.7.tar.gz (80.1 kB view details)

Uploaded Source

Built Distributions

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

omnigbdt-0.1.7-cp313-cp313-win_amd64.whl (81.3 kB view details)

Uploaded CPython 3.13Windows x86-64

omnigbdt-0.1.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (200.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

omnigbdt-0.1.7-cp313-cp313-macosx_14_0_arm64.whl (325.6 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

omnigbdt-0.1.7-cp312-cp312-win_amd64.whl (81.3 kB view details)

Uploaded CPython 3.12Windows x86-64

omnigbdt-0.1.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (200.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

omnigbdt-0.1.7-cp312-cp312-macosx_14_0_arm64.whl (325.6 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

omnigbdt-0.1.7-cp311-cp311-win_amd64.whl (81.3 kB view details)

Uploaded CPython 3.11Windows x86-64

omnigbdt-0.1.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (200.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

omnigbdt-0.1.7-cp311-cp311-macosx_14_0_arm64.whl (325.6 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

omnigbdt-0.1.7-cp310-cp310-win_amd64.whl (81.3 kB view details)

Uploaded CPython 3.10Windows x86-64

omnigbdt-0.1.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (200.6 kB view details)

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

omnigbdt-0.1.7-cp310-cp310-macosx_14_0_arm64.whl (325.6 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file omnigbdt-0.1.7.tar.gz.

File metadata

  • Download URL: omnigbdt-0.1.7.tar.gz
  • Upload date:
  • Size: 80.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for omnigbdt-0.1.7.tar.gz
Algorithm Hash digest
SHA256 88e95af13599fbb8433c98d50c5cd77b06d54bcda5e16580a93c780a497767fb
MD5 e3683f26b0160cf506471647924674aa
BLAKE2b-256 8c1fc91eef97a7c51d5fb79ebf83cdc4195b2796418053ce8f8926e376137c26

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7.tar.gz:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: omnigbdt-0.1.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 81.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for omnigbdt-0.1.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 93991caf6529c8132d27ff4362a4e3905173a41373ade60e3c507c9f3dc1c9c1
MD5 726355a7322d43b30a21b3c3d73052e7
BLAKE2b-256 68bdfeb36ca288f5f152fe18f1e5cda09b24e9c19b9b8796d08e26230ab5f9fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for omnigbdt-0.1.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 55191c9631cfa686b7c96bf83a4e9b1ec0fc09a7890010eff0fa65b577e5aad4
MD5 e7282f6dd4cce98605eafaabd41c7843
BLAKE2b-256 71a50255f3739187d35ea7c441a6418f81cba9d24a0bfc281eb5fd4b6d7b75e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for omnigbdt-0.1.7-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bc6a8e698a993052b44e21703b1fd2d998e60b717f70a584786e3f6cc3d7071c
MD5 840910ee5345f22949af31c898231186
BLAKE2b-256 7a9c15a6890ccc591bb5ce59100b449e5863c4ce14181d7b13efeccf286d8584

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: omnigbdt-0.1.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 81.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for omnigbdt-0.1.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cbb2e77dadd972d256a6755dfa98da7df348e0ce7e0fb9c90ceed30ca18ec6d4
MD5 56cadad05bd030d52aaf3eed5505a0dd
BLAKE2b-256 a250a5556dfbaa5a097fe47187c9b593217d466fd9e3845e7a9a899bd38cb230

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for omnigbdt-0.1.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6c631beb516f3286fd0a920f93881c86c1bcf277d6585e2093390b484584bc59
MD5 2a9d5d96e22faf7330268e148d4e4d61
BLAKE2b-256 cdc23eb7598a91366e7a8639ceee00fd090ad3e11701d1b26c2db4c1aa3d3b8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for omnigbdt-0.1.7-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d0d7158a600f381ceb8d32f7ceabcd19879d1cd46301c30dce5658e11528d5fa
MD5 4383fd0ee10e611db95809cdae0ed062
BLAKE2b-256 6a5bd382f9c721f0b3a71fc0872bfac48b01c66c3e8793f004a0e93bcada04d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: omnigbdt-0.1.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 81.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for omnigbdt-0.1.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d709f54dbd41f5474e7875650a636791e1b4377ce88bcde42bc83b22d90bb649
MD5 788ff474cc17c1bef2ddee53eb9653e5
BLAKE2b-256 aa377bbfd1e92bbc168277ee5f80fcb29600cce7a9dd7d13cb3ff693f30fc82f

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for omnigbdt-0.1.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ca1d3b667a48bc7f7f028b2ad03166a52f32b5268dabc41934385d46db04c25c
MD5 a29ef79bba8a2e5a8b95501b6f2a5da6
BLAKE2b-256 fb0ac5e5326ee4bc1e7b40842e64f95ff6e127762ddff0498052ab80e08ba3a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for omnigbdt-0.1.7-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 04c91ac3f00468f57e02df120d0b5620c49d2c5056fb17d7de30ca0acbe23aca
MD5 1c8180afb44888f900b09d2bea0550dc
BLAKE2b-256 fbf421b04501f5ca5fad3805bce7314fbb1bab7e526d0ca394f3dda702d70f15

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: omnigbdt-0.1.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 81.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for omnigbdt-0.1.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b0642ffcf2ebab40591306d18acbc31ee0455ff0440ca7f7f0ab1dd25607450e
MD5 3273994ea47da6552d44ef3a3659a1b8
BLAKE2b-256 5b6c115d376577a897d6a82839984a84dff947679623b4843dfc9adfe8e0bf93

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for omnigbdt-0.1.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd6ef2b60db8a8316d2e6307ae1d123609ea1e93f50e096453c632d9aaf93d8b
MD5 6c440c3557d5eab81f20b827e2c949d2
BLAKE2b-256 5355089ed27bfc708c6bd68dfcd26fddd8e25488971f6ccba4155212f8bdb055

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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

File details

Details for the file omnigbdt-0.1.7-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for omnigbdt-0.1.7-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 70c83a41f33415ef8ac9bd0d94cf1abda067a35bd2b26d37984fbf84d77ed885
MD5 1da7d3624cb1e9f71243783b8efcbca2
BLAKE2b-256 cd1361fb48ead2006150b0daf733279f3926b08b0956ab2575ad38b18f18fbeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigbdt-0.1.7-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: wheels.yml on University-of-Aruba/OmniGBDT

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