feat: stop recording PyPI editable in lock file#5106
Merged
ruben-arts merged 10 commits intoprefix-dev:mainfrom Dec 11, 2025
Merged
feat: stop recording PyPI editable in lock file#5106ruben-arts merged 10 commits intoprefix-dev:mainfrom
ruben-arts merged 10 commits intoprefix-dev:mainfrom
Conversation
baszalmstra
approved these changes
Dec 10, 2025
baszalmstra
reviewed
Dec 11, 2025
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.
Description
Fixes #1123
I was figuring that the change to not record the editable for PyPI dependencies is quite easy, as we already knew no metadata changes between editable/non-editable. The change turned out to be pretty easy in the end and this just keeps the changes backwards compatible.
I think its safe to remove the satisfiability checks because we explicitly override the editable status before the installation. @baszalmstra what do you think?
So after this PR, we basically ignore the editable status for PyPI don't record it. Note, we do not remove the input hash just yet, we need this because the change to use the cached metadata will be more complex.
How Has This Been Tested?
I've manually user-tested this by changing editable/non-editable and checked if the lock file stayed identical and that the
.pthfile got added/removed.Also ran all examples to see if these kept working, that's why the lock file changed, got an error for an unrelated reason. Also, I run all the automated tests, and added the reproducer for the issue.
Docker example
@pavelzw also changed your docker example and manually tested if these editable/non-editable was correctly installed.
AI Disclosure
Tools: Opus 4.5
Checklist:
schema/model.py.