Skip to content

Commit 15a4e1e

Browse files
committed
Remove legacy conversion functions
1 parent 77d0f89 commit 15a4e1e

File tree

3 files changed

+9
-66
lines changed

3 files changed

+9
-66
lines changed

dask_expr/_backends.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
import pandas as pd
55
from dask.backends import CreationDispatch
66
from dask.dataframe.backends import DataFrameBackendEntrypoint
7-
from dask.dataframe.dispatch import to_pandas_dispatch
7+
from dask.dataframe.dispatch import get_parallel_type, to_pandas_dispatch
88

9+
from dask_expr import FrameBase
910
from dask_expr._dispatch import get_collection_type
1011
from dask_expr._expr import ToBackend
1112

@@ -130,3 +131,8 @@ def get_collection_type_object(_):
130131
@get_collection_type.register_lazy("cudf")
131132
def _register_cudf():
132133
import dask_cudf # noqa: F401
134+
135+
136+
@get_parallel_type.register(FrameBase)
137+
def get_parallel_type_frame(o):
138+
return get_parallel_type(o._meta)

dask_expr/_collection.py

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
from dask.dataframe.core import (
2424
_concat,
2525
_convert_to_numeric,
26-
_Frame,
2726
_repr_data_series,
2827
_sqrt_and_convert_to_timedelta,
2928
check_divisions,
@@ -32,7 +31,6 @@
3231
is_dataframe_like,
3332
is_series_like,
3433
meta_warning,
35-
new_dd_object,
3634
)
3735
from dask.dataframe.dispatch import is_categorical_dtype, make_meta, meta_nonempty
3836
from dask.dataframe.multi import warn_dtype_mismatch
@@ -1370,25 +1368,6 @@ def repartition(
13701368
Repartition(self, npartitions, divisions, force, partition_size, freq)
13711369
)
13721370

1373-
def to_legacy_dataframe(self, optimize: bool = True, **optimize_kwargs) -> _Frame:
1374-
"""Convert to a legacy dask-dataframe collection
1375-
1376-
Parameters
1377-
----------
1378-
optimize
1379-
Whether to optimize the underlying `Expr` object before conversion.
1380-
**optimize_kwargs
1381-
Key-word arguments to pass through to `optimize`.
1382-
"""
1383-
warnings.warn(
1384-
"to_legacy_dataframe is deprecated and will be removed in a future release. "
1385-
"The legacy implementation as a whole is deprecated and will be removed, making "
1386-
"this method unnecessary.",
1387-
FutureWarning,
1388-
)
1389-
df = self.optimize(**optimize_kwargs) if optimize else self
1390-
return new_dd_object(df.dask, df._name, df._meta, df.divisions)
1391-
13921371
def to_dask_array(
13931372
self, lengths=None, meta=None, optimize: bool = True, **optimize_kwargs
13941373
) -> Array:
@@ -5052,28 +5031,6 @@ def from_dict(
50525031
)
50535032

50545033

5055-
def from_legacy_dataframe(ddf: _Frame, optimize: bool = True) -> FrameBase:
5056-
"""Create a dask-expr collection from a legacy dask-dataframe collection
5057-
5058-
Parameters
5059-
----------
5060-
optimize
5061-
Whether to optimize the graph before conversion.
5062-
"""
5063-
warnings.warn(
5064-
"from_legacy_dataframe is deprecated and will be removed in a future release. "
5065-
"The legacy implementation as a whole is deprecated and will be removed, making "
5066-
"this method unnecessary.",
5067-
FutureWarning,
5068-
)
5069-
graph = ddf.dask
5070-
if optimize:
5071-
graph = ddf.__dask_optimize__(graph, ddf.__dask_keys__())
5072-
return from_graph(
5073-
graph, ddf._meta, ddf.divisions, ddf.__dask_keys__(), key_split(ddf._name)
5074-
)
5075-
5076-
50775034
def from_dask_array(x, columns=None, index=None, meta=None):
50785035
"""Create a Dask DataFrame from a Dask Array.
50795036
@@ -5809,7 +5766,7 @@ def merge_asof(
58095766
del kwargs["on"]
58105767

58115768
for o in [left_on, right_on]:
5812-
if isinstance(o, _Frame):
5769+
if isinstance(o, FrameBase):
58135770
raise NotImplementedError(
58145771
"Dask collections not currently allowed in merge columns"
58155772
)

dask_expr/io/tests/test_io.py

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@
1515
from_array,
1616
from_dask_array,
1717
from_dict,
18-
from_legacy_dataframe,
1918
from_map,
2019
from_pandas,
2120
optimize,
2221
read_csv,
2322
read_parquet,
2423
)
25-
from dask_expr._expr import Expr, Replace
24+
from dask_expr._expr import Replace
2625
from dask_expr.io import FromArray, FromMap, ReadCSV, ReadParquet, parquet
2726
from dask_expr.tests._util import _backend_library
2827

@@ -227,25 +226,6 @@ def test_parquet_complex_filters(tmpdir):
227226
assert_eq(got.optimize(), expect)
228227

229228

230-
@pytest.mark.parametrize("optimize", [True, False])
231-
def test_from_legacy_dataframe(optimize):
232-
ddf = dd.from_dict({"a": range(100)}, npartitions=10)
233-
with pytest.warns(FutureWarning, match="is deprecated"):
234-
df = from_legacy_dataframe(ddf, optimize=optimize)
235-
assert isinstance(df.expr, Expr)
236-
assert_eq(df, ddf)
237-
238-
239-
@pytest.mark.parametrize("optimize", [True, False])
240-
def test_to_legacy_dataframe(optimize):
241-
pdf = pd.DataFrame({"x": [1, 4, 3, 2, 0, 5]})
242-
df = from_pandas(pdf, npartitions=2)
243-
with pytest.warns(FutureWarning, match="is deprecated"):
244-
ddf = df.to_legacy_dataframe(optimize=optimize)
245-
assert isinstance(ddf, dd.core.DataFrame)
246-
assert_eq(df, ddf)
247-
248-
249229
@pytest.mark.parametrize("optimize", [True, False])
250230
def test_to_dask_array(optimize):
251231
pdf = pd.DataFrame({"x": [1, 4, 3, 2, 0, 5]})

0 commit comments

Comments
 (0)