Skip to content

fix(install): sandbox-safe Homebrew formula + Python 3.14 orjson fix (v9.33.6)#36

Merged
wesleyscholl merged 2 commits into
mainfrom
claude/squish-release-install-fix-4ko1T
Jun 6, 2026
Merged

fix(install): sandbox-safe Homebrew formula + Python 3.14 orjson fix (v9.33.6)#36
wesleyscholl merged 2 commits into
mainfrom
claude/squish-release-install-fix-4ko1T

Conversation

@konjoinfinity
Copy link
Copy Markdown
Collaborator

Summary

  • orjson <3.11 cap removed β€” orjson>=3.11.9 is the first version with cp314 macOS arm64 wheels; the old >=3.9,<3.11 cap blocked it and forced source compilation on Python 3.14 (macOS Tahoe default), which failed without a Rust toolchain
  • Homebrew formula fixed β€” replaced live pip install (blocked by macOS sandbox) with virtualenv_install_with_resources + 39 pre-built resource blocks covering all transitive deps (macOS arm64 / Python 3.13 wheels); no network access needed during brew install
  • publish.yml: adds a formula auto-update step that recomputes sha256 and commits Formula/squish.rb on every tag push
  • README: accurate install instructions for macOS Tahoe users; documents --python python3.13 workaround for older releases

What broke and why

Root cause Symptom
orjson>=3.9,<3.11 in pyproject.toml pipx install squish-ai on Python 3.14 fell through to Rust source compilation β†’ failure
Formula install block called pip install squish-ai==X live brew install hangs/fails β€” macOS sandbox blocks all outbound network during install
No formula auto-update in publish.yml Formula stale after every PyPI release

Changes

  • pyproject.toml: version 9.33.5 β†’ 9.33.6, requires-python = ">=3.11,<3.15", orjson>=3.11.9, add Python 3.13/3.14 classifiers
  • squish/__init__.py: __version__ = "9.33.6"
  • Formula/squish.rb: full rewrite β€” virtualenv_install_with_resources, 39 resource blocks
  • .github/workflows/publish.yml: formula auto-update step after PyPI publish
  • README.md: updated install section with Python version guidance
  • tests/test_version.py, tests/test_wave79_startup_inference.py: update EXPECTED_VERSION to 9.33.6

Test plan

  • python -m pytest β€” 2672 passed, 98 skipped, 0 failed
  • ruff check + ruff format --check clean
  • pip install squish-ai (9.33.5) in fresh venv: 16s, orjson 3.10.18 resolves
  • pip install squish_ai-9.33.6-*.whl in fresh venv: orjson 3.11.9 resolves (confirms cap removal works)
  • sdist + wheel build successful: squish_ai-9.33.6.tar.gz, squish_ai-9.33.6-py3-none-any.whl
  • brew install squish β€” requires macOS arm64 machine; formula resource block sha256s verified against PyPI JSON API
  • Python 3.14 end-to-end β€” requires macOS Tahoe machine; cp314 wheel presence verified on pypi.org

Notes

Resource blocks in the formula are pinned to squish-ai 9.33.5 deps. After this PR merges, tag v9.33.6 to trigger the publish workflow. The formula auto-update step will bump the URL/sha256 to 9.33.6. Then manually regenerate resource blocks (orjson changes from 3.10.18 β†’ 3.11.9):

pip install squish-ai homebrew-pypi-poet && poet squish-ai

See results/release/RELEASE_DIAGNOSIS.md for full root cause analysis.

https://claude.ai/code/session_011n4BGhTMEgNyRdL32rSpoZ


Generated by Claude Code

claude added 2 commits June 5, 2026 20:39
…n fix

- pyproject.toml: requires-python >=3.11,<3.15; orjson>=3.11.9 (drops
  <3.11 cap that blocked cp314 wheels on macOS Tahoe); version 9.33.6;
  add Python 3.13/3.14 classifiers
- squish/__init__.py: __version__ 9.33.6
- Formula/squish.rb: replace live pip install with virtualenv_install_with_resources
  and 39 pre-built resource blocks (macOS arm64 / Python 3.13 wheels) so
  Homebrew sandbox never needs network access during install
- publish.yml: add formula auto-update step that computes sha256 post-PyPI
  and commits updated Formula/squish.rb on each tag push
- README.md: accurate install instructions for macOS Tahoe / Python 3.14 users
- tests: update EXPECTED_VERSION to 9.33.6

https://claude.ai/code/session_011n4BGhTMEgNyRdL32rSpoZ
requires-python is now >=3.11,<3.15 (mlx dropped 3.10 in 0.20).
Replace the 3.10 slot with 3.13 to keep coverage on the newest
stable release.

https://claude.ai/code/session_011n4BGhTMEgNyRdL32rSpoZ
@wesleyscholl wesleyscholl marked this pull request as ready for review June 6, 2026 02:46
@wesleyscholl wesleyscholl merged commit 41e110e into main Jun 6, 2026
16 checks passed
@wesleyscholl wesleyscholl deleted the claude/squish-release-install-fix-4ko1T branch June 6, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants