mrkeyoor.com_
Wed 07 Oct 07:31 UTC
AI Toolsevaluationupdated 07 Oct 2026

laya-coreml review

Laya-CoreML runs specialized decision models locally on Apple Silicon and returns choices, scores, or yes/no probabilities instead of free-form text. It is for apps that need a small, predictable decision step without sending input to a hosted model API.

Verdict

Our laya-coreml run installed 60 packages and built successfully, but its 84-test suite ended with 6 failures and 2 errors, so adoption needs a Mac-side test run before you trust it. Use it when an Apple Silicon app needs typed local decisions and the 96-token ANE ceiling fits the job. Skip it when you need a portable server, tested iOS execution, or evidence that its probabilities are accurate for your data.

We ran it

Lab card: what happened when we ran laya-coremlScreenshot of laya-coreml (github.com/mizorewww/laya-coreml#readme)
Install✓ · 25s60 packages · 196 MB
Build✓ · 4s
Tests✗ · 13s76 passed · 6 failed · 2 errors of 84 (pytest)
Known vulns0(pip-audit)
Repo158 files~6,954 lines of source · 37.7 MB · 2 CI workflows · tests dir

Answers from our run

Does laya-coreml build from source?

Dependencies installed in 25 seconds (60 packages), and the build succeeded in 4 seconds. We cloned commit d855764 into a clean Debian container with 3 CPUs and no project-specific setup.

Do laya-coreml's tests pass?

Not all of them: 76 of 84 passed and 6 failed when we ran the project's own test command (pytest), with 2 collection errors. Some failures need services or credentials a bare container does not have.

Does laya-coreml have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use laya-coreml?

Linux or Windows production teams: the documented runtime requires Apple Silicon and macOS 15 or newer.

What are the alternatives to laya-coreml?

Laya MLX, Laya, coremltools. Our laya-coreml run installed 60 packages and built successfully, but its 84-test suite ended with 6 failures and 2 errors, so adoption needs a Mac-side test run before you trust it.

Setup2/525-second install, Mac-only runtime, and 8 non-passing tests
Docs5/5Clear limits, conversion records, offline steps, and failure notes
Community3/51,556 stars, an October push, and no open issues or PRs
Maturity3/5v0.2.0 is recent, but our complete suite did not pass

Who it’s for

Apple Silicon developers building local classification, scoring, or yes/no features.
Teams that want probabilities and typed answers instead of parsing generated text.
Core ML researchers who need recorded conversion choices, model hashes, and failure cases.
Developers who can test decisions on the exact Mac hardware and model bundle they will ship.

Who it’s NOT for

Linux or Windows production teams: the documented runtime requires Apple Silicon and macOS 15 or newer.
iPhone or iPad teams expecting a tested mobile path: the exports target iOS 18, but the usage guide says device execution was not tested.
Workloads that need long prompts on the Neural Engine: the short ANE bundles have a 96-token total limit and reject oversized requests.
Buyers who need calibrated application accuracy out of the box: the project validates conversion fidelity and warns that its probability estimates can be wrong.
Teams that require a clean fresh-container test gate: our run ended with 6 failures and 2 collection/setup errors.

Setup reality

Our Debian sandbox installed commit d855764 in 25 seconds, adding 60 packages and using 196 MB. The build passed in 4 seconds. Pytest failed after 13 seconds: 76 passed, 6 failed, and 2 collection/setup errors were reported across 84 tests.

The intended runtime needs Apple Silicon, macOS 15 or newer, Python 3.11 through 3.13, and a downloaded model bundle. No hosted inference credential is required. Hugging Face access is needed for the first remote download unless the files are already local.

Our container could check packaging and much of the suite, but it could not validate Mac inference hardware. The failure log names a missing PIL module in 6 Snake tests and setup errors in test_ane_layout.py and test_model.py; it does not show the causes of those 2 errors.

Three answer types replace generated text

Laya-CoreML takes a piece of state and a set of questions, then returns typed answers. A question can select a choice, produce an ordinal score, or answer yes or no with probabilities. There is no generated sentence to parse and the reported output-token count stays at zero. That makes the library appealing for a narrow step such as routing a support request or deciding whether a stated condition is present.

The design is more constrained than calling a chat model, which is the point. Our checkout had 158 files and about 6,954 lines of source, a small enough codebase to inspect. The runtime package depends on Core ML Tools, NumPy, Tokenizers, Hugging Face Hub, and Safetensors. PyTorch is reserved for the conversion extra, so ordinary inference does not pull in the original training stack.

The result still needs application checks. The documentation says the returned probability estimates can be wrong and describes its fixtures as conversion-fidelity tests, rather than proof that the model makes good decisions on new data. A matching Core ML port tells you that the port preserved the source model's answer. It does not tell you whether that answer is useful for refunds, moderation, or any other production decision.

What happened when we ran it

Our sandbox installed commit d855764 in 25 seconds. It pulled 60 packages, occupied 196 MB on disk, and completed the build in another 4 seconds. Pip-audit found 0 known vulnerabilities. The container was an unprivileged Debian environment with 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets. Those results cover installation and packaging, not Core ML inference on Apple hardware.

The test step failed after 13 seconds. Pytest reported 76 passing tests, 6 failures, and 2 collection/setup errors out of 84. All 6 named failures were Snake recording or replay cases, and each ended with ModuleNotFoundError: No module named 'PIL'. Pillow appears in the project's optional demo dependencies, while the core dependency list does not include it. The log establishes that PIL was unavailable during our run; it does not establish why the test environment omitted it.

The 2 errors came from tests/test_ane_layout.py and tests/test_model.py. The supplied log tail does not contain their exception details, so labeling them Core ML platform errors or missing system packages would be guesswork. The useful conclusion is narrower: most of the 84-test suite ran on fresh Debian, but commit d855764 did not give us a clean test result with the environment we used.

Apple Silicon and macOS 15 are hard runtime boundaries

The documented inference path requires Apple Silicon, macOS 15 or newer, and Python 3.11 through 3.13. Exported ML Programs target macOS 15 and iOS 18, though the usage guide says older macOS versions and iPhone or iPad execution have not been tested. A successful 4-second package build in Debian should not be mistaken for proof that a chosen model uses the Neural Engine correctly.

Model files come from Hugging Face or a local directory. After the first download, predictions can stay offline, and local_files_only=True prevents a remote fetch. The loader also handles a documented macOS problem with symbolic links in Hugging Face's shared cache by copying the Core ML package to a regular-file cache and checking its content hash. That second copy costs disk space, even though it avoids another download.

The 96-token ANE limit rules out many prompts

The short Neural Engine bundles accept 96 total input tokens, including the question, options, and state. Requests that exceed the exported capacity raise an error. A general multilingual package raises the ceiling to 1,024 tokens and uses CPU plus GPU instead. These are different deployment choices, so a quick ANE result cannot be stretched into a claim about long-context work.

There are 6 published checkpoint choices in the usage table, covering English, multilingual, typed-decision, Snake, and two short ANE variants. The project records weight hashes, source revisions, shapes, precision, tool versions, and file hashes for exports. Its conversion notes also retain failed shape and GPU experiments. That candor is useful: you can see which settings produced bad answers instead of assuming every Core ML compute-unit switch is safe.

Version 0.2.0 shipped five days before our run

GitHub recorded the latest push and the v0.2.0 release on October 2, 2026. The repository had 1,556 stars and 0 open issues or pull requests when we checked it. A current release and an empty queue show recent maintenance with no visible backlog. They do not provide much evidence about outside contributor activity, so the community score stays in the middle.

The release focuses on keeping this port aligned with upstream Laya behavior, including question validation, Unicode instructions, truncation reporting, and confidence fields. Its notes also say a reported mixed-question latency issue was not verified as fixed before closure. That sentence is a good picture of the project: careful about the boundary of its evidence, yet still young enough that you should reproduce the exact path you plan to ship.

Use it for a narrow Mac decision step

Laya-CoreML makes sense when you already know the question, need a typed local answer, and can validate it on the target Mac. The 25-second install and 196 MB environment are reasonable for a model runtime, while the failed 84-test run prevents an easy recommendation. Start with your own labeled decisions, pin the model revision, and make a green Apple Silicon run the acceptance gate. If the product needs Linux, long ANE prompts, or proven mobile execution, choose a different path before building around this API.

Alternatives

ProjectWhat it isPick it when
Laya MLX gh↗A sibling runtime for the same typed-decision idea using Apple's MLX framework.pick this instead when MLX fits your Mac stack better than exported Core ML packages.
Laya gh↗The upstream typed-decision engine and API that this Core ML port follows.pick this instead when upstream behavior matters more than a Core ML-specific runtime.
coremltoolsApple's general toolkit for converting, editing, and validating Core ML models.pick this instead when you need to convert your own model rather than adopt Laya's decision API.

What people are saying

  1. [velocity-scout] mizorewww/laya-coreml

Sources

  1. Laya-CoreML repository
  2. Laya-CoreML README
  3. Install and usage guide
  4. Conversion notes
  5. v0.2.0 release

More ai tools reviews

embodied-jev · underclass · minecraft-agent · CometixCode · openJev-verdict-2.0 · editaplot2026 · the whole board →