infer-actively/pymdp

`uv sync --group test` fails on Intel macOS by resolving unsupported jaxlib wheels

オープン

#385 opened on 2026/03/31

 (2 件のコメント) (0 件のリアクション) (0 人の担当者)Python (134 件のフォーク)auto 404
dependenciesdocumentationhelp wanted

Repository metrics

Stars
 (720 個のスター)
PR merge metrics
 (平均マージ 6d 3h) (30d で 3 merged PRs)

説明

Summary

On Intel macOS, the recommended contributor setup currently fails:

uv venv .venv
source .venv/bin/activate
uv sync --group test

@gpagnon reported that uv sync --group test tries to install a recent jaxlib release that does not provide Intel-macOS wheels.

Recent jaxlib releases only publish macOS wheels for arm64, not Intel macOS (x86_64).

I reproduced the resolution failure for Intel macOS with:

uv sync --group test --python-platform x86_64-apple-darwin --dry-run

On the v1.0.0 tag this resolves to jaxlib==0.9.2 and fails because no Intel-macOS wheel exists.

On current main, the committed lockfile similarly fails on Intel macOS because it pins jaxlib==0.9.1, which also has no Intel-macOS wheel.

The package itself may still work on Intel Macs if resolution lands on the last compatible JAX line

Why this matters

The docs currently recommend uv sync --group test as the standard setup, so Intel-macOS users are led into a failing installation path even though core pymdp usage may still be possible.

Possible fixes

A few possible directions:

  • Document Intel macOS as a constrained / best-effort platform and provide an explicit fallback install path.
  • Add dependency markers or constraints so Intel macOS resolves to a compatible JAX/JAXlib version (likely <0.5).
  • Adjust the uv locking strategy so Intel macOS is considered during resolution.

Additional note

After forcing older JAX in a temporary checkout, I hit a further Intel-macOS wheel issue in the test stack (torch, via transitive dependencies such as pybefit), so a full fix may need to look beyond JAX alone.

コントリビューターガイド