-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Workspace members with conflicts have empty uv export output #18608
Copy link
Copy link
Labels
bugSomething isn't workingSomething isn't working
Description
Summary
Workspace members that are listed in a tools.uv.conflicts entry with another workspace member get an empty file from running uv export --package <member>.
MRE:
- Create a new uv project and cd into it:
uv init test_proj && cd test_proj - Create 2 new workspace members:
uv init chrononanduv init thrifter - Mark the two workspace members as conflicting in
pyproject.toml:
[tool.uv]
conflicts = [
[
{ package = "chronon" },
{ package = "thrifter" },
],
]
- Add
chronon-aitochronon:uv add --package chronon 'chronon-ai==0.0.109'
(This is the latest released version of chronon, and this specific example goes away if chronon upgrades theirthriftdependency.) - Add
thrifttothrifter:uv add --package thrifter 'thrift>0.15' - There is now a dependency conflict between the workspace members:
chronon-airequiresthrift<0.14andthrifterrequiresthrift>0.15. - Run
uv export --package chrononanduv export --package thrifter. Observe the empty output for both.
For additional steps, you could add a new workspace member (uv init safe), add a non-conflicting dep to it (uv add --package safe click, for example), and then export it (uv export --package safe) and see it does have real output.
Platform
Darwin 24.6.0 arm64
Version
uv 0.10.4 (Homebrew 2026-02-17)
Python version
Python 3.13.12
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working