I have released MojoTrees 0.1.0a1, an experimental gradient-boosted tree library written natively in Mojo.
The goal is a familiar LightGBM-style Python experience backed by portable CPU and GPU implementations, with first-class support for the Metal GPU already present in Apple Silicon Macs.
The repository now has a broad feature surface. Dense and sparse histogram training, leaf-wise growth, categorical and missing-value handling, regression, classification and ranking, validation and early stopping, callbacks, serialization, continued training, model contributions, a Dataset and Booster API, Python estimators, a C API, and a CLI foundation. The GPU path includes device-resident binned data and row assignments, tiled histograms, deterministic integer accumulation, row partitioning, multiclass training, and runtime device-aware launch geometry.
This is a substantial public alpha, not a production replacement for LightGBM. Feature combinations, edge cases, performance validation, and cross-hardware testing still need work. Metal correctness has been exercised on an Apple M4. NVIDIA and AMD have not been validated, and the repository says so explicitly.
The first self-contained wheel is live on PyPI. On CPython 3.14, Apple Silicon, and macOS 26 or newer, installation is simply
pip install mojotrees
The platform support is intentionally narrow for this first alpha; unsupported combinations fail cleanly rather than attempting a surprise source build.
I am particularly looking for contributors interested in Mojo GPU programming, Apple Silicon profiling, gradient-boosted tree algorithms, Python packaging, differential testing against LightGBM, and validation on real NVIDIA or AMD hardware.
Repository: GitHub - mojotrees/mojotrees: Gradient boosted decision trees in Mojo. LightGBM-style histogram splits and leaf-wise growth. · GitHub
PyPI: Client Challenge
Parity contract: mojotrees/docs/LIGHTGBM_PARITY.md at main · mojotrees/mojotrees · GitHub
GPU validation status and procedure: mojotrees/docs/GPU_VALIDATION.md at main · mojotrees/mojotrees · GitHub
I would especially value feedback on the GPU architecture, API boundaries, and the shortest path to a reliable Apple Silicon benchmark story.
Please note. I changed the name from yesterday from MojoBoost to MojoTrees to avoid confusion with C++ Boost.