Skip to content

fix: honour editable = true in transitive [tool.uv.sources] at install time - #6730

Merged
tdejager merged 2 commits into
prefix-dev:mainfrom
earlybard:feat/uv-sources-transitive-editable
Aug 4, 2026
Merged

fix: honour editable = true in transitive [tool.uv.sources] at install time#6730
tdejager merged 2 commits into
prefix-dev:mainfrom
earlybard:feat/uv-sources-transitive-editable

Conversation

@earlybard

@earlybard earlybard commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

What

editable = true on a path dependency's [tool.uv.sources] entry is now honoured when pixi installs the environment.

This is a follow-up to #6121: that fix resolves path dependencies with editable: None so a manifest declaration and a transitive [tool.uv.sources] entry can't conflict during the uv solve, and the lock file doesn't record editability at all. The side effect was that a transitive editable = true was silently dropped — uv honoured it while resolving, but the installed package was always non-editable unless the workspace manifest itself declared it editable.

How

Editability stays an install-time property, derived from what's declared on disk at that moment:

  1. The workspace manifest wins for packages it declares as path dependencies. A path spec without an editable key counts as non-editable, matching uv.
  2. For packages the manifest doesn't declare, pixi reads the locked path packages' own pyproject.tomls and applies their [tool.uv.sources] editable = true declarations.

The lookup is best-effort: installing from a lock skips resolution, so a pyproject.toml that is missing, has drifted since the solve, or uses a [tool.uv] schema this version of uv doesn't know is skipped, and the package installs non-editable exactly as it did before.

AI Disclosure

Written with Claude Opus + Fable, reviewed and edited by me.

earlybard and others added 2 commits July 31, 2026 00:11
…nstall time

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ruben-arts
ruben-arts requested a review from tdejager July 31, 2026 14:26
@tdejager
tdejager enabled auto-merge (squash) August 4, 2026 07:08
@tdejager
tdejager merged commit f26b3a4 into prefix-dev:main Aug 4, 2026
36 checks passed
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.

2 participants