feat: support pip packages for no-build-isolation#4247
Merged
tdejager merged 11 commits intoprefix-dev:mainfrom Aug 4, 2025
Merged
Conversation
Contributor
|
Looking good, would you be able to document this behavior somewhere :)? |
Contributor
|
@pablovela5620 I believe a package that is causing a lot of problems is |
Contributor
Author
Done! |
tdejager
requested changes
Aug 4, 2025
Contributor
tdejager
left a comment
There was a problem hiding this comment.
Nice. Thanks for picking this up @Hofer-Julian, let's merge after tests succeed.
tdejager
approved these changes
Aug 4, 2025
charliermarsh
added a commit
to astral-sh/uv
that referenced
this pull request
Aug 15, 2025
## Summary This PR productionizes an idea I saw in #15248, which was added in Pixi: prefix-dev/pixi#4247. The core of the idea is that if we install all build isolation-enabled packages first, and the build isolation-disabled packages in a second phase, the sync is more likely to "just work", because if all the build dependencies of the build isolation-disabled packages are included as dependencies (as is the case for `flash-attn`, at least), they'll be present. This isn't really a silver bullet, because it requires that all the build dependencies are included as first-party dependencies, and if you have packages that want build isolation to be disabled but rely on other packages that also require build isolation disabled, that won't work either. I think `extra-build-dependencies` will be more robust and have much better caching behavior, but this will get more cases right than our current behavior, and I don't see any downsides. Closes #15301.
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.
Fixes #3223
The problem was that PyPI packages were not necessarily built when needed for other PyPI packages with
no-build-isolation. This PR splits the installation in two-step:no-build-isolationno-build-isolationpackages one by oneThis should make a few use cases possible that were unrelieable before