Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

GTBoost

Gradient boosting for tabular data. Rust core, Python/sklearn API. Native NaN and categorical handling.

Alpha software — APIs may change.

Install

pip install gtboost

From source:

git clone https://github.com/gtboost-org/gtboost.git
cd gtboost
pip install maturin
maturin develop --release

Regression — California housing

from gtboost import GTBoostRegressor
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

X, y = fetch_california_housing(return_X_y=True)
Xtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.2, random_state=0)

model = GTBoostRegressor(n_estimators=1000, learning_rate=0.05, max_depth=6, seed=0)
model.fit(Xtr, ytr, eval_set=[(Xte, yte)], early_stopping_rounds=50)

print(mean_squared_error(yte, model.predict(Xte)) ** 0.5)

Classification — diabetes (binarized)

import numpy as np
from gtboost import GTBoostClassifier
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split

X, y = load_diabetes(return_X_y=True)
y = (y > np.median(y)).astype(int)
Xtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.2, random_state=0)

clf = GTBoostClassifier(n_estimators=500, learning_rate=0.05, max_depth=3, seed=0)
clf.fit(Xtr, ytr, eval_set=[(Xte, yte)], early_stopping_rounds=50)

proba = clf.predict_proba(Xte)[:, 1]

Main features

All are constructor kwargs (defaults shown). Descriptions are mechanical, not benchmark claims.

kwarg default what it does
honest False fit split structure and leaf values on disjoint halves of the data
stein_leaves False positive-part shrinkage of each tree's leaf vector toward the global step
vertical_init False fit per-feature linear effects before the trees
monotone_constraints [] per-feature monotonicity: 1 up, -1 down, 0 none
interval_splits False bounded split candidates a <= x <= b
sparse_oblique_splits False 2-feature diagonal split candidates
grow_policy "depthwise" depthwise / leafwise / oblivious / adaptive
huber_delta 0.0 Huber loss for regression (0.0 = squared error)
n_refine 0 post-fit leaf-value refit passes
apx True average predictions across boosting-trajectory checkpoints
cat_features None mark categorical columns; pandas category/object/string auto-detected

Noisy, small data (diabetes) — structure-honest fit with leaf shrinkage and a linear prior:

reg = GTBoostRegressor(honest=True, stein_leaves=True, vertical_init=True, seed=0)
reg.fit(Xtr, ytr)

Monotone constraint (California, target non-decreasing in feature 0, MedInc):

reg = GTBoostRegressor(monotone_constraints=[1, 0, 0, 0, 0, 0, 0, 0], seed=0)
reg.fit(Xtr, ytr)

Categorical features

Pandas category/object/string columns are detected automatically. Pass cat_features to override. Fit and predict on DataFrames with the same columns so categories map consistently.

clf = GTBoostClassifier(cat_features=["city", "segment"], seed=0)
clf.fit(df_train, y_train)
proba = clf.predict_proba(df_test)

Tuning

from gtboost.tuner import tune_gtboost

result = tune_gtboost(Xtr, ytr, task="regression", n_trials=30, n_folds=3)
model = GTBoostRegressor(**result.best_params).fit(Xtr, ytr)

Refine

Post-hoc joint leaf re-solve (regression, binary, multiclass): re-fits all leaf values against the final residual, shrunk toward the greedy values, behind an evidence gate. See REFINE_2.md.

Scope

Stable: GTBoostRegressor, GTBoostClassifier, Dataset, native NaN and categorical handling, interval splits. A native gtboost.train / Dataset API also exists.

Experimental: research knobs on GTBoostModel — see GTBOOST_FEATURES.md.

Metadata

Release files for gtboost 0.1.0a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gtboost 0.1.0a2
File Size Uploaded Provenance Actions
gtboost-0.1.0a2.tar.gz 370.3 kB With provenance Details for gtboost-0.1.0a2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for gtboost 0.1.0a2
File Actions
gtboost-0.1.0a2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for gtboost-0.1.0a2-cp312-cp312-win_amd64.whl
gtboost-0.1.0a2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for gtboost-0.1.0a2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
gtboost-0.1.0a2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for gtboost-0.1.0a2-cp312-cp312-macosx_11_0_arm64.whl
gtboost-0.1.0a2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for gtboost-0.1.0a2-cp311-cp311-win_amd64.whl
gtboost-0.1.0a2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for gtboost-0.1.0a2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
gtboost-0.1.0a2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for gtboost-0.1.0a2-cp311-cp311-macosx_11_0_arm64.whl
gtboost-0.1.0a2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for gtboost-0.1.0a2-cp310-cp310-win_amd64.whl
gtboost-0.1.0a2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for gtboost-0.1.0a2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
gtboost-0.1.0a2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for gtboost-0.1.0a2-cp310-cp310-macosx_11_0_arm64.whl

Total release size: 14.1 MB

Release files / gtboost-0.1.0a2.tar.gz

Download URL gtboost-0.1.0a2.tar.gz
Size 370.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1ccaf8e6eb2ac3d378368eb06dd4ac420b22acf33872cd1f257826959c755518
BLAKE2b-256 checksum
How to use checksums
67fab826fca1201e337b44df8a0b1795b09089cf0c44ec352bd5ef35079ea8b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / gtboost-0.1.0a2-cp312-cp312-win_amd64.whl

Download URL gtboost-0.1.0a2-cp312-cp312-win_amd64.whl
Size 1.6 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2335a22b769876d14de658d83d44c3efcaaf73583719e1d8cd5e50ba7d96a0ea
BLAKE2b-256 checksum
How to use checksums
08b8323f2edc34a4865c1e8068e28dfc5f29172512435144156b0c31b800554c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / gtboost-0.1.0a2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gtboost-0.1.0a2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3c10353ff66d1260040f2698ff59461f6e990068332badb053967043512dab4e
BLAKE2b-256 checksum
How to use checksums
fbfa023fc5befea4ec1c56e737b48682c991f6adf2d4a2e0589576aa83ea0e67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / gtboost-0.1.0a2-cp312-cp312-macosx_11_0_arm64.whl

Download URL gtboost-0.1.0a2-cp312-cp312-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a2ac0163367a76298b5d8e52ebebabf06b607fbb89d9bfbdeaeadb798a768067
BLAKE2b-256 checksum
How to use checksums
2eae99923fa8bf58ae35210c270f0cf0467629667f823458809f973be8a92cab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / gtboost-0.1.0a2-cp311-cp311-win_amd64.whl

Download URL gtboost-0.1.0a2-cp311-cp311-win_amd64.whl
Size 1.6 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
c7c04b15a5f45340b16347fc4bee18d7fa9de1d9e25dfc819d45dc12d5887f72
BLAKE2b-256 checksum
How to use checksums
855b8fd31ae027c18c75b2847786c368833494f944f748ba96ed3f387c1ea5fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / gtboost-0.1.0a2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gtboost-0.1.0a2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f5c868841d907329990358857df068b7e5438aea07d69b0d115c664796ee25c1
BLAKE2b-256 checksum
How to use checksums
5ff6197172c29b3a196d8ae24e622921b3b400bc9792b4039c35019fcab5c5c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / gtboost-0.1.0a2-cp311-cp311-macosx_11_0_arm64.whl

Download URL gtboost-0.1.0a2-cp311-cp311-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1d451563b19d5349346ad5fd75eb8f766f4e679fcd57c3d1ad6272153bcf4a3d
BLAKE2b-256 checksum
How to use checksums
bd0f8979787c6ca07db546ab678a951cb330df78f078f97d3960ebf3f58de907
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / gtboost-0.1.0a2-cp310-cp310-win_amd64.whl

Download URL gtboost-0.1.0a2-cp310-cp310-win_amd64.whl
Size 1.6 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
c8a6b4825798d3055397ab9c2ebd468b35485ab3a97c42703ae1738cd671f0ea
BLAKE2b-256 checksum
How to use checksums
2215c9d48261b6c2707fbf80bf72382ab13dbc8f8039fc2ac93e349b9d739764
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / gtboost-0.1.0a2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gtboost-0.1.0a2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2609e81408bdb76de97d9e41932584b22ac831ecb90aded42a177a1c5dce34f0
BLAKE2b-256 checksum
How to use checksums
82dfc358b275baa06cecb5e32da03961ff0e03639705d22ad6474c713bb56fc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Release files / gtboost-0.1.0a2-cp310-cp310-macosx_11_0_arm64.whl

Download URL gtboost-0.1.0a2-cp310-cp310-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
62383fa9c296582e48fb4e6b6194a42a4d55f642aab63e0fba45f6d2ff4306f2
BLAKE2b-256 checksum
How to use checksums
af745859cf13e35d2cc7ca4fba2886250be576f584476067a87e0e086dc041a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

Security for gtboost 0.1.0a2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 10 files in this release have been uploaded with provenance metadata.

Select from 10 files

Attestation for gtboost-0.1.0a2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page