Skip to content

feat: stop recording PyPI editable in lock file#5106

Merged
ruben-arts merged 10 commits intoprefix-dev:mainfrom
tdejager:feat/remove-pypi-editable
Dec 11, 2025
Merged

feat: stop recording PyPI editable in lock file#5106
ruben-arts merged 10 commits intoprefix-dev:mainfrom
tdejager:feat/remove-pypi-editable

Conversation

@tdejager
Copy link
Contributor

@tdejager tdejager commented Dec 10, 2025

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 .pth file 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

  • This PR contains AI-generated content.
    • I have tested any AI-generated content in my PR.
    • I take responsibility for any AI-generated content in my PR.

Tools: Opus 4.5

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added sufficient tests to cover my changes.
  • I have verified that changes that would impact the JSON schema have been made in schema/model.py.

@tdejager tdejager changed the title feat: stop recording PyPI editable from lock file feat: stop recording PyPI editable in lock file Dec 10, 2025
@tdejager tdejager requested a review from nichmor December 10, 2025 17:04
Copy link
Contributor

@nichmor nichmor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ha! very cool!

@ruben-arts ruben-arts enabled auto-merge (squash) December 11, 2025 09:54
@ruben-arts ruben-arts merged commit 29409ae into prefix-dev:main Dec 11, 2025
38 checks passed
@uwu-420 uwu-420 mentioned this pull request Mar 16, 2026
8 tasks
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.

Non-editables and editables install cannot be combined in the same solve-group

4 participants