From 62119977f556b63862ce8683c1a1da612333bbbf Mon Sep 17 00:00:00 2001 From: Gil Forsyth Date: Tue, 24 Feb 2026 15:00:27 -0500 Subject: [PATCH 1/3] feat: add support for Python 3.14 --- .github/workflows/build-ucxx.yaml | 2 +- .github/workflows/build.yaml | 10 +++++----- .github/workflows/pr.yaml | 14 +++++++------- .github/workflows/test-ucxx.yaml | 2 +- .github/workflows/test.yaml | 4 ++-- .../workflows/trigger-breaking-change-alert.yaml | 2 +- conda/environments/all_cuda-129_arch-aarch64.yaml | 2 +- conda/environments/all_cuda-129_arch-x86_64.yaml | 2 +- conda/environments/all_cuda-131_arch-aarch64.yaml | 2 +- conda/environments/all_cuda-131_arch-x86_64.yaml | 2 +- dependencies.yaml | 6 +++++- pyproject.toml | 1 + 12 files changed, 27 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-ucxx.yaml b/.github/workflows/build-ucxx.yaml index cd6c0db6..38115263 100644 --- a/.github/workflows/build-ucxx.yaml +++ b/.github/workflows/build-ucxx.yaml @@ -55,7 +55,7 @@ concurrency: jobs: conda-python-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@python-3.14 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b371fb5e..d4327cb8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -35,7 +35,7 @@ concurrency: jobs: conda-python-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@python-3.14 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -47,7 +47,7 @@ jobs: if: github.ref_type == 'branch' needs: [conda-python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@python-3.14 with: arch: "amd64" branch: ${{ inputs.branch }} @@ -60,7 +60,7 @@ jobs: upload-conda: needs: [conda-python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@python-3.14 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -68,7 +68,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@python-3.14 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -88,7 +88,7 @@ jobs: wheel-publish: needs: wheel-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@python-3.14 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index b7dae57e..9f5d204c 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -18,7 +18,7 @@ jobs: - wheel-tests - telemetry-setup secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@python-3.14 with: needs: ${{ toJSON(needs) }} telemetry-setup: @@ -51,13 +51,13 @@ jobs: checks: secrets: inherit needs: telemetry-setup - uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@python-3.14 with: ignored_pr_jobs: telemetry-summarize conda-python-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@python-3.14 with: build_type: pull-request script: ci/build_python.sh @@ -65,14 +65,14 @@ jobs: conda-python-tests: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@python-3.14 with: build_type: pull-request script: ci/test_python.sh docs-build: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@python-3.14 with: build_type: pull-request node_type: "gpu-l4-latest-1" @@ -82,7 +82,7 @@ jobs: wheel-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@python-3.14 with: build_type: pull-request script: "ci/build_wheel.sh" @@ -97,7 +97,7 @@ jobs: wheel-tests: needs: wheel-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@python-3.14 with: build_type: pull-request script: "ci/test_wheel.sh" diff --git a/.github/workflows/test-ucxx.yaml b/.github/workflows/test-ucxx.yaml index 05a2d7c6..62c194e5 100644 --- a/.github/workflows/test-ucxx.yaml +++ b/.github/workflows/test-ucxx.yaml @@ -45,7 +45,7 @@ on: jobs: conda-python-ucxx-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@python-3.14 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index f8d3bedf..a3e7d9cd 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -25,7 +25,7 @@ on: jobs: conda-python-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@python-3.14 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -34,7 +34,7 @@ jobs: sha: ${{ inputs.sha }} wheel-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@python-3.14 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/trigger-breaking-change-alert.yaml b/.github/workflows/trigger-breaking-change-alert.yaml index c471e2a1..680142fe 100644 --- a/.github/workflows/trigger-breaking-change-alert.yaml +++ b/.github/workflows/trigger-breaking-change-alert.yaml @@ -12,7 +12,7 @@ jobs: trigger-notifier: if: contains(github.event.pull_request.labels.*.name, 'breaking') secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@main + uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@python-3.14 with: sender_login: ${{ github.event.sender.login }} sender_avatar: ${{ github.event.sender.avatar_url }} diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml index 6fd15954..a5617c1e 100644 --- a/conda/environments/all_cuda-129_arch-aarch64.yaml +++ b/conda/environments/all_cuda-129_arch-aarch64.yaml @@ -23,7 +23,7 @@ dependencies: - pytest-cov - pytest-rerunfailures!=16.0.0 - pytest-timeout -- python>=3.11,<3.14 +- python>=3.11 - rapids-build-backend>=0.4.0,<0.5.0 - rapids-dask-dependency==26.4.*,>=0.0.0a0 - setuptools>=77.0.0 diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml index 0288ad27..1fad0c77 100644 --- a/conda/environments/all_cuda-129_arch-x86_64.yaml +++ b/conda/environments/all_cuda-129_arch-x86_64.yaml @@ -23,7 +23,7 @@ dependencies: - pytest-cov - pytest-rerunfailures!=16.0.0 - pytest-timeout -- python>=3.11,<3.14 +- python>=3.11 - rapids-build-backend>=0.4.0,<0.5.0 - rapids-dask-dependency==26.4.*,>=0.0.0a0 - setuptools>=77.0.0 diff --git a/conda/environments/all_cuda-131_arch-aarch64.yaml b/conda/environments/all_cuda-131_arch-aarch64.yaml index 1fdc37fd..a3224c5e 100644 --- a/conda/environments/all_cuda-131_arch-aarch64.yaml +++ b/conda/environments/all_cuda-131_arch-aarch64.yaml @@ -23,7 +23,7 @@ dependencies: - pytest-cov - pytest-rerunfailures!=16.0.0 - pytest-timeout -- python>=3.11,<3.14 +- python>=3.11 - rapids-build-backend>=0.4.0,<0.5.0 - rapids-dask-dependency==26.4.*,>=0.0.0a0 - setuptools>=77.0.0 diff --git a/conda/environments/all_cuda-131_arch-x86_64.yaml b/conda/environments/all_cuda-131_arch-x86_64.yaml index 40721b9e..0c1c618d 100644 --- a/conda/environments/all_cuda-131_arch-x86_64.yaml +++ b/conda/environments/all_cuda-131_arch-x86_64.yaml @@ -23,7 +23,7 @@ dependencies: - pytest-cov - pytest-rerunfailures!=16.0.0 - pytest-timeout -- python>=3.11,<3.14 +- python>=3.11 - rapids-build-backend>=0.4.0,<0.5.0 - rapids-dask-dependency==26.4.*,>=0.0.0a0 - setuptools>=77.0.0 diff --git a/dependencies.yaml b/dependencies.yaml index e280369d..17af437e 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -180,8 +180,12 @@ dependencies: packages: - python=3.13 - matrix: + py: "3.14" packages: - - python>=3.11,<3.14 + - python=3.14 + - matrix: + packages: + - python>=3.11 run_python: common: - output_types: [conda, requirements, pyproject] diff --git a/pyproject.toml b/pyproject.toml index 5759977a..db53c8c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,6 +35,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] [project.scripts] From a285c436098f8a37497701e5698182741504a6e2 Mon Sep 17 00:00:00 2001 From: Gil Forsyth Date: Fri, 27 Feb 2026 10:35:51 -0500 Subject: [PATCH 2/3] filter warning that is breaking clusters in test --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index db53c8c4..34abe1eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -150,6 +150,9 @@ filterwarnings = [ "error::FutureWarning", # remove after https://github.com/rapidsai/dask-cuda/issues/1087 is closed "ignore:There is no current event loop:DeprecationWarning:tornado", + # asyncio.iscoroutinefunction() is deprecated since Python 3.14 + # fix is upstream in rapidsai/ucxx#599 but testing here + "ignore:'asyncio.iscoroutinefunction' is deprecated:DeprecationWarning", ] [tool.rapids-build-backend] From 4a8ee616eb9205f337f10dbe37b5c2e5a797f5df Mon Sep 17 00:00:00 2001 From: Gil Forsyth Date: Fri, 27 Feb 2026 11:38:22 -0500 Subject: [PATCH 3/3] chore: remove warning suppression --- pyproject.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 34abe1eb..db53c8c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -150,9 +150,6 @@ filterwarnings = [ "error::FutureWarning", # remove after https://github.com/rapidsai/dask-cuda/issues/1087 is closed "ignore:There is no current event loop:DeprecationWarning:tornado", - # asyncio.iscoroutinefunction() is deprecated since Python 3.14 - # fix is upstream in rapidsai/ucxx#599 but testing here - "ignore:'asyncio.iscoroutinefunction' is deprecated:DeprecationWarning", ] [tool.rapids-build-backend]