Support both ninja python package and ninja_syntax + system ninja#2
Closed
lllangWV wants to merge 0 commit intoFindDefinition:masterfrom
Closed
Support both ninja python package and ninja_syntax + system ninja#2lllangWV wants to merge 0 commit intoFindDefinition:masterfrom
lllangWV wants to merge 0 commit intoFindDefinition:masterfrom
Conversation
10 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.
Summary
Add fallback import for
ninja_syntaxto support both the ninja Python package and system-installed ninja, enabling conda-forge compatibility.Motivation
I'm working to add
spconvto conda-forge, which requires the following dependency chain:spconv→cumm→pccm→ccimport→ninja(python-ninja)The
ninja-pythonpackage on PyPI vendors its own compiled version of ninja, which violates conda-forge's policy against vendoring. This preventsccimportfrom being added to conda-forge in its current form.Changes
Modified the import statement to try importing from the ninja Python package first, then fall back to system ninja's
ninja_syntaxmodule:This allows
ccimportto work with:Benefits
ccimportto be packaged for conda-forgepccm,cumm, and ultimatelyspconvRelated Issues
This addresses the conda-forge policy requirement that packages should use system dependencies when available rather than vendored versions.