v1.5.0
On PyPI as bonsai-gbt, and the XGBoost drop-in surface.
Added
- PyPI via trusted publishing:
pip install bonsai-gbtwith no--find-links. Releases upload through OIDC (no stored tokens); the CUDA-enabled linux x86_64 wheel reaches the index only after the rented-GPU release gate passes, and a TestPyPI rehearsal path (workflow dispatch) proved the flow end to end before the first real upload. - The XGBoost drop-in surface: the canonical
XGBRegressor/XGBClassifierscript runs with only the class name swapped. New aliasesmin_child_weight(tree.min_child_hess, the same minimum hessian mass per child),gamma,subsample(switches on the bernoulli sampler), anddevice="cuda"(picks the matching CUDA grower); XGBoost objective strings on both estimators (reg:squarederror,reg:quantileerrorwithquantile_alpha,binary:logistic,multi:softprob, ...);eval_setin the list-of-tuples form;evals_result(),best_iteration, andbest_scorebacked by a per-round eval history (in-memory only, the model format is untouched; squared error is presented as rmse, the exact root);save_model/load_model/apply/iteration_range;n_features_in_. The full swap table and the deliberate differences: Switching from XGBoost.
Measured
- XGBoost 3.3 recheck (decision 87): every published standing survives against the 2026-07-21 release on a same-pod three-arm ladder; the one real competitor gain (wide-CPU histogram tiling, 2x at 1M x 4096) flips no published cell. The 16M host-memory ratio (22.1 vs 6.9GB) reproduced on a second host.