Skip to content

Add balsa 0.2.1 for Mojo 1.2.0 - #452

Merged
alisterburt merged 1 commit into
modular:mainfrom
Str-Gen:add-balsa-0.2.1
Nov 10, 2026
Merged

alisterburt merged 1 commit into
modular:mainfrom
Str-Gen:add-balsa-0.2.1

Conversation

@Str-Gen

@Str-Gen Str-Gen commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Balsa reads, inspects, edits, validates and writes Treelite v4 tree-ensemble checkpoints in native Mojo, with no Python or libtreelite runtime. Apache-2.0, with Treelite attribution.

  • package: balsa 0.2.1 (build 0), new to the channel
  • source: https://github.com/idlab-discover/balsa at df99152 (tag v0.2.1)
  • mojo-compiler ==1.2.0, max-core ==26.7.0 (Balsa uses MAX's parallel primitives for validation)
  • build: precompiles lib/mojo/balsa.mojoc; build.files keeps the package to that library
  • test: compiles and runs the tagged conda.recipe/test.mojo against the installed package, with no source include path. The test builds a model, round-trips it through the packed API, validates it and converts it back for editing.
  • Linux x86-64 only; the macOS and ARM runners skip the recipe.

Checklist

  • My recipe.yaml file specifies which version(s) of MAX is compatible with my project: it pins mojo-compiler ==1.2.0 and max-core ==26.7.0 for build, host and run.
  • License file is packaged: LICENSE, LICENSES/Treelite.txt and THIRD_PARTY_NOTICES.md are all in the built package under info/licenses/.
  • Set the build number to 0 (new package).
  • Bumped the build number (not applicable, new package).

Tested

  • Built this exact recipe locally with rattler-build 0.30.0, variants/variants.yaml, this repository's channel order and --skip-existing=all. The package test passed.
  • The same build on a GitHub runner (run) also installed balsa 0.2.1 hb0f4dca_0 into a clean workspace with strict channel priority and ran the test there, on Mojo 1.2.0.
  • Balsa's own CI passes for the tagged commit: core, framework and packed tests, generated API docs, byte-for-byte fixture regeneration, Treelite 4.6.1 interoperability, and an isolated Conda install.

A follow-up recipe, mojo-pyre (tree-ensemble inference on CPU and GPU), depends on this package. It will be submitted once balsa is published.

Could a maintainer add the "OK to test" label? Thank you!

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@alisterburt

Copy link
Copy Markdown
Collaborator

thank you @Str-Gen !

@alisterburt
alisterburt merged commit e5e37dd into modular:main Nov 10, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants