Closed
Description
I think we can aim for narwhals.stable.v2
some time in 2025
The main things I'd like to achieve are:
- remove "interchange" level of support, and instead only have:
- "full": must support
Series
and have a defined row order (pandas, polars.DataFrame, pyarrow.Table, modin.DataFrame, cudf.DataFrame) - "lazy": must support
collect
, adding/removing/subsetting columns, filtering rows. Initially, at least, row-order-dependent operations (such asnw.cum_sum
) will be left out. This will include Polars.LazyFrame, DuckDBPyRelation, pyspark.DataFrame, ibis.Table, dask.DataFrame
- "full": must support
- make the breaking changes listed in breaking changes
Candidate changes:
- rework
from_native
. It will get simpler once we remove interchange-level things, but it's still fairly complicated. Not sure how much I like it to be completely honest
Usage of narwhals.stable.v1
should remain unaffected