Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,10 @@ jobs:
package-name: kvikio
package-type: python
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
# Build a wheel for each CUDA x ARCH x PY_VER (3.10 and 3.11)
# When we drop Python 3.10, this can be simplified to:
# matrix_filter: map(select(.PY_VER == "3.11")) | unique_by({CUDA_VER, ARCH})
matrix_filter: map(select(.PY_VER == "3.11" or .PY_VER == "3.10")) | unique_by({CUDA_VER, ARCH, PY_VER})
wheel-python-tests:
needs: [wheel-python-build, changed-files]
secrets: inherit
Expand Down
8 changes: 7 additions & 1 deletion ci/build_wheel_python.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION.
# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0

set -euo pipefail
Expand All @@ -26,3 +26,9 @@ python -m auditwheel repair \
${package_dir}/dist/*

./ci/validate_wheel.sh ${package_dir} "${RAPIDS_WHEEL_BLD_OUTPUT_DIR}"

# Only use stable ABI package naming for Python >= 3.11
if [[ "${RAPIDS_PY_VERSION}" != "3.10" ]]; then
RAPIDS_PACKAGE_NAME="$(rapids-package-name wheel_python kvikio --stable --cuda)"
export RAPIDS_PACKAGE_NAME
fi
10 changes: 8 additions & 2 deletions ci/test_wheel.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION.
# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0

set -eou pipefail
Expand All @@ -10,7 +10,13 @@ RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"

# Download and install the libkvikio and kvikio wheels built in the previous step
LIBKVIKIO_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libkvikio_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github cpp)
KVIKIO_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="kvikio_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github python)


if [[ "${RAPIDS_PY_VERSION}" != "3.10" ]]; then
KVIKIO_WHEELHOUSE=$(rapids-download-from-github "$(rapids-package-name "wheel_python" kvikio --stable --cuda "$RAPIDS_CUDA_VERSION")")
else
KVIKIO_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="kvikio_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github python)
fi

rapids-pip-retry install -v \
"$(echo "${LIBKVIKIO_WHEELHOUSE}"/libkvikio_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)" \
Expand Down
6 changes: 5 additions & 1 deletion python/kvikio/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION. All rights reserved.
# SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

[build-system]
Expand Down Expand Up @@ -118,6 +118,10 @@ provider = "scikit_build_core.metadata.regex"
input = "kvikio/VERSION"
regex = "(?P<value>.*)"

[[tool.scikit-build.overrides]]
if.python-version = ">=3.11"
wheel.py-api = "cp311"

[tool.pydistcheck]
select = [
"distro-too-large-compressed",
Expand Down