Skip to main content

mlx-cv

MLX-native computer vision for Apple Silicon — an inference-only pipeline for current-generation detection, segmentation, depth, tracking, and text-prompted grounding.

PyPI Python License: MIT

Pre-alpha. v0.0.3 adds 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

  1. 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_pretrained entry 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

mlx_cv-0.0.3.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mlx_cv-0.0.3-py3-none-any.whl (211.4 kB view details)

Uploaded Python 3

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

Hashes for mlx_cv-0.0.3.tar.gz
Algorithm Hash digest
SHA256 807d7b37e154457cae64c283fd88f12718824952e95cbe4ece5898785941e854
MD5 526884cdf047057f5b94f4af2594a336
BLAKE2b-256 ec30596f7a10c3affe4dc69c3a51e26b9b9f8fb32d0e950702ea070d780f9d24

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlx_cv-0.0.3.tar.gz:

Publisher: workflow.yml on appautomaton/mlx-cv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for mlx_cv-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e60f6e6e9959f1847b4b74b47c658cfa63ebb7b1d4764fb55bdfeac8474be97b
MD5 37f9a4f589b120218655de2e6aafdea2
BLAKE2b-256 8d245c230cffe4b5581872b2f2145a9918ffb4a2112bf4b5cdf4f0cf3a2a0eda

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlx_cv-0.0.3-py3-none-any.whl:

Publisher: workflow.yml on appautomaton/mlx-cv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page