hoptimal
A from-scratch C++ Gaussian-Process Bayesian optimizer with Python bindings; competitive with Optuna and scikit-optimize on sample efficiency.
hoptimal implements Bayesian optimization for ML model hyperparameters (a Gaussian-Process surrogate + acquisition functions) in modern C++20, exposed to Python through pybind11.
Benchmark
Median regret vs trial number on 8 standard optimization test functions, 8 seeds each: hoptimal against Optuna and scikit-optimize:
Across the 8 functions, hoptimal's GP wins 3 outright (Hartmann-6, Ackley, Rosenbrock) and places a close 2nd on the rest. It beats every Optuna sampler on 6 of 8 — losing only levy/rastrigin to CMA-ES — and is edged on the two smooth low-dimensional functions by scikit-optimize (by decimals). It is strongest on the higher-dimensional problems.
| Function | hoptimal (best) | Optuna (best) | scikit-optimize |
|---|---|---|---|
| branin | 0.0013 | 0.70 | 0.0011 |
| hartmann3 | 0.0004 | 0.15 | 0.0002 |
| hartmann6 | 0.044 | 1.06 | 0.14 |
| ackley5 | 2.21 | 3.30 | 2.88 |
| rosenbrock4 | 4.37 | 10.4 | 11.9 |
| levy5 | 2.37 | 2.07 | 3.55 |
| rastrigin5 | 29.5 | 27.7 | 33.6 |
| styblinski5 | 47.9 | 55.5 | 26.5 |
Reproduce: python benchmarks/python/competitors/bench_competitors.py && python benchmarks/python/visualize.py
Against Optuna's BoTorch-backed GP sampler specifically — the toughest
GP-vs-GP comparison — hoptimal goes 4–4 on final quality, winning the harder
higher-dimensional and multimodal functions (hartmann6, rosenbrock, rastrigin,
styblinski). Reproduce (reports how many trials hoptimal saves to match Optuna):
python benchmarks/python/bench_vs_optuna.py --optuna-sampler gp --save && python benchmarks/python/visualize_vs_optuna.py
Installation
pip install hoptimal
Prebuilt wheels are published for Linux, macOS (Intel + Apple Silicon), and Windows on CPython 3.9–3.13, so no C++ toolchain is required.
The ML-framework integrations pull in their own dependencies and are installed via extras:
pip install hoptimal[sklearn] # scikit-learn
pip install hoptimal[xgboost] # XGBoost
pip install hoptimal[lightgbm] # LightGBM
pip install hoptimal[catboost] # CatBoost
pip install hoptimal[torch] # PyTorch
pip install hoptimal[jax] # JAX + Flax
pip install hoptimal[tensorflow] # TensorFlow / Keras
pip install hoptimal[viz] # matplotlib plots + pandas + importances
Quickstart
import hoptimal
study = hoptimal.create_study("minimize") # GP + Expected Improvement by default
def objective(trial):
x = trial.suggest_float("x", -5.0, 5.0)
y = trial.suggest_float("y", -5.0, 5.0)
return (x - 2.0) ** 2 + (y + 1.0) ** 2
study.optimize(objective, n_trials=50)
print(study.best_value, study.best_params)
The Trial API mirrors Optuna's, so migration is mostly mechanical. For a
runnable tour (toy problem → Branin convergence plot → real sklearn model →
head-to-head vs Optuna) see examples/demo.ipynb.
scikit-learn example
from sklearn.svm import SVC
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from hoptimal.integrations.sklearn import HoptimalSearchCV
pipe = Pipeline([("scaler", StandardScaler()), ("svc", SVC())])
search = HoptimalSearchCV(
pipe,
{"svc__C": ("float", 1e-3, 1e3, {"log": True}),
"svc__gamma": ("float", 1e-4, 1e0, {"log": True}),
"svc__kernel":("categorical", ["rbf", "sigmoid"])},
n_trials=40, cv=5, scoring="accuracy",
)
search.fit(X, y)
print(search.best_score_, search.best_params_)
Visualization & analysis
Install the plotting extras (pip install hoptimal[viz]) to inspect a study with
a matplotlib API that mirrors Optuna's:
from hoptimal import visualization as viz, get_param_importances
viz.plot_optimization_history(study) # best-so-far convergence
viz.plot_param_importances(study) # random-forest importances
viz.plot_slice(study) # objective vs each parameter
viz.plot_contour(study, params=["x", "y"])
viz.plot_pareto_front(mo_study) # multi-objective
get_param_importances(study) # -> {"x": 0.62, "lr": 0.24, ...}
Export every trial to a pandas DataFrame for custom analysis or logging:
df = study.trials_dataframe()
# columns: number, value, datetime_start/complete, duration, state,
# params_<name>..., user_attrs_<key>...
See the changelog for the full list of changes.
Build from source
With Docker (recommended — builds + tests + validates integrations on clean Linux):
docker build --target core -t hoptimal . # C++ core + tests + bindings
docker build --target integrations -t hoptimal . # + sklearn/xgboost/lightgbm/catboost
docker build --target dl -t hoptimal . # + pytorch/jax/tensorflow (heavy)
Locally (needs a C++20 compiler, CMake, Eigen3; GoogleTest/pybind11 are fetched automatically if absent):
# C++ library + tests
cmake -B build -DHOPTIMAL_BUILD_TESTS=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failure
# Python package
pip install .
How it works
Each trial, hoptimal fits a Gaussian Process to the observations so far, then picks the next point by optimizing an acquisition function over the GP's posterior. The implementation is hand-written C++:
- GP regression with RBF / Matérn-5/2 kernels using ARD (a separate
length-scale per dimension, so anisotropic objectives are modelled correctly);
inference via a Cholesky factorization of
K + σ²I(with jitter for stability) rather than an explicit inverse. - Kernel hyperparameters fitted by maximizing the log marginal likelihood (MAP, with weak log-normal priors that regularize the per-dimension length-scales) via L-BFGS with random restarts.
- Acquisition — LogEI by default (a numerically-stable log Expected
Improvement that doesn't underflow far from data), also UCB / PI — optimized
over the normalized
[0,1]ᵈspace via a low-discrepancy (Halton) candidate set refined with L-BFGS. The first few trials use a space-filling Halton design before the GP takes over. - Categorical parameters are one-hot encoded so unordered categories aren't given a false ordering.
License
MIT — see LICENSE.
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 hoptimal-0.2.0.tar.gz.
File metadata
- Download URL: hoptimal-0.2.0.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cccd2232be0203e8c09ebe3d0a71ee00c365528c030e4d4bc4d36471b20076f1
|
|
| MD5 |
bc1714d2856a2bc2e1696d05a38d8823
|
|
| BLAKE2b-256 |
55bc28d8c63f65702abae17362d0a5c51e941bf5b02166d1558026558330c115
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0.tar.gz:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0.tar.gz -
Subject digest:
cccd2232be0203e8c09ebe3d0a71ee00c365528c030e4d4bc4d36471b20076f1 - Sigstore transparency entry: 2110232705
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 260.7 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 |
ef3947eb97b74888a584bf654b9cce584b29ceb0cf41c22f8a510e97cdc3c1db
|
|
| MD5 |
692326716d6575cf986641ea764bdfc0
|
|
| BLAKE2b-256 |
b9ead9ca9bab325233136e90a87cdd3a91ff1bb79d776f4e44a291b5cb72f628
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp313-cp313-win_amd64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp313-cp313-win_amd64.whl -
Subject digest:
ef3947eb97b74888a584bf654b9cce584b29ceb0cf41c22f8a510e97cdc3c1db - Sigstore transparency entry: 2110234856
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 322.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, 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 |
784f3d5acf931f26fbb0f384bd5fac4a3e6e92b5fe71d7be2c0f4cb24dc05bbc
|
|
| MD5 |
9bfb7e2673258436181e9c90c1f988f0
|
|
| BLAKE2b-256 |
2de4b9b94b34fdc402ed43c4a6f5a3da53a37bb7d93902f88b80d8ca0cf18cbe
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
784f3d5acf931f26fbb0f384bd5fac4a3e6e92b5fe71d7be2c0f4cb24dc05bbc - Sigstore transparency entry: 2110233880
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 254.5 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 |
07b51ea4b5d94227279cba66928cab2e5c619c8290eed507d215c25daecc71c5
|
|
| MD5 |
8c4cf75ec79c3efb2293ce144a9a0874
|
|
| BLAKE2b-256 |
e153b9a92acc07bf1e17d2b624d828a85dc58cddc112da4960080e4a06755022
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
07b51ea4b5d94227279cba66928cab2e5c619c8290eed507d215c25daecc71c5 - Sigstore transparency entry: 2110233072
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 283.8 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1520618c950a89e149f74f05cd2e3d80b651f9437d8936eb8d6261344d928daf
|
|
| MD5 |
fca78be75a4682f2e061d0603bf6d11a
|
|
| BLAKE2b-256 |
3ca76144fabb8de7584cf7577e8a05356fc3c93d29e290b5c77ed43acc1f62f9
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl -
Subject digest:
1520618c950a89e149f74f05cd2e3d80b651f9437d8936eb8d6261344d928daf - Sigstore transparency entry: 2110233318
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 260.7 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 |
338d94a6674a29c93ce1deac69d0d33ab3c4d9646fcc8946107b81868ffa4da3
|
|
| MD5 |
9129e025ef2f5a31bd8f9a2291714727
|
|
| BLAKE2b-256 |
693d79695e57cf5d7bdffa06c523d232e8c24b5d122f678b66530e2aa3fafec5
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp312-cp312-win_amd64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp312-cp312-win_amd64.whl -
Subject digest:
338d94a6674a29c93ce1deac69d0d33ab3c4d9646fcc8946107b81868ffa4da3 - Sigstore transparency entry: 2110233568
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 322.3 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, 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 |
8d90888ecec97b050e24713ccc7192d90ac23f558ca1bb30a110bb5938421392
|
|
| MD5 |
62d10effe9826dfc0b525084d63ce36a
|
|
| BLAKE2b-256 |
6abae4db75a2bf3b1acf2440bad2e53416c818fdd7d929266cb8076e6f42d6cd
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
8d90888ecec97b050e24713ccc7192d90ac23f558ca1bb30a110bb5938421392 - Sigstore transparency entry: 2110234380
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 254.4 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 |
eedc8496fdefd2e8d2efe9f9638de254c9cd57eff20a0ed5b19326beeec1fc5a
|
|
| MD5 |
03239fbca9f1c188bfe1a71023b70255
|
|
| BLAKE2b-256 |
d4e9b9171f226b99e88ca9721eaefe1c0f323c871afaec42867cc574458202ac
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
eedc8496fdefd2e8d2efe9f9638de254c9cd57eff20a0ed5b19326beeec1fc5a - Sigstore transparency entry: 2110233398
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 283.8 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b30c15b8d0dc39178202a2848f131792a40476e6a1d9188167a2f8a2871783aa
|
|
| MD5 |
51ef3ea9bdd1f65b50580308f15733ef
|
|
| BLAKE2b-256 |
d851a5ef6790830b5674a1bb9eb6636b3bfd206931175b048abebd2777d98192
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl -
Subject digest:
b30c15b8d0dc39178202a2848f131792a40476e6a1d9188167a2f8a2871783aa - Sigstore transparency entry: 2110234686
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 258.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5bd1c924f91c50b514b01ff2713348979ae66f46acb96479250f2a7a5891c84
|
|
| MD5 |
793e14738648ee4529414f6e8a03081e
|
|
| BLAKE2b-256 |
a96d3901657eb7a8baaa789380944f193b94ad55924912d64773149579379da7
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp311-cp311-win_amd64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp311-cp311-win_amd64.whl -
Subject digest:
c5bd1c924f91c50b514b01ff2713348979ae66f46acb96479250f2a7a5891c84 - Sigstore transparency entry: 2110233484
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 321.6 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, 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 |
670d685a78d4780f9f728128362d27721b5bb09fcf64e69207764fdd80aa304a
|
|
| MD5 |
1f901a704931d11e2e3bbdc5e3f65e7d
|
|
| BLAKE2b-256 |
512f24dc90cf4b26bb0e4a1e1e92e24b4271ff9609f36c6eb62d84281b0fa0a2
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
670d685a78d4780f9f728128362d27721b5bb09fcf64e69207764fdd80aa304a - Sigstore transparency entry: 2110232856
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 252.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 |
fb0f1de3e9e4521364e29d26957e8a8a39cfa143e22328bfb3fe1fa566516b39
|
|
| MD5 |
8805ca3a2d2573701a4547d2d7d3952a
|
|
| BLAKE2b-256 |
bf71a97db234edfc1beb2e61fe00827c45d2af8d751ad91df49346e13dd14307
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
fb0f1de3e9e4521364e29d26957e8a8a39cfa143e22328bfb3fe1fa566516b39 - Sigstore transparency entry: 2110232985
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp311-cp311-macosx_10_13_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp311-cp311-macosx_10_13_x86_64.whl
- Upload date:
- Size: 280.4 kB
- Tags: CPython 3.11, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67a7c6afc7595a11aaa21b8a996cc111fc48e127888ba380ea392b51eaf93892
|
|
| MD5 |
2bdf7c6902957d486d5f97f7a7b7d06b
|
|
| BLAKE2b-256 |
856e8643d0ba24803900f01a2173d42d16a0e7e581bb996f1ccd52b15db665e2
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp311-cp311-macosx_10_13_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp311-cp311-macosx_10_13_x86_64.whl -
Subject digest:
67a7c6afc7595a11aaa21b8a996cc111fc48e127888ba380ea392b51eaf93892 - Sigstore transparency entry: 2110233221
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 255.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 |
bc6f293d99efd4ecd8dad8eeae8b445e1fc68cd697776e5d94611b7a33561d1a
|
|
| MD5 |
4e6af4e2b2b1507dac49b6437f0eaa87
|
|
| BLAKE2b-256 |
1f7f2ed287a73b54ce2354aa4a440ee644172ccb4bd834271a05d5bf4b5326d6
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp310-cp310-win_amd64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp310-cp310-win_amd64.whl -
Subject digest:
bc6f293d99efd4ecd8dad8eeae8b445e1fc68cd697776e5d94611b7a33561d1a - Sigstore transparency entry: 2110234050
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 320.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, 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 |
e3acdf988a998765222884751dcd7a83b14cc8ba90671b9b248a232a62ef620c
|
|
| MD5 |
50f7d10c64c393d8d1fcdaa8d9f1ea60
|
|
| BLAKE2b-256 |
da7ed51a31a546b1a864bb086734a39cae84fb7ebe4cc052ed124834dbeaca89
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
e3acdf988a998765222884751dcd7a83b14cc8ba90671b9b248a232a62ef620c - Sigstore transparency entry: 2110235035
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 250.9 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 |
a38cf22bc42b50d98d80905eaebcf9a5f223bf9f8c6d88b2a85c33825cd4c38b
|
|
| MD5 |
c33f1447fb386049ccbee02fe7a834c7
|
|
| BLAKE2b-256 |
af93381cb5c3e4036f6a4bb5310e675683c9c59cdf0fd2f78ac642d5df66e734
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
a38cf22bc42b50d98d80905eaebcf9a5f223bf9f8c6d88b2a85c33825cd4c38b - Sigstore transparency entry: 2110233671
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp310-cp310-macosx_10_13_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp310-cp310-macosx_10_13_x86_64.whl
- Upload date:
- Size: 279.0 kB
- Tags: CPython 3.10, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9f9ec808e6a7667dd770b7a966607acf5ebfb012a42483672e592f732bc5738
|
|
| MD5 |
1b4bc1e66e7964194720bd865628a18c
|
|
| BLAKE2b-256 |
99b1750f93478a08686cdceea11168fefd1da3e0e748a185b47540818ff0ee84
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp310-cp310-macosx_10_13_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp310-cp310-macosx_10_13_x86_64.whl -
Subject digest:
c9f9ec808e6a7667dd770b7a966607acf5ebfb012a42483672e592f732bc5738 - Sigstore transparency entry: 2110233762
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 256.4 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 |
31202f6d67fdf4927980bc386b44973c06492674b0b62b200ed1d19b0599f6ed
|
|
| MD5 |
1a75bdff1fc451265d1340d6855923f1
|
|
| BLAKE2b-256 |
a8c310579cc8b9886dc6496ce4deaef19daa86e40e709cc74c8a204a82b77786
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp39-cp39-win_amd64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp39-cp39-win_amd64.whl -
Subject digest:
31202f6d67fdf4927980bc386b44973c06492674b0b62b200ed1d19b0599f6ed - Sigstore transparency entry: 2110234273
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 319.8 kB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, 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 |
b0593a020e8f788750bda170bd74b21f9b7f8e40ac427ffbb9db681eb74e19c6
|
|
| MD5 |
ec51e78a064b6a9870edeebdcb56d5b1
|
|
| BLAKE2b-256 |
315d225006bbb9969f4e96cf968e4d12c42476c4139cd869cd7b784d64f58faa
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
b0593a020e8f788750bda170bd74b21f9b7f8e40ac427ffbb9db681eb74e19c6 - Sigstore transparency entry: 2110234509
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 251.1 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 |
7fb2a73f884b4ea580cdef7550fc5c836a322ece9851722065d23ccd4c96d343
|
|
| MD5 |
39e8e19c0003dc40cf8aeefc1045874c
|
|
| BLAKE2b-256 |
46c4333a71e554abd416ee5e59c147763fbee98e15d5ff065ad37dad95ced88c
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp39-cp39-macosx_11_0_arm64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp39-cp39-macosx_11_0_arm64.whl -
Subject digest:
7fb2a73f884b4ea580cdef7550fc5c836a322ece9851722065d23ccd4c96d343 - Sigstore transparency entry: 2110234136
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type:
File details
Details for the file hoptimal-0.2.0-cp39-cp39-macosx_10_13_x86_64.whl.
File metadata
- Download URL: hoptimal-0.2.0-cp39-cp39-macosx_10_13_x86_64.whl
- Upload date:
- Size: 279.2 kB
- Tags: CPython 3.9, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a86770f0b90c748dcf464101e86b78d874f6f002db26b661b15ded055df92a1
|
|
| MD5 |
79ff908b13f8d6001a128ae1cf8de666
|
|
| BLAKE2b-256 |
941fdd13ae5ed5cbd761a1ffae7648c94d92b4144e38ef1bdb07dc150b8cd192
|
Provenance
The following attestation bundles were made for hoptimal-0.2.0-cp39-cp39-macosx_10_13_x86_64.whl:
Publisher:
release.yml on danieldema/hoptimal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hoptimal-0.2.0-cp39-cp39-macosx_10_13_x86_64.whl -
Subject digest:
5a86770f0b90c748dcf464101e86b78d874f6f002db26b661b15ded055df92a1 - Sigstore transparency entry: 2110233966
- Sigstore integration time:
-
Permalink:
danieldema/hoptimal@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/danieldema
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fedd4f45a16f734c0af6068e96244b0340f5f880 -
Trigger Event:
release
-
Statement type: