Skip to content

Update pyproject.toml for uv #1247

@leofang

Description

@leofang

Capturing feedbacks provided by @xiakun-lu offline.

The NCCL team noticed that uv sync complains nccl4py[cu12] and nccl4py[cu13] are incompatible (uv venv && uv pip install -e . works out of box):

[project.optional-dependencies]
cu12 = [
    "nvidia-nccl-cu12",
    "cuda-bindings~=12.0",
]
cu13 = [
    "nvidia-nccl-cu13",
    "cuda-bindings~=13.0",
]

With CPython 3.14.0:

Creating virtual environment at: .venv
  × No solution found when resolving dependencies for split (markers: python_full_version >= '3.13'):
  ╰─:arrow_forward: Because nccl4py[cu13] depends on cuda-bindings>=13.0,<14.dev0 and nccl4py[cu12] depends on cuda-bindings>=12.0,<13.dev0, we can conclude that nccl4py[cu12] and nccl4py[cu13] are incompatible.
      And because your project requires nccl4py[cu12] and nccl4py[cu13], we can conclude that your project's requirements are unsatisfiable.

It can be fixed by adding this configuration:

[tool.uv]
conflicts = [
    [
        { extra = "cu12" },
        { extra = "cu13" },
    ]
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    cuda.bindingsEverything related to the cuda.bindings modulecuda.coreEverything related to the cuda.core modulesupportAll things related to the project that can't be categorizedtriageNeeds the team's attention

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions