cuda-python icon indicating copy to clipboard operation
cuda-python copied to clipboard

Update `pyproject.toml` for `uv`

Open leofang opened this issue 2 months ago • 1 comments

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" },
    ]
]

leofang avatar Nov 17 '25 18:11 leofang