From 54a4a2b145601a4935858eb0944743270775d100 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 16 Jun 2026 11:16:06 -0400 Subject: [PATCH 1/4] TST: Pin test dependencies to exact versions; add dependabot pip monitoring Pin all unpinned test dependency specifiers in [dependency-groups] to exact versions (==) across cuda_bindings, cuda_core, and cuda_pathfinder. Also add pip ecosystem entries to dependabot.yml so PRs are opened when newer versions become available on PyPI. Co-Authored-By: Claude Sonnet 4.6 --- .github/dependabot.yml | 44 +++++++++++++++++++++++++++++++++- cuda_bindings/pyproject.toml | 16 ++++++------- cuda_core/pyproject.toml | 15 ++++++++---- cuda_pathfinder/pyproject.toml | 8 +++---- 4 files changed, 66 insertions(+), 17 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1a39f424f22..c70263671f1 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,9 +1,51 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 version: 2 updates: + # Python test-dependency updates for cuda_bindings + - package-ecosystem: pip + directory: /cuda_bindings + schedule: + interval: "monthly" + time: "09:00" + timezone: "America/Los_Angeles" + open-pull-requests-limit: 5 + groups: + test-deps: + applies-to: version-updates + patterns: ["*"] + update-types: ["major", "minor", "patch"] + + # Python test-dependency updates for cuda_core + - package-ecosystem: pip + directory: /cuda_core + schedule: + interval: "monthly" + time: "09:00" + timezone: "America/Los_Angeles" + open-pull-requests-limit: 5 + groups: + test-deps: + applies-to: version-updates + patterns: ["*"] + update-types: ["major", "minor", "patch"] + + # Python test-dependency updates for cuda_pathfinder + - package-ecosystem: pip + directory: /cuda_pathfinder + schedule: + interval: "monthly" + time: "09:00" + timezone: "America/Los_Angeles" + open-pull-requests-limit: 5 + groups: + test-deps: + applies-to: version-updates + patterns: ["*"] + update-types: ["major", "minor", "patch"] + # GitHub Actions updates targeting the default branch (main) - package-ecosystem: github-actions directory: / diff --git a/cuda_bindings/pyproject.toml b/cuda_bindings/pyproject.toml index d40984d6be4..d331ea27f44 100644 --- a/cuda_bindings/pyproject.toml +++ b/cuda_bindings/pyproject.toml @@ -45,15 +45,15 @@ all = [ [dependency-groups] test = [ "cython>=3.2,<3.3", - "setuptools>=77.0.0", + "setuptools>=80.0.0", # TODO: remove the Python 3.15 guard once 3.15 is officially supported - "matplotlib>=3.5.0; python_version < '3.15'", - "numpy>=1.21.1", - "pytest>=6.2.4", - "pytest-benchmark>=3.4.1", - "pytest-repeat", - "pytest-randomly", - "pyglet>=2.1.9", + "matplotlib==3.11.0; python_version < '3.15'", + "numpy==2.4.6", + "pytest==9.1.0", + "pytest-benchmark==5.2.3", + "pytest-repeat==0.9.4", + "pytest-randomly==4.1.0", + "pyglet==2.1.14", ] [project.urls] diff --git a/cuda_core/pyproject.toml b/cuda_core/pyproject.toml index 94424d8488e..3348c784298 100644 --- a/cuda_core/pyproject.toml +++ b/cuda_core/pyproject.toml @@ -59,11 +59,18 @@ cu13 = ["cuda-bindings[all]==13.*", "cuda-toolkit==13.*"] [dependency-groups] test = [ - "cython>=3.2,<3.3", "setuptools", "pytest>=6.2.4", "pytest-benchmark", - "pytest-randomly", "pytest-repeat", "pytest-rerunfailures", "pytest-timeout", - "cloudpickle", "psutil", + "cython>=3.2,<3.3", + "setuptools>=80", + "pytest==9.1.0", + "pytest-benchmark==5.2.3", + "pytest-randomly==4.1.0", + "pytest-repeat==0.9.4", + "pytest-rerunfailures==16.3", + "pytest-timeout==2.4.0", + "cloudpickle==3.1.2", + "psutil==7.2.2", # TODO: remove the Python 3.15 guard once 3.15 is officially supported - "cffi; python_version < '3.15'", + "cffi==2.0.0; python_version < '3.15'", ] ml-dtypes = ["ml-dtypes>=0.5.4,<0.6.0"] test-cu12 = [ {include-group = "ml-dtypes" }, {include-group = "test" }, "cupy-cuda12x; python_version < '3.14'", "cuda-toolkit[cudart]==12.*"] # runtime headers needed by CuPy diff --git a/cuda_pathfinder/pyproject.toml b/cuda_pathfinder/pyproject.toml index 9f0a955cc01..3015417fbbe 100644 --- a/cuda_pathfinder/pyproject.toml +++ b/cuda_pathfinder/pyproject.toml @@ -12,10 +12,10 @@ dependencies = [] [dependency-groups] test = [ - "pytest>=6.2.4", - "pytest-mock", - "pytest-repeat", - "pytest-randomly", + "pytest==9.1.0", + "pytest-mock==3.15.1", + "pytest-repeat==0.9.4", + "pytest-randomly==4.1.0", ] # Internal organization of test dependencies. cu12 = [ From 6681e6a055197d904c55f087189971de85ffdd71 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 16 Jun 2026 12:55:43 -0400 Subject: [PATCH 2/4] Move matplotlib down --- cuda_bindings/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cuda_bindings/pyproject.toml b/cuda_bindings/pyproject.toml index d331ea27f44..09d6360aa5b 100644 --- a/cuda_bindings/pyproject.toml +++ b/cuda_bindings/pyproject.toml @@ -47,7 +47,7 @@ test = [ "cython>=3.2,<3.3", "setuptools>=80.0.0", # TODO: remove the Python 3.15 guard once 3.15 is officially supported - "matplotlib==3.11.0; python_version < '3.15'", + "matplotlib==3.10.9; python_version < '3.15'", "numpy==2.4.6", "pytest==9.1.0", "pytest-benchmark==5.2.3", From d38fc9a26a3e69f6fce6ed9cd27f535d7350f977 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 16 Jun 2026 13:14:40 -0400 Subject: [PATCH 3/4] Move numpy back for Python 3.10 compat --- cuda_bindings/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cuda_bindings/pyproject.toml b/cuda_bindings/pyproject.toml index 09d6360aa5b..9cce1e9be63 100644 --- a/cuda_bindings/pyproject.toml +++ b/cuda_bindings/pyproject.toml @@ -48,7 +48,7 @@ test = [ "setuptools>=80.0.0", # TODO: remove the Python 3.15 guard once 3.15 is officially supported "matplotlib==3.10.9; python_version < '3.15'", - "numpy==2.4.6", + "numpy==2.2.6", "pytest==9.1.0", "pytest-benchmark==5.2.3", "pytest-repeat==0.9.4", From adc0e10632012ece6d07b6beecf5f9485e7b3975 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 16 Jun 2026 15:13:25 -0400 Subject: [PATCH 4/4] Loosen Numpy because of broad range of Python support required --- cuda_bindings/pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cuda_bindings/pyproject.toml b/cuda_bindings/pyproject.toml index 9cce1e9be63..eb308b8573e 100644 --- a/cuda_bindings/pyproject.toml +++ b/cuda_bindings/pyproject.toml @@ -47,8 +47,8 @@ test = [ "cython>=3.2,<3.3", "setuptools>=80.0.0", # TODO: remove the Python 3.15 guard once 3.15 is officially supported - "matplotlib==3.10.9; python_version < '3.15'", - "numpy==2.2.6", + "matplotlib; python_version < '3.15'", + "numpy", "pytest==9.1.0", "pytest-benchmark==5.2.3", "pytest-repeat==0.9.4",