From 0556701708c403d2203c055ba99345a46ac97535 Mon Sep 17 00:00:00 2001 From: Tom Augspurger Date: Tue, 18 Feb 2025 17:05:07 -0600 Subject: [PATCH] Compatibility with dask.dataframe's `is_scalar` (#18030) Makes the import of dask dataframe's `is_scalar` dependent on the dask version. Closes https://github.com/rapidsai/cudf/issues/18028 Authors: - Tom Augspurger (https://github.com/TomAugspurger) Approvers: - Benjamin Zaitlen (https://github.com/quasiben) - Matthew Murray (https://github.com/Matt711) URL: https://github.com/rapidsai/cudf/pull/18030 --- python/dask_cudf/dask_cudf/_expr/__init__.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/python/dask_cudf/dask_cudf/_expr/__init__.py b/python/dask_cudf/dask_cudf/_expr/__init__.py index 1f757476ce5..e8051eedafb 100644 --- a/python/dask_cudf/dask_cudf/_expr/__init__.py +++ b/python/dask_cudf/dask_cudf/_expr/__init__.py @@ -1,5 +1,9 @@ # Copyright (c) 2024-2025, NVIDIA CORPORATION. +import importlib.metadata + +from packaging.version import Version + import dask import dask.dataframe.dask_expr._shuffle as _shuffle_module from dask.dataframe import get_collection_type @@ -34,7 +38,6 @@ from dask.dataframe.dask_expr._util import ( _convert_to_list, _raise_if_object_series, - is_scalar, ) from dask.dataframe.dask_expr.io.io import ( FusedIO, @@ -46,6 +49,18 @@ ReadParquetPyarrowFS, ) +_dask_version = importlib.metadata.version("dask") + +# TODO: change ">2025.2.0" to ">={next-version}" when released. +DASK_2025_3_0 = Version(_dask_version) > Version("2025.2.0") + + +if DASK_2025_3_0: + from dask.dataframe.utils import is_scalar +else: + from dask.dataframe.dask_expr._util import is_scalar + + __all__ = [ "CumulativeBlockwise", "DXDataFrame",