infer-actively/pymdp

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

开放

#385 创建于 2026年3月31日

 (2 条评论) (0 个反应) (0 位负责人)Python (134 个派生)auto 404
dependenciesdocumentationhelp wanted

仓库指标

星标
 (720 个星标)
PR 合并指标
 (平均合并 6天 3小时) (30 天内合并 3 个 PR)

描述

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.

贡献者指南