Skip to content

Skip the veryfasttree dependency entirely on macOS arm64 - #11

Merged
AlexWindels merged 1 commit into
mainfrom
fix/skip-veryfasttree-dependency-on-arm64-macos
Aug 11, 2026
Merged

Skip the veryfasttree dependency entirely on macOS arm64#11
AlexWindels merged 1 commit into
mainfrom
fix/skip-veryfasttree-dependency-on-arm64-macos

Conversation

@AlexWindels

Copy link
Copy Markdown
Collaborator

Follow-up to #10 -- that fix only changed CANDy's runtime default, not the actual install-time dependency, so pip install/uv tool install still unconditionally required veryfasttree and still failed the from-source build on macOS arm64 (confirmed by an actual failed install after upgrading to 3.0.3).

Summary

  • Add a PEP 508 environment marker (sys_platform != 'darwin' or platform_machine != 'arm64') so veryfasttree is skipped entirely at install time on macOS arm64, instead of being resolved/built and failing. Verified in the actual built wheel's METADATA. Still installs normally everywhere else (Windows, Linux, Intel Mac, and Rosetta-translated x86_64 Python all have a real prebuilt wheel -- no source build involved for any of them).
  • Guard VeryFastTreeBuilder's import with a clear error message, since forcing --tree-tool veryfasttree on arm64 Mac (where it's now legitimately not installed by default) would otherwise raise a raw ModuleNotFoundError.

Test plan

  • pytest -- 132 passed
  • python -m build, then inspected the built wheel's METADATA directly: Requires-Dist: veryfasttree>=4.0; sys_platform != "darwin" or platform_machine != "arm64"
  • Reviewer: confirm CI passes on this PR

The previous fix (#10) only changed which tree tool CANDy *selects at
runtime* by default -- it never touched the actual package dependency
declaration, which still unconditionally required veryfasttree for
every platform. pip/uv resolves and builds dependencies before a
single line of CANDy's own code runs, so the runtime default never
got a chance to matter: `pip install`/`uv tool install` itself was
still failing trying to build veryfasttree from source on arm64 Macs,
confirmed by a real install attempt after upgrading to 3.0.3.

Add a PEP 508 environment marker so the dependency is skipped entirely
on macOS arm64 (no wheel exists there anyway, and CANDy already
defaults away from it there) while still installing normally
everywhere else, including Intel Mac and Rosetta-translated x86_64
Python (both have a real wheel, no source build involved). Also guard
VeryFastTreeBuilder's import so forcing --tree-tool veryfasttree where
it's now legitimately absent raises a clear, actionable error instead
of a raw ModuleNotFoundError.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@AlexWindels
AlexWindels merged commit 42fe090 into main Aug 11, 2026
6 checks passed
@AlexWindels
AlexWindels deleted the fix/skip-veryfasttree-dependency-on-arm64-macos branch August 11, 2026 07:56
AlexWindels pushed a commit that referenced this pull request Aug 11, 2026
Patch release: veryfasttree is now skipped entirely at install time on
macOS arm64 (PEP 508 marker), fixing the from-source build failure that
survived 3.0.3's runtime-only fix (#11).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.

1 participant