Skip the veryfasttree dependency entirely on macOS arm64 - #11
Merged
AlexWindels merged 1 commit intoAug 11, 2026
Merged
Conversation
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
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>
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #10 -- that fix only changed CANDy's runtime default, not the actual install-time dependency, so
pip install/uv tool installstill unconditionally requiredveryfasttreeand still failed the from-source build on macOS arm64 (confirmed by an actual failed install after upgrading to 3.0.3).Summary
sys_platform != 'darwin' or platform_machine != 'arm64') soveryfasttreeis 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).VeryFastTreeBuilder's import with a clear error message, since forcing--tree-tool veryfasttreeon arm64 Mac (where it's now legitimately not installed by default) would otherwise raise a rawModuleNotFoundError.Test plan
pytest-- 132 passedpython -m build, then inspected the built wheel's METADATA directly:Requires-Dist: veryfasttree>=4.0; sys_platform != "darwin" or platform_machine != "arm64"