# Balsa, mojo-native Treelite reader / writer

**URL:** <https://forum.modular.com/t/balsa-mojo-native-treelite-reader-writer/3518>\
**Category:** Community Showcase\
**Tags:** mojo-1\_0\
**Created:** [September 21, 2026, 12:30pm UTC](https://forum.modular.com/t/balsa-mojo-native-treelite-reader-writer/3518 "2026-09-21T12:30:22Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![StrGenIx](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.modular.com/strgenix/32/1289_2.png) [@StrGenIx](https://forum.modular.com/u/StrGenIx)\
**Post date:** [September 21, 2026, 12:30pm UTC](https://forum.modular.com/t/balsa-mojo-native-treelite-reader-writer/3518/1 "2026-09-21T12:30:22Z")

</div>

Hello everyone,

I have been playing around with Mojo for quite a while, but now that there is a 1.0.0 release, I wanted to make my first library contribution: [GitHub - idlab-discover/balsa · GitHub](https://github.com/idlab-discover/balsa/tree/main) .

Balsa is a native Mojo library for reading, editing, validating and writing Treelite v4 checkpoints. It supports float32 and float64 models. Inference is kept out of the project. I have something else cooking to do inference. Max has lots of native support for modern DNNs, but tree-based models are staples of classical ML and have had little love.

The codebase was mostly created with GPT-6 Astra, but with lots of supervision and direction by me. I was fortunate enough that the Treelite library (python front-end, cpp back-end) provided an excellent reference implementation.  
I have tested the library against treelite exports by scikit-learn, catboost, lightgbm and xgboost and they are all functional and equally speedy as the reference implementation after rounds of optimization work.

I’d love to have distribution at [modular-community | prefix.dev](https://prefix.dev/groups/modular-community), but I have never done this. Could someone who’s done this give a few pointers on how to publish a package there?
