From 90d80e2886ab0e2f9d7d9ecbdd847c0fa0d5449d Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Wed, 28 Oct 2026 16:10:55 -0700 Subject: [PATCH 1/2] Add build dependency groups for editable development --- cuda_bindings_13/pyproject.toml | 10 ++++++++-- cuda_core/pyproject.toml | 10 ++++++++-- cuda_pathfinder/pyproject.toml | 8 ++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/cuda_bindings_13/pyproject.toml b/cuda_bindings_13/pyproject.toml index 59ebdf93f78..4594aa407d8 100644 --- a/cuda_bindings_13/pyproject.toml +++ b/cuda_bindings_13/pyproject.toml @@ -1,6 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2023-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 [build-system] +# Keep the external tools in sync with dependency-groups.build. requires = [ "setuptools>=80.0.0", "setuptools_scm[simple]>=8,!=10.1", @@ -42,9 +43,14 @@ all = [ ] [dependency-groups] -test = [ - "cython>=3.2.5,<3.3", +# Keep build in sync with build-system.requires; install local cuda-pathfinder separately. +build = [ "setuptools>=80.0.0", + "setuptools_scm[simple]>=8,!=10.1", + "cython>=3.2.5,<3.3", +] +test = [ + { include-group = "build" }, "numpy>=1.21.1", "pytest==9.1.0", "pytest-benchmark==5.2.3", diff --git a/cuda_core/pyproject.toml b/cuda_core/pyproject.toml index e850dadacfe..5325c751d1e 100644 --- a/cuda_core/pyproject.toml +++ b/cuda_core/pyproject.toml @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 [build-system] +# Keep the external tools in sync with dependency-groups.build. requires = [ "setuptools>=80", "setuptools-scm[simple]>=8,!=10.1", @@ -62,9 +63,14 @@ cu12 = ["cuda-bindings[all]>=12.9.8,<13", "cuda-toolkit==12.*"] cu13 = ["cuda-bindings[all]>=13.4.1,<14", "cuda-toolkit==13.*"] [dependency-groups] -test = [ - "cython>=3.2.5,<3.3", +# Keep build in sync with build-system.requires; install local cuda-pathfinder separately. +build = [ "setuptools>=80", + "setuptools-scm[simple]>=8,!=10.1", + "Cython>=3.2.5,<3.3", +] +test = [ + { include-group = "build" }, "pytest==9.1.0", "pytest-benchmark==5.2.3", "pytest-randomly==4.1.0", diff --git a/cuda_pathfinder/pyproject.toml b/cuda_pathfinder/pyproject.toml index 00a6f60bb1f..32d4948a0b9 100644 --- a/cuda_pathfinder/pyproject.toml +++ b/cuda_pathfinder/pyproject.toml @@ -11,7 +11,14 @@ dynamic = ["version", "readme"] dependencies = [] [dependency-groups] +# Keep build in sync with build-system.requires. +build = [ + "setuptools>=80.0.0", + "setuptools_scm[simple]>=8,!=10.1", + "wheel", +] test = [ + { include-group = "build" }, "pytest==9.1.0", "pytest-mock==3.15.1", "pytest-repeat==0.9.4", @@ -93,6 +100,7 @@ packages = { find = { include = ["cuda*"] } } readme = { file = ["DESCRIPTION.rst"], content-type = "text/x-rst" } [build-system] +# Keep requires in sync with dependency-groups.build. requires = [ "setuptools>=80.0.0", "setuptools_scm[simple]>=8,!=10.1", From 7f171e8e5ec1c748c3dde2223fa728d60de4964f Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Wed, 28 Oct 2026 18:32:49 -0700 Subject: [PATCH 2/2] Keep test dependencies independent of build tooling Restore the original test groups while retaining explicit build groups for editable development without build isolation. Test environments keep their existing requirements without gaining package build tools. Signed-off-by: Ralf W. Grosse-Kunstleve --- cuda_bindings_13/pyproject.toml | 3 ++- cuda_core/pyproject.toml | 3 ++- cuda_pathfinder/pyproject.toml | 1 - 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cuda_bindings_13/pyproject.toml b/cuda_bindings_13/pyproject.toml index 4594aa407d8..471fa0ee45c 100644 --- a/cuda_bindings_13/pyproject.toml +++ b/cuda_bindings_13/pyproject.toml @@ -50,7 +50,8 @@ build = [ "cython>=3.2.5,<3.3", ] test = [ - { include-group = "build" }, + "cython>=3.2.5,<3.3", + "setuptools>=80.0.0", "numpy>=1.21.1", "pytest==9.1.0", "pytest-benchmark==5.2.3", diff --git a/cuda_core/pyproject.toml b/cuda_core/pyproject.toml index 5325c751d1e..160c437a25a 100644 --- a/cuda_core/pyproject.toml +++ b/cuda_core/pyproject.toml @@ -70,7 +70,8 @@ build = [ "Cython>=3.2.5,<3.3", ] test = [ - { include-group = "build" }, + "cython>=3.2.5,<3.3", + "setuptools>=80", "pytest==9.1.0", "pytest-benchmark==5.2.3", "pytest-randomly==4.1.0", diff --git a/cuda_pathfinder/pyproject.toml b/cuda_pathfinder/pyproject.toml index 32d4948a0b9..904463b7022 100644 --- a/cuda_pathfinder/pyproject.toml +++ b/cuda_pathfinder/pyproject.toml @@ -18,7 +18,6 @@ build = [ "wheel", ] test = [ - { include-group = "build" }, "pytest==9.1.0", "pytest-mock==3.15.1", "pytest-repeat==0.9.4",