For years, the two most requested package requests for Juno have been PyTorch and TensorFlow. And although Juno 4.4 adds neither, it comes with the next best thing(s): full Keras with a lightning-fast MLX backend (letting you build and train entire ML pipelines on your device), MLX as a standalone API, and a complete toolkit to run AI models locally on your iPhone or iPad.

You can run LLM, embedding and text-to-image models straight from Hugging Face (in GGUF or MLX format), fine-tune them with LoRA, or do whatever else your heart desires. Juno 4.4 comes with five handy example projects to get you started, so that you can begin tinkering straight away—like running an LLM or a Stable Diffusion model locally, right on your iPad (or iPhone!).
Keras 3 ships with Juno, running on MLX backend—Apple’s array framework for Apple silicon—so the very same Keras code you would write on a laptop runs on your iPad: define the layers, compile, fit, etc. MLX itself is available as a standalone package too, together with mlx-lm, which loads the thousands of ready-converted models from Hugging Face’s mlx-community and fine-tunes them with LoRA adapters right on your device. The LoRA Fine-Tuning example teaches Qwen3 a made-up parcel-logging format in a few minutes, and shows the model’s answers before and after.
huggingface_hub, transformers, tokenizers and safetensors are built in as well, no need to install anything (transformers handles tokenizers, configs and chat templates; the models themselves run through mlx-lm or llama.cpp). Stable Diffusion runs the text-to-image pipeline on MLX—on a 4 GB iPad mini, the compact BK-SDM-Tiny model takes about 14 seconds for a 384×384 image. For language models there is llama-cpp-python, the Python bindings for llama.cpp: it runs GGUF models with Metal acceleration and streams replies word by word. You can start with a relatively small Qwen3-0.6B download, or drop in any other model as a .gguf file.
All of this comes as ready-to-run projects in Home’s new AI & ML section: Keras on MLX, LoRA Fine-Tuning, Stable Diffusion, Run LLMs Locally and RAG with Embeddings, which answers questions about your own .txt notes with a small embedding model and a local LLM—nothing leaves your device. Models download on the first run (each project tells you how big the download is and asks first) and work offline after that. The default models fit an iPhone or iPad with 4 GB of RAM, and there are larger options in each script that you can easily enable. Juno checks free memory before loading a model, and will tell you if it’s not likely to work (you can disable this). Downloads live in Files, in Juno’s huggingface folder, where you can manage them as any other files on disk.
Leaving the REPL no longer resets your session, so you can switch away and come back, picking up where you left off. pymunk (2D physics, handy for pygame) and audioop-lts packages are now bundled too, and on the security side, trusted root certificates are refreshed and a vulnerability in the bundled Brotli decoder (CVE-2026-111497) is fixed; plus the usual round of fixes and stability improvements.
Juno 4.4 is out now on the App Store. If something doesn’t work like you expected, or something doesn’t look right, please reach out via the issue tracker or ping me at [email protected].