aws-samples / aws-samples/sample-once-upon-agentic-ai
uv sync fails on Intel macOS: onnxruntime 1.29.0 has no x86_64 wheel (blocks Chapter 5)
- Dominant language
- Python
- Stars
- 58
- Forks
- 38
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
On Intel macOS, `uv sync` hard-fails resolving `onnxruntime==1.29.0` (pulled in transitively by
`chromadb`, used for the Chapter 5 knowledge base). That version has no macOS x86_64 wheel.
## Error
```
error: Distribution `onnxruntime==1.29.0` can't be installed because it doesn't have a source
distribution or wheel for the current platform
hint: You're on macOS (macosx_x86_64), but onnxruntime (v1.29.0) only has wheels for
manylinux..., macosx_14_0_arm64, win_...
```
## Environment
macOS Intel (x86_64), Python 3.13.5 (uv-managed), current main.
## Workaround that works
Installing with `uv pip install chromadb PyPDF2 ...` (instead of `uv sync`) resolves
`onnxruntime==1.23.2`, which does have an Intel-mac wheel, and Chapter 5 then builds the ChromaDB
knowledge base fine.
## Possible fixes (maintainers' call)
- Add a `tool.uv.required-environments` entry so uv resolves a wheel-compatible onnxruntime on
x86_64 macOS, or
- Note the limitation + workaround in the Chapter 5 / setup docs, or
- Constrain chromadb/onnxruntime to a version with x86_64 macOS wheels.
Apple Silicon and Linux are unaffected. Happy to open a PR once you decide the preferred approach.
Contributor guide
Research direction
Start by reproducing the failure with `uv sync` on Intel macOS and inspect the dependency resolution for `chromadb` and `onnxruntime==1.29.0`. Review the proposed `tool.uv.required-environments` configuration and the Chapter 5/setup documentation before choosing the maintainer-approved approach. Done means the chosen fix is documented or implemented, `uv sync` succeeds on x86_64 macOS, and Chapter 5 builds the ChromaDB knowledge base.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, developer-experience
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100