From 71a53ef8bcf0bf216b16033b0e70311ffe6b182b Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Tue, 12 May 2026 18:22:12 +0000 Subject: [PATCH 1/6] Remove cudf-polars[rapidsmpf] pip extra --- python/cudf_polars/pyproject.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/python/cudf_polars/pyproject.toml b/python/cudf_polars/pyproject.toml index 7c21055d0b4..3439754edaf 100644 --- a/python/cudf_polars/pyproject.toml +++ b/python/cudf_polars/pyproject.toml @@ -59,10 +59,6 @@ experimental = [ trace = [ "structlog", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. -rapidsmpf = [ - "pyarrow>=19.0.0,<24", - "rapidsmpf==26.6.*,>=0.0.0a0", -] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. ray = [ "ray>=2.55.1", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. From d35ff78a1f8f53c69cf4a35644ff9ab10d9ee88d Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Tue, 12 May 2026 18:42:57 +0000 Subject: [PATCH 2/6] Remove numpy as test dependency --- dependencies.yaml | 1 - python/cudf_polars/pyproject.toml | 1 - .../cudf_polars/tests/experimental/test_allgather.py | 11 +++++++++-- .../cudf_polars/tests/experimental/test_spilling.py | 9 ++++++--- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 5cb3cf19405..6f7be478974 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -359,7 +359,6 @@ files: includes: - cuda_version - depends_on_dask_cuda - - numpy_run - test_python_common - test_python_cudf_polars - cudf_polars_trace diff --git a/python/cudf_polars/pyproject.toml b/python/cudf_polars/pyproject.toml index 3439754edaf..b530db353e2 100644 --- a/python/cudf_polars/pyproject.toml +++ b/python/cudf_polars/pyproject.toml @@ -43,7 +43,6 @@ classifiers = [ [project.optional-dependencies] test = [ "dask-cuda==26.6.*,>=0.0.0a0", - "numpy>=1.26,<3.0", "pytest", "pytest-cov", "pytest-httpserver", diff --git a/python/cudf_polars/tests/experimental/test_allgather.py b/python/cudf_polars/tests/experimental/test_allgather.py index 52c353044eb..3a68b3f3988 100644 --- a/python/cudf_polars/tests/experimental/test_allgather.py +++ b/python/cudf_polars/tests/experimental/test_allgather.py @@ -7,9 +7,10 @@ import asyncio -import numpy as np from rapidsmpf.streaming.cudf.table_chunk import TableChunk +import polars as pl + import pylibcudf as plc from cudf_polars.experimental.rapidsmpf.collectives.allgather import AllGatherManager @@ -24,7 +25,13 @@ async def _test_allgather(engine) -> None: # Create simple test tables with different sizes tables = [ - plc.Table([plc.Column.from_array(np.full(num_elements, i).astype(np.int32))]) + plc.Table( + [ + plc.Column.from_arrow( + pl.Series([i] * num_elements, dtype=pl.Int32()), stream=stream + ) + ] + ) for i, num_elements in enumerate([100, 200, 300]) ] diff --git a/python/cudf_polars/tests/experimental/test_spilling.py b/python/cudf_polars/tests/experimental/test_spilling.py index 7f79b911038..ef2f555c7b2 100644 --- a/python/cudf_polars/tests/experimental/test_spilling.py +++ b/python/cudf_polars/tests/experimental/test_spilling.py @@ -5,9 +5,9 @@ from __future__ import annotations +import random from typing import TYPE_CHECKING -import numpy as np import pytest from rapidsmpf.memory.buffer import MemoryType from rapidsmpf.memory.pinned_memory_resource import is_pinned_memory_resources_supported @@ -15,6 +15,8 @@ from rapidsmpf.streaming.core.spillable_messages import SpillableMessages from rapidsmpf.streaming.cudf.table_chunk import TableChunk +import polars as pl + import pylibcudf as plc from cudf_polars.experimental.rapidsmpf.frontend.options import StreamingOptions @@ -31,8 +33,9 @@ def create_test_table(nbytes: int, stream: Stream) -> plc.Table: assert nbytes % 4 == 0, "nbytes must be divisible by 4 for float32" # Create a simple table with one column of random float32 data num_elements = nbytes // 4 - data = np.random.random(num_elements).astype(np.float32) - return plc.Table([plc.Column.from_array(data, stream=stream)]) + rng = random.Random(42) + pl_data = pl.Series([rng.random() for _ in range(num_elements)], dtype=pl.Float32()) + return plc.Table([plc.Column.from_arrow(pl_data, stream=stream)]) @pytest.mark.parametrize( From 75bda63e1fd2b869324698cc98c167546be868d8 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Tue, 12 May 2026 18:57:02 +0000 Subject: [PATCH 3/6] Remove redundant nvidia-ml-py from experimental extra --- dependencies.yaml | 1 - python/cudf_polars/pyproject.toml | 1 - 2 files changed, 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 6f7be478974..69d17b91d55 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -827,7 +827,6 @@ dependencies: - output_types: [conda, requirements, pyproject] packages: - rapids-dask-dependency==26.6.*,>=0.0.0a0 - - *nvidia_ml_py run_dask_cudf: common: - output_types: [conda, requirements, pyproject] diff --git a/python/cudf_polars/pyproject.toml b/python/cudf_polars/pyproject.toml index b530db353e2..070552181e8 100644 --- a/python/cudf_polars/pyproject.toml +++ b/python/cudf_polars/pyproject.toml @@ -52,7 +52,6 @@ test = [ "zstandard", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. experimental = [ - "nvidia-ml-py>=12", "rapids-dask-dependency==26.6.*,>=0.0.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. trace = [ From e9ca204920272ffc5e505af54113ed11feaeae73 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Tue, 12 May 2026 20:58:43 +0000 Subject: [PATCH 4/6] Create dask pip extra alias for experimental --- dependencies.yaml | 13 +++++++++++-- python/cudf_polars/pyproject.toml | 3 +++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 69d17b91d55..2928fe85e42 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -334,6 +334,7 @@ files: - depends_on_rapidsmpf - depends_on_pylibcudf - depends_on_cuda_python + # TODO: Eventually remove this alias in favor of dask py_run_cudf_polars_experimental: output: pyproject pyproject_dir: python/cudf_polars @@ -341,7 +342,15 @@ files: table: project.optional-dependencies key: experimental includes: - - run_cudf_polars_experimental + - run_cudf_polars_dask + py_run_cudf_polars_dask: + output: pyproject + pyproject_dir: python/cudf_polars + extras: + table: project.optional-dependencies + key: dask + includes: + - run_cudf_polars_dask py_run_cudf_polars_ray: output: pyproject pyproject_dir: python/cudf_polars @@ -822,7 +831,7 @@ dependencies: - packaging - polars>=1.35,<1.39 - typing_extensions>=4.0.0 - run_cudf_polars_experimental: + run_cudf_polars_dask: common: - output_types: [conda, requirements, pyproject] packages: diff --git a/python/cudf_polars/pyproject.toml b/python/cudf_polars/pyproject.toml index 070552181e8..91867fb16eb 100644 --- a/python/cudf_polars/pyproject.toml +++ b/python/cudf_polars/pyproject.toml @@ -60,6 +60,9 @@ trace = [ ray = [ "ray>=2.55.1", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +dask = [ + "rapids-dask-dependency==26.6.*,>=0.0.0a0", +] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. [project.urls] Homepage = "https://github.com/rapidsai/cudf" From 557b005d416fdbdb19144a9e22a887fe6da7cdaa Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Tue, 12 May 2026 23:56:02 +0000 Subject: [PATCH 5/6] Change ci/test_wheel_cudf_polars.sh to dask extra --- ci/test_wheel_cudf_polars.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/test_wheel_cudf_polars.sh b/ci/test_wheel_cudf_polars.sh index da8a1f1c707..a1ff48ec656 100755 --- a/ci/test_wheel_cudf_polars.sh +++ b/ci/test_wheel_cudf_polars.sh @@ -30,7 +30,7 @@ rapids-pip-retry install \ -v \ --prefer-binary \ --constraint "${PIP_CONSTRAINT}" \ - "$(echo "${CUDF_POLARS_WHEELHOUSE}"/cudf_polars_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)[test,experimental]" \ + "$(echo "${CUDF_POLARS_WHEELHOUSE}"/cudf_polars_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)[test,dask]" \ "$(echo "${LIBCUDF_WHEELHOUSE}"/libcudf_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)" \ "$(echo "${PYLIBCUDF_WHEELHOUSE}"/pylibcudf_"${RAPIDS_PY_CUDA_SUFFIX}"*.whl)" From d6ba95ad2cbaa5be15dfb375c07ab90c34f6c322 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 13 May 2026 17:30:24 +0000 Subject: [PATCH 6/6] Add release timeline to remove experimental --- dependencies.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.yaml b/dependencies.yaml index 2928fe85e42..9e8d4db8c7a 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -334,7 +334,7 @@ files: - depends_on_rapidsmpf - depends_on_pylibcudf - depends_on_cuda_python - # TODO: Eventually remove this alias in favor of dask + # TODO(26.10): Remove this alias in favor of dask py_run_cudf_polars_experimental: output: pyproject pyproject_dir: python/cudf_polars