Mojagg: A port of Numbagg to Mojo

Hi all,

I wanted to share my project called Mojagg, which is a port of Numbagg—a project used by the Xarray community to accelerate various algorithms using Numba. You can install it via PyPI.

I decided to port Numbagg to Mojo because I wanted to learn the language—and building real projects is the best way to learn. Numbagg felt like a great candidate: it’s relatively lightweight while maintaining excellent performance and readability.

Beyond my desire to learn Mojo, I think this project serves as a useful benchmark for Mojo outside standard AI workloads. In fact, I created a comprehensive test suite to benchmark Mojagg against Numbagg; you can find the detailed results in the repository.

I’m very open to suggestions, feedback, and contributions—both to beat Numbagg in more test cases and to solve some of the bottlenecks I ran into while developing the project. I’m confident there are ways to speed things up even further, especially in the moving window and group-by algorithms, but for now, the performance is already quite solid.