Add nanobind 3.0 split-mode support - #4359
Conversation
Wheel release matrix
The The 13 existing |
50eee16 to
b794171
Compare
zcbenz
left a comment
There was a problem hiding this comment.
While the split-mode is very helpful for many projects, it does not really make much difference in MLX because we separate frontend/backend packages and the cost of publishing frontend package for every python version is very small for us.
So I think we can keep this open in case we need it some day, but at the moment I don't want to risk breaking things for almost no benefits.
Proposed changes
Update
nanobindto 3.0.0 and adoptnanobindsplit mode for regular python builds, using thenanobind-backendpackage.This change:
abi3frontend wheel per platformFREE_THREADEDmode and produces specificcp313tandcp314twheels, since those python releases do not provide a free-threaded Stable ABI so the official backend does not publish wheels for themThe public Python API and the existing
mlx-cpu,mlx-cuda, andmlx-metalpackage split remain unchanged.For context, see wjakob/nanobind discussion #1416.
Checklist
Put an
xin the boxes that apply.pre-commit run --all-filesto format my code / installed pre-commit prior to committing changes