Last week we began alpha testing our new magic CLI for installing Mojo and MAX through the Conda ecosystem. It allows you to pin Mojo/MAX to different versions, and add Python dependencies so you can reliably share your Mojo and MAX projects. If you want to try it out before release, you can find the doc for installing it here.
We also launched a new tutorials page for our docs, our first tutorials are:
- Deploy a model with Kubernetes and Helm
- Deploy a model with Amazon SageMaker and AWS CloudFormation
- Get started with MAX Graph
- Create a custom op for an ONNX model
- Run an ONNX model with Python
Blogs, Tutorials, and Videos
- Talha published a LinkedIn blog on implementing Yolo in pure Mojo
- Learn about Debugging in Mojo🔥
- Chris Lattner presented at the AI Engineer World's Fair: Unlocking Developer Productivity across CPU and GPU with MAX
- Chris Lattner sat down with Primeagen to discuss Mojo and the history leading him into building the language.
- Check out the Mojo Community Meeting #4 and #5
- Read about our internal tool we made public for managing a stack of PRs: stack-pr
Awesome Mojo
You can discuss these projects with the creators in the Discord forum: # community-showcase
- TiliFe released the first ML framework with autodiff built on top of MAX: Endia. Check out how familiar the API is to both PyTorch and JAX developers (click the GIF to enlarge it):
- Frank released Mojo FFI bindings to blend2d
- Frank also released image manipulation libraries for Mojo: box_blur_mojo, haldcut-mojo
- Soren released Mojo FFI bindings to DuckDB
- Dmitry released a Mojo library for calling into io_uring on x86-64 linux: io_uring
- Krisztian built an Apache Arrow implementation in Mojo: firebolt
- Krisztian also released a GitHub action for installing Mojo: setup-mojo
- Ethan released a very fast MatMul implementation that outperforms Numpy in pure Mojo: matmul.mojo
- Toasty released a bound logger library for Mojo: stump
- Melody released a devcontainer for setting up Mojo with Neovim: mojo-nvim-devcontainer-cli
Open Source Contributions
Check out all the open source contributions here. make sure to DM Jack Clayton on Discord if you've had your first PR merged to claim some epic Mojo swag!
Check out the merged contributions this week from our valuable community members:
- leandrolcampos
- helehex
- soraros
- [stdlib] Use inferred-only in
rebind
- [stdlib] Fix argument convention for
iota
- [stdlib] Cleanup
polynomial.mojo
, improve docstring - [stdlib] fix
math.gcd
for negative numbers - [stdlib] Simplify several methods in the
UnsafePointer
struct - [stdlib] Modernise
Span.__[eq/ne]__
with latest conditional conformance support - [stdlib] Move to
EqualityComparableCollectionElement
- [stdlib] Use inferred-only in
- gabrieldemarmiesse
- jjvraw
- [stdlib] Remove obsolete
FIXME
- [stdlib] Extend tests for
SIMD.__pow__
- [stdlib] Remove
_div_ceil_positive
in favour ofmath.ceildiv
- [stdlib] Remove duplicate test from PR #3279
- [stdlib] Allow
!r
conversion flag inString.format
- [stdlib] Fix atol parsing for prefixed integer literals with leading underscores
- [stdlib]
__contains__
for ListLiteral
- [stdlib] Remove obsolete
- mzaks
- shayan-shams
- vguerra
- jiex-liu
- codingonion
- msaelices
- yinonburgansky
- kszucs
- martinvuyk
- [stdlib] Fix
String.splitlines
and test and move to string_slice - [stdlib] Add
Dict.get(key) -> Optional[T]
andDict.get(key, default) -> T
methods - [stdlib] Add is_valid_utf8 and test
- [stdlib] Fix
String.split()
and start fixingString.__len__()
- [stdlib] Add
SIMD.__contains__
- [stdlib] Move
String.isspace
and_StringIter
implementations toStringSlice
- [stdlib] Fix
- haifeng-jin
- rd4com
- YichengDWu
- jon-chuang
- bgreni
- MatveyF
- taylorpool