33# SPDX-License-Identifier: Apache-2.0
44
55[build-system ]
6- requires = [" setuptools>=77.0.0" , " Cython>=3.0 " ]
6+ requires = [" setuptools>=77.0.0" , " Cython>=3.1 " ]
77build-backend = " setuptools.build_meta"
88
99
@@ -48,9 +48,17 @@ dependencies = [
4848[project .optional-dependencies ]
4949cu11 = [" cuda-bindings[all]==11.8.*" ]
5050cu12 = [" cuda-bindings[all]==12.*" ]
51- test = [" cython>=3.0" , " setuptools" , " pytest>=6.2.4" ]
52- test-cu11 = [" cuda-core[test]" , " cupy-cuda11x" , " nvidia-cuda-runtime-cu11" ] # runtime headers needed by CuPy
53- test-cu12 = [" cuda-core[test]" , " cupy-cuda12x" , " nvidia-cuda-runtime-cu12" ] # runtime headers needed by CuPy
51+ cu13 = [" cuda-bindings[all]==13.*" ]
52+ # TODO: these should all be in development dependencies; optional dependencies
53+ # are for features exposed to *users*, not a dumping ground for all tooling
54+ # needed to build and test the project
55+ test = [" cython>=3.1" , " setuptools" , " pytest>=6.2.4" ]
56+ test-cu11 = [" cuda-core[test]" , " cupy-cuda11x; python_version < '3.14'" , " cuda-toolkit[cudart]==11.*" ] # runtime headers needed by CuPy
57+ test-cu12 = [" cuda-core[test]" , " cupy-cuda12x; python_version < '3.14'" , " cuda-toolkit[cudart]==12.*" ] # runtime headers needed by CuPy
58+ test-cu13 = [" cuda-core[test]" , " cupy-cuda13x; python_version < '3.14'" , " cuda-toolkit[cudart]==13.*" ] # runtime headers needed by CuPy
59+ # free threaded build, cupy doesn't support free-threaded builds yet, so avoid installing it for now
60+ # TODO: cupy should support free threaded builds
61+ test-cu13-ft = [" cuda-core[test]" , " cuda-toolkit[cudart]==13.*" ]
5462
5563[project .urls ]
5664homepage = " https://nvidia.github.io/cuda-python/"
@@ -95,9 +103,9 @@ select = [
95103]
96104
97105ignore = [
98- " UP007" ,
106+ " UP007" ,
99107 " E741" , # ambiguous variable name such as I
100- " B007" , # rename unsued loop variable to _name
108+ " B007" , # rename unsued loop variable to _name
101109 " UP035" # UP006, UP007, UP035 complain about deprecated Typing.<type> use, but disregard backward compatibility of python version
102110]
103111
@@ -106,3 +114,17 @@ exclude = ["cuda/core/_version.py"]
106114[tool .ruff .lint .per-file-ignores ]
107115"__init__.py" = [" F401" ]
108116"setup.py" = [" F401" ]
117+
118+ [tool .cibuildwheel ]
119+ skip = " *-musllinux_*"
120+ enable = " cpython-freethreading"
121+ build-verbosity = 1
122+ environment-pass = [" CUDA_PYTHON_PARALLEL_LEVEL" ]
123+
124+ [tool .cibuildwheel .linux ]
125+ archs = " native"
126+
127+ [tool .cibuildwheel .windows ]
128+ archs = " AMD64"
129+ before-build = " pip install delvewheel"
130+ repair-wheel-command = " delvewheel repair --namespace-pkg cuda -w {dest_dir} {wheel}"
0 commit comments