Skip to content

api: plan for narwhals.stable.v2 #1656

Closed
@MarcoGorelli

Description

@MarcoGorelli

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 as nw.cum_sum) will be left out. This will include Polars.LazyFrame, DuckDBPyRelation, pyspark.DataFrame, ibis.Table, dask.DataFrame
  • 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions