Apple Silicon ML, without Python.
Thin, explicit Go bindings for Apple's MLX array framework: arrays, autograd, neural-network layers, optimizers, and compiled graphs, as single static binaries. Apple Silicon first; Linux CUDA is supported for selected workflows.
Pre-1.0. Source private today, available for review on request. The core packages are the intended v1.0.0 compatibility surface. Used in production by skiff for local inference.
What it does- Core MLX runtime — arrays, lazy evaluation, autograd, and compiled graphs, exposed as small Go packages (
mlx,mlx/nn,mlx/optimizer,mlx/compile,mlx/fast). - No C toolchain — binds the MLX libraries through
puregoFFI via apple. Single static binary, no cgo in the build. - Model I/O — streaming safetensors reading and writing, weight discovery, and quantized-weight handling.
- Conventions kept — layers, optimizers, and fused fast-path kernels track the upstream Python and Swift MLX conventions, so ports stay legible.
- Profiling hooks — GPU trace capture that pairs with gputrace for source-level Metal attribution.
mlx-go provides the array runtime and stops there. Language models live in mlx-go-lm, distributed-training math in mlx-go-ccl, and transport in mlx-go-iroh. skiff uses the runtime for local inference without deploying Python; mlx-go-iroh is the only one of these modules published and tagged on GitHub today.
Related modules- mlx-go-lm — language models: inference, chat, serving, and training. Pre-1.0.
- mlx-go-iroh — the mesh transport substrate. Open source, tagged v0.3.0.
- mlx-go-ccl — collective communication and the DiLoCo outer loop. Experimental.
- mlx-go-ane — Apple Neural Engine execution paths. Open-source experiment.
- mlx-go-fedistill — delta-only federated distillation rounds. Research.
- mlx-go-tallytrain — federated distillation by one-byte votes. Research.
- mlx-go-vibethinker — the VibeThinker post-training recipe, reproduced. Open source.
- mlx-go-sia — the SIA self-improving-agent loop, ported. Open source.
source private repo, available for review on request — travis@tmc.dev
docs in progress
contact travis@tmc.dev