You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hey folks! I was taking a look at the remaining missing methods here and just put together a PR that adds from_dlpack to the array namespace. It looks like asarray(..., copy=True) was already handled recently. Let me know if you want me to tackle any of the other missing array-api methods!
Note that the array-api defines some ops that have dynamic output shape (for example nonzero and the set functions), which are not implementable with MLX at the moment, and we do not plan to include them.
There are also ops defined some optional parameters that would require new kernels to implement efficiently, which we also prefer to omit for now until there are real requests for them.
Having said this it seems that the open pull requests have already covered most of the missing ones, and I will close this issue once they are merged.
That all sounds very reasonable. Awesome to see DLPack support just landed (gh-3531), and asarray is present too now. With those, I suspect MLX will be supportable by SciPy, scikit-learn et al. without too much trouble. Dynamic shape-using functions like nonzero and unique_* are clearly marked in the array API standard, and optional (e.g., jax.jit also doesn't support them).
Activity
feat: add array API standard aliases for existing ops
Sahith59 commentedon Jun 22, 2026
Hey folks! I was taking a look at the remaining missing methods here and just put together a PR that adds from_dlpack to the array namespace. It looks like asarray(..., copy=True) was already handled recently. Let me know if you want me to tackle any of the other missing array-api methods!
zcbenz commentedon Jun 26, 2026
Note that the array-api defines some ops that have dynamic output shape (for example
nonzeroand the set functions), which are not implementable with MLX at the moment, and we do not plan to include them.There are also ops defined some optional parameters that would require new kernels to implement efficiently, which we also prefer to omit for now until there are real requests for them.
Having said this it seems that the open pull requests have already covered most of the missing ones, and I will close this issue once they are merged.
rgommers commentedon Jun 26, 2026
That all sounds very reasonable. Awesome to see DLPack support just landed (gh-3531), and
asarrayis present too now. With those, I suspect MLX will be supportable by SciPy, scikit-learn et al. without too much trouble. Dynamic shape-using functions likenonzeroandunique_*are clearly marked in the array API standard, and optional (e.g.,jax.jitalso doesn't support them).zcbenz commentedon Jul 1, 2026
Closing since we should have all the implementable ops included.