mlx-cv
MLX-native computer vision for Apple Silicon — an inference-only pipeline for current-generation detection, segmentation, depth, tracking, and text-prompted grounding.
Pre-alpha.
v0.0.3adds package-native Hugging Face loading for the verified BF16 LocateAnything-3B and SAM 3.1 runtimes. The public API may change without notice.
What is this?
mlx-cv provides one parity-tested way to run modern computer-vision models natively on Apple Silicon through MLX. Models return typed results for boxes, masks, points, depth, camera geometry, and tracks.
The library is inference-only and weight-agnostic. Code is MIT licensed; model weights are fetched separately and retain their original licenses.
Architecture spine
Result— one typed container for detections, masks, points, depth, cameras, tracks, and video results.SpatialTransform— deterministic coordinate and dense-output mapping back to the original input.- Registry — model, vision-backbone, language-backbone, and head builders with plugin entry points.
- Ops and transforms — box, coordinate, sampling, resize, and letterbox primitives.
- Parity harness — committed fixtures plus required real-checkpoint gates that distinguish PASS from an external blocker.
Full design: docs/ARCHITECTURE.md.
Installation
pip install mlx-cv
The top-level spine remains import-light. Install the optional MLX runtime to execute model families on Apple Silicon:
pip install "mlx-cv[mlx]"
Requires Python 3.13+. Model execution requires an MLX-supported environment.
Install the Hub extra to resolve App Automaton aliases or exact Hugging Face repository IDs:
pip install "mlx-cv[mlx,hub]==0.0.3"
Local package directories work without a network lookup. Hub downloads are revision-aware, honor HF_HUB_OFFLINE=1, and never execute remote model code.
Published MLX weights
| Alias | Hugging Face repository | Precision | License |
|---|---|---|---|
locateanything-3b-bf16 |
appautomaton/locateanything-3b-bf16-mlx |
BF16, unquantized | NVIDIA non-commercial |
sam3.1 |
appautomaton/sam3.1-multiplex-bf16-mlx |
BF16, unquantized | SAM License |
The repository links become live after the 0.0.3 publication checkpoint.
from mlx_cv.models.locateanything import LocateAnythingPipeline
from mlx_cv.models.sam3 import SAM3Processor, SAM3VideoSession
locate = LocateAnythingPipeline.from_pretrained("locateanything-3b-bf16")
grounding = locate.predict(image, "find every traffic sign")
sam_image = SAM3Processor.from_pretrained("sam3.1")
segments = sam_image.predict(image, "traffic sign")
sam_video = SAM3VideoSession.from_pretrained("sam3.1")
Model status
The canonical release-parity matrix is .agent/work/2026-06-16-release-parity-hardening/parity-status.json.
| Family | Current status |
|---|---|
| LocateAnything-3B | UPSTREAM_PASSED — 769/769 converted parameters, decoded boxes/points, and selected taps matched the real upstream checkpoint. |
| RF-DETR Nano | UPSTREAM_PASSED — real COCO checkpoint gate passed with recorded MD5 provenance. |
| Depth Anything V3 | UPSTREAM_PASSED for DA3-SMALL multi-view depth, confidence, cameras, and selected taps; monocular and processor paths also have committed coverage. |
| SAM 3.1 image | UPSTREAM_PASSED — official detector on MLX Metal BF16 reached mask IoU 0.999618, box error 0.1626px, and score error 0.001305. |
| SAM 3.1 video / Object Multiplex | UPSTREAM_PASSED — exact 457-tensor tracker, official MPS component captures, and real MLX Metal propagation passed; multiplex mask IoU was 0.99215. |
Normal checkpoint-less CI keeps external gates as honest skips or blocker records. It does not infer upstream parity from local fixtures.
Forward work
- Admit EoMT-DINOv3 through a bounded real-checkpoint gate.
See .agent/steering/ROADMAP.md for the current phase contract.
0.0.3 release notes
- Added final-layout BF16 Safetensors contracts for LocateAnything-3B and the combined SAM 3.1 detector/Object Multiplex tracker.
- Added local path, exact Hugging Face ID, alias, revision, cache, and offline resolution.
- Added self-contained LocateAnything, SAM image, and SAM video
from_pretrainedentry points. - Added reproducible model-package staging, SHA256 manifests, tracked model cards, license bundling, safe sequential upload, and remote verification tooling.
- Preserved the measured SAM 3.1 Metal parity results and the four-image LocateAnything BF16 regression baseline.
License
MIT © AppAutomaton — code only. LocateAnything weights use NVIDIA's non-commercial license; RF-DETR N–L weights are Apache-2.0; DA3-SMALL/BASE weights are Apache-2.0; SAM weights use the SAM license.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mlx_cv-0.0.3.tar.gz.
File metadata
- Download URL: mlx_cv-0.0.3.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
807d7b37e154457cae64c283fd88f12718824952e95cbe4ece5898785941e854
|
|
| MD5 |
526884cdf047057f5b94f4af2594a336
|
|
| BLAKE2b-256 |
ec30596f7a10c3affe4dc69c3a51e26b9b9f8fb32d0e950702ea070d780f9d24
|
Provenance
The following attestation bundles were made for mlx_cv-0.0.3.tar.gz:
Publisher:
workflow.yml on appautomaton/mlx-cv
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mlx_cv-0.0.3.tar.gz -
Subject digest:
807d7b37e154457cae64c283fd88f12718824952e95cbe4ece5898785941e854 - Sigstore transparency entry: 2195499874
- Sigstore integration time:
-
Permalink:
appautomaton/mlx-cv@9ee11d2f9278204f458fb9ba439f0a3dc454f6d2 -
Branch / Tag:
refs/tags/v0.0.3 - Owner: https://github.com/appautomaton
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@9ee11d2f9278204f458fb9ba439f0a3dc454f6d2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mlx_cv-0.0.3-py3-none-any.whl.
File metadata
- Download URL: mlx_cv-0.0.3-py3-none-any.whl
- Upload date:
- Size: 211.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e60f6e6e9959f1847b4b74b47c658cfa63ebb7b1d4764fb55bdfeac8474be97b
|
|
| MD5 |
37f9a4f589b120218655de2e6aafdea2
|
|
| BLAKE2b-256 |
8d245c230cffe4b5581872b2f2145a9918ffb4a2112bf4b5cdf4f0cf3a2a0eda
|
Provenance
The following attestation bundles were made for mlx_cv-0.0.3-py3-none-any.whl:
Publisher:
workflow.yml on appautomaton/mlx-cv
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mlx_cv-0.0.3-py3-none-any.whl -
Subject digest:
e60f6e6e9959f1847b4b74b47c658cfa63ebb7b1d4764fb55bdfeac8474be97b - Sigstore transparency entry: 2195499894
- Sigstore integration time:
-
Permalink:
appautomaton/mlx-cv@9ee11d2f9278204f458fb9ba439f0a3dc454f6d2 -
Branch / Tag:
refs/tags/v0.0.3 - Owner: https://github.com/appautomaton
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@9ee11d2f9278204f458fb9ba439f0a3dc454f6d2 -
Trigger Event:
release
-
Statement type: