12
12
import datashader .utils as du
13
13
14
14
import pytest
15
- from datashader .tests .utils import dask_switcher
16
15
from datashader .tests .test_pandas import _pandas
17
16
18
17
try :
34
33
pytestmark = pytest .importorskip ("dask" )
35
34
36
35
37
-
38
- @dask_switcher (query = False )
39
36
def _dask ():
40
37
return dd .from_pandas (_pandas (), npartitions = 2 )
41
38
42
- @dask_switcher (query = True )
43
- def _dask_expr ():
44
- return dd .from_pandas (_pandas (), npartitions = 2 )
45
39
46
- @dask_switcher (query = False , extras = ["dask_cudf" ])
47
40
def _dask_cudf ():
48
41
import dask_cudf
42
+
49
43
_dask = dd .from_pandas (_pandas (), npartitions = 2 )
50
44
if Version (dask_cudf .__version__ ) >= Version ("24.06" ):
51
45
return _dask .to_backend ("cudf" )
52
46
else :
53
47
return dask_cudf .from_dask_dataframe (_dask )
54
48
55
- @dask_switcher (query = True , extras = ["dask_cudf" ])
56
- def _dask_expr_cudf ():
57
- import dask_cudf
58
- if Version (dask_cudf .__version__ ) < Version ("24.06" ):
59
- pytest .skip ("dask-expr requires dask-cudf 24.06 or later" )
60
- _dask = dd .from_pandas (_pandas (), npartitions = 2 )
61
- return _dask .to_backend ("cudf" )
62
49
63
50
_backends = [
64
51
pytest .param (_dask , id = "dask" ),
65
- pytest .param (_dask_expr , id = "dask-expr" ),
66
52
pytest .param (_dask_cudf , marks = pytest .mark .gpu , id = "dask-cudf" ),
67
- pytest .param (_dask_expr_cudf , marks = pytest .mark .gpu , id = "dask-expr-cudf" ),
68
53
]
69
54
55
+
70
56
@pytest .fixture (params = _backends )
71
57
def ddf (request ):
72
58
return request .param ()
@@ -76,7 +62,7 @@ def ddf(request):
76
62
def npartitions (request ):
77
63
return request .param
78
64
79
- @ dask_switcher ( query = False )
65
+
80
66
def _dask_DataFrame (* args , ** kwargs ):
81
67
if kwargs .pop ("geo" , False ):
82
68
df = sp .GeoDataFrame (* args , ** kwargs )
@@ -85,53 +71,21 @@ def _dask_DataFrame(*args, **kwargs):
85
71
return dd .from_pandas (df , npartitions = 2 )
86
72
87
73
88
- @dask_switcher (query = True )
89
- def _dask_expr_DataFrame (* args , ** kwargs ):
90
- if kwargs .pop ("geo" , False ):
91
- pytest .skip ("dask-expr currently does not work with spatialpandas" )
92
- # df = sp.GeoDataFrame(*args, **kwargs)
93
- else :
94
- df = pd .DataFrame (* args , ** kwargs )
95
- return dd .from_pandas (df , npartitions = 2 )
96
-
97
-
98
- @dask_switcher (query = False , extras = ["dask_cudf" ])
99
74
def _dask_cudf_DataFrame (* args , ** kwargs ):
100
75
import cudf
101
76
import dask_cudf
102
- if kwargs .pop ("geo" , False ):
103
- # As of dask-cudf version 24.06, dask-cudf is not
104
- # compatible with spatialpandas version 0.4.10
105
- pytest .skip ("dask-cudf currently does not work with spatialpandas" )
106
- cdf = cudf .DataFrame .from_pandas (
107
- pd .DataFrame (* args , ** kwargs ), nan_as_null = False
108
- )
109
- return dask_cudf .from_cudf (cdf , npartitions = 2 )
110
-
111
-
112
- @dask_switcher (query = True , extras = ["dask_cudf" ])
113
- def _dask_expr_cudf_DataFrame (* args , ** kwargs ):
114
- import cudf
115
- import dask_cudf
116
-
117
- if Version (dask_cudf .__version__ ) < Version ("24.06" ):
118
- pytest .skip ("dask-expr requires dask-cudf 24.06 or later" )
119
77
120
78
if kwargs .pop ("geo" , False ):
121
79
# As of dask-cudf version 24.06, dask-cudf is not
122
80
# compatible with spatialpandas version 0.4.10
123
81
pytest .skip ("dask-cudf currently does not work with spatialpandas" )
124
- cdf = cudf .DataFrame .from_pandas (
125
- pd .DataFrame (* args , ** kwargs ), nan_as_null = False
126
- )
82
+ cdf = cudf .DataFrame .from_pandas (pd .DataFrame (* args , ** kwargs ), nan_as_null = False )
127
83
return dask_cudf .from_cudf (cdf , npartitions = 2 )
128
84
129
85
130
86
_backends = [
131
87
pytest .param (_dask_DataFrame , id = "dask" ),
132
- pytest .param (_dask_expr_DataFrame , id = "dask-expr" ),
133
88
pytest .param (_dask_cudf_DataFrame , marks = pytest .mark .gpu , id = "dask-cudf" ),
134
- pytest .param (_dask_expr_cudf_DataFrame , marks = pytest .mark .gpu , id = "dask-expr-cudf" ),
135
89
]
136
90
137
91
@pytest .fixture (params = _backends )
@@ -163,25 +117,6 @@ def floats(n):
163
117
n = n + np .spacing (n )
164
118
165
119
166
- @pytest .mark .gpu
167
- def test_check_query_setting ():
168
- import os
169
- from subprocess import check_output , SubprocessError
170
-
171
- # dask-cudf does not support query planning as of 24.04.
172
- # So we check that it is not set outside of Python.
173
- assert os .environ .get ('DASK_DATAFRAME__QUERY_PLANNING' , 'false' ).lower () != 'true'
174
-
175
- # This also have problem with the global setting so we check
176
- try :
177
- cmd = ['dask' , 'config' , 'get' , 'dataframe.query-planning' ]
178
- output = check_output (cmd , text = True ).strip ().lower ()
179
- assert output != 'true'
180
- except SubprocessError :
181
- # Newer version will error out if not set
182
- pass
183
-
184
-
185
120
def test_count (ddf , npartitions ):
186
121
ddf = ddf .repartition (npartitions = npartitions )
187
122
assert ddf .npartitions == npartitions
@@ -1236,7 +1171,6 @@ def test_log_axis_points(ddf):
1236
1171
1237
1172
1238
1173
@pytest .mark .skipif (not sp , reason = "spatialpandas not installed" )
1239
- @dask_switcher (query = False , extras = ["spatialpandas.dask" ])
1240
1174
def test_points_geometry ():
1241
1175
axis = ds .core .LinearAxis ()
1242
1176
lincoords = axis .compute_index (axis .compute_scale_and_translate ((0. , 2. ), 3 ), 3 )
@@ -1257,7 +1191,6 @@ def test_points_geometry():
1257
1191
assert_eq_xr (agg , out )
1258
1192
1259
1193
1260
- @dask_switcher (query = False , extras = ["spatialpandas.dask" ])
1261
1194
def test_line (DataFrame ):
1262
1195
axis = ds .core .LinearAxis ()
1263
1196
lincoords = axis .compute_index (axis .compute_scale_and_translate ((- 3. , 3. ), 7 ), 7 )
@@ -1339,7 +1272,6 @@ def test_line(DataFrame):
1339
1272
}, dtype = 'Line[int64]' ), dict (geometry = 'geom' ))
1340
1273
)
1341
1274
1342
- @dask_switcher (query = False , extras = ["spatialpandas.dask" ])
1343
1275
@pytest .mark .parametrize ('df_kwargs,cvs_kwargs' , line_manual_range_params [5 :7 ])
1344
1276
def test_line_manual_range (DataFrame , df_kwargs , cvs_kwargs , request ):
1345
1277
if "cudf" in request .node .name :
@@ -1452,7 +1384,6 @@ def test_line_manual_range(DataFrame, df_kwargs, cvs_kwargs, request):
1452
1384
}, dtype = 'Line[int64]' ), dict (geometry = 'geom' ))
1453
1385
)
1454
1386
1455
- @dask_switcher (query = False , extras = ["spatialpandas.dask" ])
1456
1387
@pytest .mark .parametrize ('df_kwargs,cvs_kwargs' , line_autorange_params )
1457
1388
def test_line_autorange (DataFrame , df_kwargs , cvs_kwargs , request ):
1458
1389
if "cudf" in request .node .name :
@@ -1621,7 +1552,7 @@ def test_auto_range_line(DataFrame):
1621
1552
}, dtype = 'Ragged[float32]' ), dict (x = 'x' , y = 'y' , axis = 1 ))
1622
1553
])
1623
1554
def test_area_to_zero_fixedrange (DataFrame , df_kwargs , cvs_kwargs ):
1624
- if DataFrame in ( _dask_cudf_DataFrame , _dask_expr_cudf_DataFrame ) :
1555
+ if DataFrame == _dask_cudf_DataFrame :
1625
1556
if df_kwargs .get ('dtype' , '' ).startswith ('Ragged' ):
1626
1557
pytest .skip ("Ragged array not supported with cudf" )
1627
1558
@@ -1713,7 +1644,7 @@ def test_area_to_zero_fixedrange(DataFrame, df_kwargs, cvs_kwargs):
1713
1644
}, dtype = 'Ragged[float32]' ), dict (x = 'x' , y = 'y' , axis = 1 ))
1714
1645
])
1715
1646
def test_area_to_zero_autorange (DataFrame , df_kwargs , cvs_kwargs ):
1716
- if DataFrame in ( _dask_cudf_DataFrame , _dask_expr_cudf_DataFrame ) :
1647
+ if DataFrame == _dask_cudf_DataFrame :
1717
1648
if df_kwargs .get ('dtype' , '' ).startswith ('Ragged' ):
1718
1649
pytest .skip ("Ragged array not supported with cudf" )
1719
1650
@@ -1790,7 +1721,7 @@ def test_area_to_zero_autorange(DataFrame, df_kwargs, cvs_kwargs):
1790
1721
}, dtype = 'Ragged[float32]' ), dict (x = 'x' , y = 'y' , axis = 1 ))
1791
1722
])
1792
1723
def test_area_to_zero_autorange_gap (DataFrame , df_kwargs , cvs_kwargs ):
1793
- if DataFrame in ( _dask_cudf_DataFrame , _dask_expr_cudf_DataFrame ) :
1724
+ if DataFrame == _dask_cudf_DataFrame :
1794
1725
if df_kwargs .get ('dtype' , '' ).startswith ('Ragged' ):
1795
1726
pytest .skip ("Ragged array not supported with cudf" )
1796
1727
@@ -1893,7 +1824,7 @@ def test_area_to_zero_autorange_gap(DataFrame, df_kwargs, cvs_kwargs):
1893
1824
}, dtype = 'Ragged[float32]' ), dict (x = 'x' , y = 'y' , y_stack = 'y_stack' , axis = 1 ))
1894
1825
])
1895
1826
def test_area_to_line_autorange (DataFrame , df_kwargs , cvs_kwargs ):
1896
- if DataFrame in ( _dask_cudf_DataFrame , _dask_expr_cudf_DataFrame ) :
1827
+ if DataFrame == _dask_cudf_DataFrame :
1897
1828
if df_kwargs .get ('dtype' , '' ).startswith ('Ragged' ):
1898
1829
pytest .skip ("Ragged array not supported with cudf" )
1899
1830
@@ -1980,7 +1911,7 @@ def test_area_to_line_autorange(DataFrame, df_kwargs, cvs_kwargs):
1980
1911
}, dtype = 'Ragged[float32]' ), dict (x = 'x' , y = 'y' , y_stack = 'y_stack' , axis = 1 ))
1981
1912
])
1982
1913
def test_area_to_line_autorange_gap (DataFrame , df_kwargs , cvs_kwargs ):
1983
- if DataFrame in ( _dask_cudf_DataFrame , _dask_expr_cudf_DataFrame ) :
1914
+ if DataFrame == _dask_cudf_DataFrame :
1984
1915
if df_kwargs .get ('dtype' , '' ).startswith ('Ragged' ):
1985
1916
pytest .skip ("Ragged array not supported with cudf" )
1986
1917
0 commit comments